 |
My Project
UNKNOWN_GIT_VERSION
|
Go to the source code of this file.
|
CanonicalForm | alg_gcd (const CanonicalForm &, const CanonicalForm &, const CFList &) |
|
CFFList | facAlgFunc2 (const CanonicalForm &f, const CFList &as) |
| factorize a polynomial f that is irreducible over the ground field modulo an extension given by an irreducible characteristic set as, f is assumed to be integral, i.e. , and each element of as is assumed to be integral as well. must be either or . More...
|
|
CFFList | facAlgFunc (const CanonicalForm &f, const CFList &as) |
| factorize a polynomial f modulo an extension given by an irreducible characteristic set as, f is assumed to be integral, i.e. , and each element of as is assumed to be integral as well. must be either or . More...
|
|
Factorization over algebraic function fields
- Note
- some of the code is code from libfac or derived from code from libfac. Libfac is written by M. Messollen. See also COPYING for license information and README for general information on characteristic sets.
- Author
- Martin Lee
Definition in file facAlgFunc.h.
◆ alg_gcd()
Definition at line 61 of file facAlgFunc.cc.
63 if (fff.inCoeffDomain() || ggg.inCoeffDomain())
71 if (
g.lc().sign() < 0 )
return -
g;
74 else if (
g.isZero() )
76 if (
f.lc().sign() < 0 )
return -
f;
80 int v= as.getLast().
level();
81 if (
f.level() <=
v ||
g.level() <=
v)
87 bool has_alg_var=
false;
118 if (
g.inBaseDomain() ||
f.inBaseDomain())
◆ facAlgFunc()
factorize a polynomial f modulo an extension given by an irreducible characteristic set as, f is assumed to be integral, i.e.
, and each element of as is assumed to be integral as well.
must be either
or
.
- Returns
- the returned factors are not necessarily monic but only primitive and the product of the factors equals f up to a unit.
factorize a polynomial f modulo an extension given by an irreducible characteristic set as, f is assumed to be integral, i.e.
, and each element of as is assumed to be integral as well.
must be either
or
.
Definition at line 1043 of file facAlgFunc.cc.
1049 if (Factors.
getFirst().factor().inCoeffDomain())
1072 j.getItem().exp()*
i.getItem().exp()));
◆ facAlgFunc2()
factorize a polynomial f that is irreducible over the ground field modulo an extension given by an irreducible characteristic set as, f is assumed to be integral, i.e.
, and each element of as is assumed to be integral as well.
must be either
or
.
- Returns
- the returned factors are not necessarily monic but only primitive and the product of the factors equals f up to a unit.
factorize a polynomial f that is irreducible over the ground field modulo an extension given by an irreducible characteristic set as, f is assumed to be integral, i.e.
, and each element of as is assumed to be integral as well.
must be either
or
.
Definition at line 905 of file facAlgFunc.cc.
930 for (
int ii= 1; ii <
level (vf); ii++)
933 for (
i= as;
i.hasItem();
i++)
961 bool isFunctionField= (newuord.
length() > 0);
968 bool derivZero=
f.deriv().isZero();
969 if (isFunctionField && (
degree (Fgcd,
f.mvar()) > 0) && !derivZero)
992 for (
i= Astar;
i.hasItem();
i++)
997 if (newuord.
length() == 0)
1004 Factorlist=
Trager(
f, Astar, vminpoly, as, isFunctionField);
1021 Factorlist=
Trager (
f, Astar, vminpoly, as, isFunctionField);
1030 Factorlist=
Trager (
f, Astar, vminpoly, as, isFunctionField);
static const int SW_RATIONAL
set to 1 for computations over Q
CanonicalForm Prem(const CanonicalForm &F, const CanonicalForm &G)
pseudo remainder of F by G with certain factors of LC (g) cancelled
bool isInseparable(const CFList &Astar)
Varlist varsInAs(const Varlist &uord, const CFList &Astar)
Variable rootOf(const CanonicalForm &, char name='@')
returns a symbolic root of polynomial with name name Use it to define algebraic variables
CanonicalForm alg_gcd(const CanonicalForm &fff, const CanonicalForm &ggg, const CFList &as)
bool delta(X x, Y y, D d)
static CFFList Trager(const CanonicalForm &F, const CFList &Astar, const Variable &vminpoly, const CFList &as, bool isFunctionField)
Trager's algorithm, i.e. convert to one field extension and factorize over this field extension.
template List< Variable > Difference(const List< Variable > &, const List< Variable > &)
void prune(Variable &alpha)
CFFList append(const CFFList &Inputlist, const CFFactor &TheFactor)
CFFList factorize(const CanonicalForm &f, bool issqrfree=false)
factorization over or
CFFList SteelTrager(const CanonicalForm &f, const CFList &AS)
algorithm of A. Steel described in "Conquering Inseparability: Primary decomposition and multivariate...
CanonicalForm divide(const CanonicalForm &ff, const CanonicalForm &f, const CFList &as)
factory's class for variables
int getDegOfExt(IntList °reelist, int n)
CFFList facAlgFunc2(const CanonicalForm &f, const CFList &as)
factorize a polynomial that is irreducible over the ground field modulo an extension given by an irre...
int hasAlgVar(const CanonicalForm &f, const Variable &v)
template List< Variable > Union(const List< Variable > &, const List< Variable > &)
const Variable & v
< [in] a sqrfree bivariate poly
static int * multiplicity
int hasVar(const CanonicalForm &f, const Variable &v)
CanonicalForm alg_content(const CanonicalForm &f, const CFList &as)
int ** merge(int **points1, int sizePoints1, int **points2, int sizePoints2, int &sizeResult)
CanonicalForm generateMipo(int degOfExt)