#### D.6.15.18 squarefree

Procedure from library `hnoether.lib` (see hnoether_lib).

Usage:
  squarefree(f); f poly

Assume:
  f is a bivariate polynomial (in the first 2 ring variables).

Return:
  poly, a squarefree divisor of f.

Note:
  Usually, the return value is the greatest squarefree divisor, but there is one exception: factors with a p-th root, p the characteristic of the basering, are lost.

Example:

    LIB "hnoether.lib";
    ring exring=3,(x,y),dp;
    squarefree((x3+y)^2);
    ==> x3+y
    squarefree((x+y)^3*(x-y)^2); // Warning: (x+y)^3 is lost
    ==> x-y
    squarefree((x+y)^4*(x-y)^2); // result is (x+y)*(x-y)
    ==> x2-y2

See also: allsquarefree.

User manual for Singular version 4.4.1, 2025, generated by texi2html.