up previous next
LRSDegeneracyOrder    --    the LRS degeneracy order of a polynomial


Syntax
LRSDegeneracyOrder(f: RINGELEM):   INT
LRSDegeneracyOrders(f: RINGELEM):   LIST of INT

Description
If f is a univariate polynomial with rational coefficients LRSDegeneracyOrder returns the least LRS-degeneracy order of f, or 0 to mean that f is not LRS-degenerate. Recall f is k-LRS-degenerate iff it has two distinct roots whose ratio is a primitive k-th root of unity. The function LRSDegeneracyOrders returns a list of all k; this function may take a long time.

Note: some polynomials are LRS-degenerate for several orders, for instance cyclotomic(3,x)*cyclotomic(5,x).

In Cipu, Diouf, Mignotte the property was called just "degenerate".

Example
/**/  use R ::= QQ[x];
/**/  LRSDegeneracyOrder(x^6+3*x^5+6*x^4+6*x^3+9*x^2+9*x+3);
18

/**/  LRSDegeneracyOrder(x^2+x+2);
0

See Also