Go to the first, previous, next, last section, table of contents.

### `fctr`, `sqfr`

`fctr(poly)`
  :: Factorize polynomial poly over the rationals.
`sqfr(poly)`
  :: Gets a square-free factorization of polynomial poly.

return
  list
poly
  polynomial with rational coefficients

- Factorizes polynomial poly over the rationals. `fctr()` for irreducible factorization; `sqfr()` for square-free factorization.
- The result is represented by a list, whose elements are a pair represented as [[num,1],[factor,multiplicity],...].
- Products of all factor^multiplicity and num is equal to poly.
- The number num is determined so that (poly/num) is an integral polynomial and its content (GCD of all coefficients) is 1. (See section `ptozp`.)

    [0] fctr(x^10-1);
    [[1,1],[x-1,1],[x+1,1],[x^4+x^3+x^2+x+1,1],[x^4-x^3+x^2-x+1,1]]
    [1] fctr(x^3+y^3+(z/3)^3-x*y*z);
    [[1/27,1],[9*x^2+(-9*y-3*z)*x+9*y^2-3*z*y+z^2,1],[3*x+3*y+z,1]]
    [2] A=(a+b+c+d)^2;
    a^2+(2*b+2*c+2*d)*a+b^2+(2*c+2*d)*b+c^2+2*d*c+d^2
    [3] fctr(A);
    [[1,1],[a+b+c+d,2]]
    [4] A=(x+1)*(x^2-y^2)^2;
    x^5+x^4-2*y^2*x^3-2*y^2*x^2+y^4*x+y^4
    [5] sqfr(A);
    [[1,1],[x+1,1],[-x^2+y^2,2]]
    [6] fctr(A);
    [[1,1],[x+1,1],[-x-y,2],[x-y,2]]

`References`
  section `ufctrhint`.

Go to the first, previous, next, last section, table of contents.