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 of- p, the result is a Record such that- contp=content- p,- factors=List of irreducible factors of- pwith exponent. If- sqf=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 of- p. 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 polynomial- fmodulo- pwhere- ddfactorizationis the distinct degree factorization of- fcomputed by- ddfactfrom modular factorization package for some prime- p.
- eisensteinIrreducible?: UP -> Boolean
- eisensteinIrreducible?(p)returns- trueif- pcan be shown to be irreducible by Eisenstein- 'scriterion,- falseis inconclusive.
- factor: (UP, List NonNegativeInteger) -> Factored UP
- factor(p, listOfDegrees)factorizes the polynomial- pusing the single factor bound algorithm and knowing that- phas for possible splitting of its degree listOfDegrees.
- factor: (UP, List NonNegativeInteger, NonNegativeInteger) -> Factored UP
- factor(p, listOfDegrees, r)factorizes the polynomial- pusing the single factor bound algorithm, knowing that- phas for possible splitting of its degree- listOfDegreesand that- phas at least- rfactors.
- factor: (UP, NonNegativeInteger) -> Factored UP
- factor(p, r)factorizes the polynomial- pusing the single factor bound algorithm and knowing that- phas at least- rfactors.
- factor: (UP, NonNegativeInteger, NonNegativeInteger) -> Factored UP
- factor(p, d, r)factorizes the polynomial- pusing the single factor bound algorithm, knowing that- ddivides the degree of all factors of- pand that- phas at least- rfactors.
- factor: UP -> Factored UP
- factor(p)returns the factorization of- pover the integers.
- factorOfDegree: (PositiveInteger, UP) -> Union(UP, failed)
- factorOfDegree(d, p)returns a factor of- pof degree- d.
- factorOfDegree: (PositiveInteger, UP, List NonNegativeInteger) -> Union(UP, failed)
- factorOfDegree(d, p, listOfDegrees)returns a factor of- pof degree- dknowing that- phas for possible splitting of its degree listOfDegrees.
- factorOfDegree: (PositiveInteger, UP, List NonNegativeInteger, NonNegativeInteger) -> Union(UP, failed)
- factorOfDegree(d, p, listOfDegrees, r)returns a factor of- pof degree- dknowing that- phas for possible splitting of its degree- listOfDegrees, and that- phas at least- rfactors.
- factorOfDegree: (PositiveInteger, UP, List NonNegativeInteger, NonNegativeInteger, Boolean) -> Union(UP, failed)
- factorOfDegree(d, p, listOfDegrees, r, sqf)returns a factor of- pof degree- dknowing that- phas for possible splitting of its degree- listOfDegrees, and that- phas at least- rfactors. If- sqf=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 of- pof degree- dknowing that- phas at least- rfactors.
- factorSquareFree: (UP, List NonNegativeInteger) -> Factored UP
- factorSquareFree(p, listOfDegrees)factorizes the polynomial- pusing the single factor bound algorithm and knowing that- phas 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 polynomial- pusing the single factor bound algorithm, knowing that- phas for possible splitting of its degree- listOfDegreesand that- phas at least- rfactors.- pis supposed not having any repeated factor (this is not checked).
- factorSquareFree: (UP, NonNegativeInteger) -> Factored UP
- factorSquareFree(p, r)factorizes the polynomial- pusing the single factor bound algorithm and knowing that- phas at least- rfactors.- pis supposed not having any repeated factor (this is not checked).
- factorSquareFree: (UP, NonNegativeInteger, NonNegativeInteger) -> Factored UP
- factorSquareFree(p, d, r)factorizes the polynomial- pusing the single factor bound algorithm, knowing that- ddivides the degree of all factors of- pand that- phas at least- rfactors.- pis supposed not having any repeated factor (this is not checked).
- factorSquareFree: UP -> Factored UP
- factorSquareFree(p)returns the factorization of- pwhich 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 of- p, the result is a Record such that- contp=content- p,- factors=List of irreducible factors of- pwith exponent. If- sqf=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 of- fmodulo this prime in a form that may be used by completeHensel. If prime is zero it means that- fhas been proved to be irreducible over the integers or that- fis 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 to- nthe 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 polynomial- fmodulo- pwhere- ddfactorizationis the distinct degree factorization of- fcomputed by modular factorization package for some prime- p.
- 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 to- 2^stopMusserTrials()trials.
- stopMusserTrials: PositiveInteger -> PositiveInteger
- stopMusserTrials(n)sets to- nthe 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 to- 2^ntrials. Returns the previous value.
- tryFunctionalDecomposition?: () -> Boolean
- tryFunctionalDecomposition?()returns- trueif 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?()returns- trueif 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?()returns- trueif algorithm with single factor bound is used for factorization,- falsefor algorithm with overall bound.