GaloisGroupFactorizer UP¶
galfact.spad line 383 [edit on github]
GaloisGroupFactorizer provides functions to factor resolvents.
- btwFact: (UP, Boolean, Set NonNegativeInteger, NonNegativeInteger) -> Record(contp: Integer, factors: List Record(irr: UP, pow: NonNegativeInteger))
btwFact(p, sqf, pd, r)returns the factorization ofp, the result is a Record such thatcontp=contentp,factors=List of irreducible factors ofpwith exponent. Ifsqf=truethe polynomial is assumed to be square free (i.e. without repeated factors).pdis the Set of possible degrees.ris a lower bound for the number of factors ofp. Please do not use this function in your code because its design may change.
- degreePartition: List Record(factor: UP, degree: Integer) -> Multiset NonNegativeInteger
degreePartition(ddfactorization)returns the degree partition of the polynomialfmodulopwhereddfactorizationis the distinct degree factorization offcomputed byddfactfrom modular factorization package for some primep.
- eisensteinIrreducible?: UP -> Boolean
eisensteinIrreducible?(p)returnstrueifpcan be shown to be irreducible by Eisenstein'scriterion,falseis inconclusive.
- factor: (UP, List NonNegativeInteger) -> Factored UP
factor(p, listOfDegrees)factorizes the polynomialpusing the single factor bound algorithm and knowing thatphas for possible splitting of its degree listOfDegrees.
- factor: (UP, List NonNegativeInteger, NonNegativeInteger) -> Factored UP
factor(p, listOfDegrees, r)factorizes the polynomialpusing the single factor bound algorithm, knowing thatphas for possible splitting of its degreelistOfDegreesand thatphas at leastrfactors.
- factor: (UP, NonNegativeInteger) -> Factored UP
factor(p, r)factorizes the polynomialpusing the single factor bound algorithm and knowing thatphas at leastrfactors.
- factor: (UP, NonNegativeInteger, NonNegativeInteger) -> Factored UP
factor(p, d, r)factorizes the polynomialpusing the single factor bound algorithm, knowing thatddivides the degree of all factors ofpand thatphas at leastrfactors.
- factor: UP -> Factored UP
factor(p)returns the factorization ofpover the integers.
- factorOfDegree: (PositiveInteger, UP) -> Union(UP, failed)
factorOfDegree(d, p)returns a factor ofpof degreed.
- factorOfDegree: (PositiveInteger, UP, List NonNegativeInteger) -> Union(UP, failed)
factorOfDegree(d, p, listOfDegrees)returns a factor ofpof degreedknowing thatphas for possible splitting of its degree listOfDegrees.
- factorOfDegree: (PositiveInteger, UP, List NonNegativeInteger, NonNegativeInteger) -> Union(UP, failed)
factorOfDegree(d, p, listOfDegrees, r)returns a factor ofpof degreedknowing thatphas for possible splitting of its degreelistOfDegrees, and thatphas at leastrfactors.
- factorOfDegree: (PositiveInteger, UP, List NonNegativeInteger, NonNegativeInteger, Boolean) -> Union(UP, failed)
factorOfDegree(d, p, listOfDegrees, r, sqf)returns a factor ofpof degreedknowing thatphas for possible splitting of its degreelistOfDegrees, and thatphas at leastrfactors. Ifsqf=truethe polynomial is assumed to be square free (i.e. without repeated factors).
- factorOfDegree: (PositiveInteger, UP, NonNegativeInteger) -> Union(UP, failed)
factorOfDegree(d, p, r)returns a factor ofpof degreedknowing thatphas at leastrfactors.
- factorSquareFree: (UP, List NonNegativeInteger) -> Factored UP
factorSquareFree(p, listOfDegrees)factorizes the polynomialpusing the single factor bound algorithm and knowing thatphas for possible splitting of its degree listOfDegrees.pis supposed not having any repeated factor (this is not checked).
- factorSquareFree: (UP, List NonNegativeInteger, NonNegativeInteger) -> Factored UP
factorSquareFree(p, listOfDegrees, r)factorizes the polynomialpusing the single factor bound algorithm, knowing thatphas for possible splitting of its degreelistOfDegreesand thatphas at leastrfactors.pis supposed not having any repeated factor (this is not checked).
- factorSquareFree: (UP, NonNegativeInteger) -> Factored UP
factorSquareFree(p, r)factorizes the polynomialpusing the single factor bound algorithm and knowing thatphas at leastrfactors.pis supposed not having any repeated factor (this is not checked).
- factorSquareFree: (UP, NonNegativeInteger, NonNegativeInteger) -> Factored UP
factorSquareFree(p, d, r)factorizes the polynomialpusing the single factor bound algorithm, knowing thatddivides the degree of all factors ofpand thatphas at leastrfactors.pis supposed not having any repeated factor (this is not checked).
- factorSquareFree: UP -> Factored UP
factorSquareFree(p)returns the factorization ofpwhich is supposed not having any repeated factor (this is not checked).
- henselFact: (UP, Boolean) -> Record(contp: Integer, factors: List Record(irr: UP, pow: NonNegativeInteger))
henselFact(p, sqf)returns the factorization ofp, the result is a Record such thatcontp=contentp,factors=List of irreducible factors ofpwith exponent. Ifsqf=truethe polynomial is assumed to be square free (i.e. without repeated factors).
- makeFR: Record(contp: Integer, factors: List Record(irr: UP, pow: NonNegativeInteger)) -> Factored UP
makeFR(flist)turns the final factorization of henselFact into a Factored object.
- modularFactor: (UP, Set NonNegativeInteger) -> Record(prime: Integer, factors: List UP)
modularFactor(f, d)chooses a “good” prime and returns the factorization offmodulo this prime in a form that may be used by completeHensel. If prime is zero it means thatfhas been proved to be irreducible over the integers or thatfis a unit (i.e. 1 or-1).fshall be primitive (i.e. content(p)=1) and square free (i.e. without repeated factors).dis set of possible degrees of factors.
- musserTrials: () -> PositiveInteger
musserTrials()returns the number of primes that are tried in modularFactor.
- musserTrials: PositiveInteger -> PositiveInteger
musserTrials(n)sets tonthe number of primes to be tried in modularFactor and returns the previous value.
- numberOfFactors: List Record(factor: UP, degree: Integer) -> NonNegativeInteger
numberOfFactors(ddfactorization)returns the number of factors of the polynomialfmodulopwhereddfactorizationis the distinct degree factorization offcomputed by modular factorization package for some primep.
- stopMusserTrials: () -> PositiveInteger
stopMusserTrials()returns the bound on the number of factors for which modularFactor stops to look for an other prime. You will have to remember that the step of recombining the extraneous factors may take up to2^stopMusserTrials()trials.
- stopMusserTrials: PositiveInteger -> PositiveInteger
stopMusserTrials(n)sets tonthe bound on the number of factors for which modularFactor stops to look for an other prime. You will have to remember that the step of recombining the extraneous factors may take up to2^ntrials. Returns the previous value.
- tryFunctionalDecomposition?: () -> Boolean
tryFunctionalDecomposition?()returnstrueif factorizers try functional decomposition of polynomials before factoring them.
- tryFunctionalDecomposition: Boolean -> Boolean
tryFunctionalDecomposition(b)chooses whether factorizers have to look for functional decomposition of polynomials (true) or not (false). Returns the previous value.
- useEisensteinCriterion?: () -> Boolean
useEisensteinCriterion?()returnstrueif factorizers check Eisenstein'scriterion before factoring.
- useEisensteinCriterion: Boolean -> Boolean
useEisensteinCriterion(b)chooses whether factorizers check Eisenstein'scriterion before factoring:truefor using it,falseelse. Returns the previous value.
- useSingleFactorBound?: () -> Boolean
useSingleFactorBound?()returnstrueif algorithm with single factor bound is used for factorization,falsefor algorithm with overall bound.