up previous next
LinearSimplify

simplifying linear substitution for a univariate polynomial 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]