up previous next
LinearSimplify    --    simplifying linear substitution for a univariate poly over QQ


Syntax
LinearSimplify(F: RINGELEM): RECORD

Description
This function returns a RECORD[LinearChange, SimplePoly] where LinearChange is a linear change of variable and SimplePoly is simple (in a heuristic sense). The composition SimplePoly(LinearChange) is equal the univariate polynomial F.

Example
/**/  use QQ[x];
/**/  LinearSimplify((123*x-456)^9-1);
record[LinearChange := 123*x - 456, SimplePoly := x^9 - 1]

/**/  LinearSimplify(x^9-1); -- the heuristic finds no useful simplification
record[LinearChange := x, SimplePoly := x^9 - 1]