This file offers 4 functions: IsLRSDegenerateOrderMod, IsLRSDegenerateOrder, IsLRSDegenerateMod, and IsLRSDegenerate.
Let f be two RingElem values representing univariate polynomials in a polynomial ring P over ZZ or QQ.
Let n be a positive integer.
Let VerifLev be an instance of VerificationLevel.
IsLRSDegenerateOrderMod(f,n,VerifLev) -- returns a bool indicating whether f is the characteristic polynomial of a n-degenerate LRS - using a modular approach.
IsLRSDegenerateOrder(f,n) -- returns a bool indicating whether f is the characteristic polynomial of a n-degenerate LRS.
IsLRSDegenerateMod(f,VerifLev) -- returns an unsigned long n indicating that f is the characteristic polynomial of a n-degenerate LRS - using a modular approach.
IsLRSDegenerate(f) -- returns a bool: true means that f is the characteristic polynomial of a n-degenerate LRS for some n. Otherwise false.
LRSDegeneracyOrder(f) -- returns an unsigned long n indicating that f is the characteristic polynomial of a n-degenerate LRS.
Q_n = Res_y(f(xy), Phi_n(y)) and then deg(gcd(P,Q_n)) > 0 in the modular/iterative approach. But resultant can be slow!
2022