galfact.spad line 383 [edit on github]
GaloisGroupFactorizer provides functions to factor resolvents.
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 p
with exponent. If sqf=true
the polynomial is assumed to be square free (i.e. without repeated factors). pd
is the Set of possible degrees. r
is 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(ddfactorization)
returns the degree partition of the polynomial f
modulo p
where ddfactorization
is the distinct degree factorization of f
computed by ddfact
from modular factorization package for some prime p
.
eisensteinIrreducible?(p)
returns true
if p
can be shown to be irreducible by Eisenstein's
criterion, false
is inconclusive.
factor(p)
returns the factorization of p
over the integers.
factor(p, listOfDegrees)
factorizes the polynomial p
using the single factor bound algorithm and knowing that p
has for possible splitting of its degree listOfDegrees.
factor(p, listOfDegrees, r)
factorizes the polynomial p
using the single factor bound algorithm, knowing that p
has for possible splitting of its degree listOfDegrees
and that p
has at least r
factors.
factor(p, r)
factorizes the polynomial p
using the single factor bound algorithm and knowing that p
has at least r
factors.
factor(p, d, r)
factorizes the polynomial p
using the single factor bound algorithm, knowing that d
divides the degree of all factors of p
and that p
has at least r
factors.
factorOfDegree(d, p)
returns a factor of p
of degree d
.
factorOfDegree(d, p, listOfDegrees)
returns a factor of p
of degree d
knowing that p
has for possible splitting of its degree listOfDegrees.
factorOfDegree(d, p, listOfDegrees, r)
returns a factor of p
of degree d
knowing that p
has for possible splitting of its degree listOfDegrees
, and that p
has at least r
factors.
factorOfDegree(d, p, listOfDegrees, r, sqf)
returns a factor of p
of degree d
knowing that p
has for possible splitting of its degree listOfDegrees
, and that p
has at least r
factors. If sqf=true
the polynomial is assumed to be square free (i.e. without repeated factors).
factorOfDegree(d, p, r)
returns a factor of p
of degree d
knowing that p
has at least r
factors.
factorSquareFree(p)
returns the factorization of p
which is supposed not having any repeated factor (this is not checked).
factorSquareFree(p, listOfDegrees)
factorizes the polynomial p
using the single factor bound algorithm and knowing that p
has for possible splitting of its degree listOfDegrees. p
is supposed not having any repeated factor (this is not checked).
factorSquareFree(p, listOfDegrees, r)
factorizes the polynomial p
using the single factor bound algorithm, knowing that p
has for possible splitting of its degree listOfDegrees
and that p
has at least r
factors. p
is supposed not having any repeated factor (this is not checked).
factorSquareFree(p, r)
factorizes the polynomial p
using the single factor bound algorithm and knowing that p
has at least r
factors. p
is supposed not having any repeated factor (this is not checked).
factorSquareFree(p, d, r)
factorizes the polynomial p
using the single factor bound algorithm, knowing that d
divides the degree of all factors of p
and that p
has at least r
factors. p
is supposed not having any repeated factor (this is not checked).
henselFact(p, sqf)
returns the factorization of p
, the result is a Record such that contp=
content p
, factors=
List of irreducible factors of p
with exponent. If sqf=true
the polynomial is assumed to be square free (i.e. without repeated factors).
makeFR(flist)
turns the final factorization of henselFact into a Factored object.
modularFactor(f, d)
chooses a "good" prime and returns the factorization of f
modulo this prime in a form that may be used by completeHensel. If prime is zero it means that f
has been proved to be irreducible over the integers or that f
is a unit (i.e. 1 or -1
). f
shall be primitive (i.e. content(p
)=1
) and square free (i.e. without repeated factors). d
is set of possible degrees of factors.
musserTrials()
returns the number of primes that are tried in modularFactor.
musserTrials(n)
sets to n
the number of primes to be tried in modularFactor and returns the previous value.
numberOfFactors(ddfactorization)
returns the number of factors of the polynomial f
modulo p
where ddfactorization
is the distinct degree factorization of f
computed by modular factorization package for some prime p
.
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(n)
sets to n
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^n
trials. Returns the previous value.
tryFunctionalDecomposition(b)
chooses whether factorizers have to look for functional decomposition of polynomials (true
) or not (false
). Returns the previous value.
tryFunctionalDecomposition?()
returns true
if factorizers try functional decomposition of polynomials before factoring them.
useEisensteinCriterion(b)
chooses whether factorizers check Eisenstein's
criterion before factoring: true
for using it, false
else. Returns the previous value.
useEisensteinCriterion?()
returns true
if factorizers check Eisenstein's
criterion before factoring.
useSingleFactorBound(b)
chooses the algorithm to be used by the factorizers: true
for algorithm with single factor bound, false
for algorithm with overall bound. Returns the previous value.
useSingleFactorBound?()
returns true
if algorithm with single factor bound is used for factorization, false
for algorithm with overall bound.