### 5.1.139 sqrfree

`Syntax:`
  `sqrfree (` poly_expression `)`
  `sqrfree (` poly_expression`, 0 )`
  `sqrfree (` poly_expression`, 2 )`
`Type:`
  list of ideal and intvec
`Syntax:`
  `sqrfree (` poly_expression`, 1 )`
`Type:`
  ideal
`Syntax:`
  `sqrfree (` poly_expression`, 3 )`
`Type:`
  poly
`Purpose:`
  computes the squarefree factors (as an ideal) of the polynomial together with or without the multiplicities (as an intvec) depending on the second argument:

          0: returns factors and multiplicities, first factor is a constant.
             May also be written with only one argument.
          1: returns non-constant factors (no multiplicities).
          2: returns non-constant factors and multiplicities.
          3: returns the product of non-constant factors, i.e. squarefree part

`Note:`
  Not implemented for the coefficient fields real and finite fields of type `(p^n,a)`.
`Example:`

        ring r=3,(x,y,z),dp;
        poly f=(x-y)^3*(x+z)*(y-z);
        sqrfree(f);
      ==> [1]:
      ==>    _[1]=1
      ==>    _[2]=-xy+xz-yz+z2
      ==>    _[3]=-x+y
      ==> [2]:
      ==>    1,1,3
        sqrfree(f,1);
      ==> _[1]=-xy+xz-yz+z2
      ==> _[2]=-x+y
        sqrfree(f,2);
      ==> [1]:
      ==>    _[1]=-xy+xz-yz+z2
      ==>    _[2]=-x+y
      ==> [2]:
      ==>    1,3
        sqrfree(f,3);
      ==> x2y-xy2-x2z-xyz-y2z-xz2+yz2

See factorize.

User manual for Singular version 4-0-3, 2016, generated by texi2html.