 |
My Project
debian-1:4.1.1-p2+ds-4build2
|
Go to the source code of this file.
|
Variable | get_max_var (const CFList &PS) |
|
CFList | only_in_one (const CFList &PS, const Variable &x) |
|
Varlist | reorderb (const Varlist &difference, const CFList &PS, const int highest_level) |
|
CFList | swapvar (const CFList &PS, const Variable &x, const Variable &y) |
| swapvar a whole list of CanonicalForms More...
|
|
CFFList | swapvar (const CFFList &PS, const Variable &x, const Variable &y) |
|
CanonicalForm | lowestRank (const CFList &L) |
|
CFList | initials (const CFList &L) |
|
void | sortListCFList (ListCFList &list) |
| sort in descending order of length of elements More...
|
|
void | sortCFListByLevel (CFList &list) |
| sort in descending order of level of elements More...
|
|
CanonicalForm | Prem (const CanonicalForm &F, const CanonicalForm &G) |
| pseudo remainder of F by G with certain factors of LC (g) cancelled More...
|
|
CanonicalForm | Premb (const CanonicalForm &f, const CFList &L) |
| pseudo remainder of f by L with faster test for remainder being zero More...
|
|
CanonicalForm | Prem (const CanonicalForm &f, const CFList &L) |
| pseudo remainder of f by L More...
|
|
CFList | uniGcd (const CFList &L) |
|
CFList | factorsOfInitials (const CFList &L) |
|
void | removeContent (CanonicalForm &F, CanonicalForm &cF) |
|
CFList | factorPSet (const CFList &PS) |
|
void | removeFactors (CanonicalForm &r, StoreFactors &StoredFactors, CFList &removedFactors) |
|
CFList | removeContent (const CFList &PS, StoreFactors &StoredFactors) |
|
ListCFList | contract (const ListCFList &cs) |
|
bool | isSubset (const CFList &PS, const CFList &Cset) |
| is PS a subset of Cset ? More...
|
|
ListCFList | adjoin (const CFList &is, const CFList &qs, const ListCFList &qh) |
|
ListCFList | adjoinb (const CFList &is, const CFList &qs, const ListCFList &qh, const CFList &cs) |
|
void | inplaceUnion (const ListCFList &a, ListCFList &b) |
| Union of a and b stored in b. More...
|
|
void | select (const ListCFList &ppi, int length, ListCFList &ppi1, ListCFList &ppi2) |
|
CanonicalForm | normalize (const CanonicalForm &F) |
| normalize a poly, i.e. in char 0 clear denominators, remove integer content in char p divide by leading coeff More...
|
|
This file provides utility functions to compute characteristic sets
- 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.
ABSTRACT: Descriptions can be found in Wang "On the Parallelization of
characteristic-set based algorithms" or Greuel/Pfister "A Singular
Introduction to Commutative Algebra".
- Author
- Martin Lee
Definition in file cfCharSetsUtil.h.
◆ adjoin()
Definition at line 495 of file cfCharSetsUtil.cc.
503 for (
i= is;
i.hasItem();
i++)
505 if (
i.getItem().level() > 0)
514 for (
i= iscopy;
i.hasItem();
i++)
520 for (
j= qhi;
j.hasItem();
j++)
◆ adjoinb()
Definition at line 533 of file cfCharSetsUtil.cc.
542 for (
i= is ;
i.hasItem();
i++)
544 if (
i.getItem().level() > 0)
551 for (
i= iscopy;
i.hasItem();
i++)
557 for (
j= qhi;
j.hasItem();
j++)
◆ contract()
◆ factorPSet()
◆ factorsOfInitials()
◆ get_max_var()
◆ initials()
◆ inplaceUnion()
◆ isSubset()
◆ lowestRank()
◆ normalize()
normalize a poly, i.e. in char 0 clear denominators, remove integer content in char p divide by leading coeff
Definition at line 590 of file cfCharSetsUtil.cc.
◆ only_in_one()
◆ Prem() [1/2]
pseudo remainder of F by G with certain factors of LC (g) cancelled
Definition at line 616 of file cfCharSetsUtil.cc.
619 int degF, degG, levelF, levelG;
623 if ( (levelF= F.
level()) < (levelG=
G.level()))
627 if ( levelF == levelG )
650 while ((degG <= degF) && (!
f.isZero()))
655 t=
g*lv*
power (
v, degF - degG);
◆ Prem() [2/2]
pseudo remainder of f by L
Definition at line 709 of file cfCharSetsUtil.cc.
714 for (
i.lastItem();
i.hasItem();
i--)
◆ Premb()
pseudo remainder of f by L with faster test for remainder being zero
Definition at line 677 of file cfCharSetsUtil.cc.
684 for (
i.lastItem();
i.hasItem();
i--)
◆ removeContent() [1/2]
◆ removeContent() [2/2]
◆ removeFactors()
Definition at line 822 of file cfCharSetsUtil.cc.
831 for (
int i=1;
i<= n;
i++)
835 for (
j= StoredFactors.
FS1;
j.hasItem();
j++)
843 for (
j= StoredFactors.
FS2;
j.hasItem();
j++)
846 if (
j.getItem() != r)
854 removedFactors=
Union (removedFactors,
CFList (
j.getItem()));
860 for (
j= testlist;
j.hasItem() && !r.
isOne();
j++)
863 if (
j.getItem() != r)
871 removedFactors=
Union (removedFactors,
CFList (
j.getItem()));
◆ reorderb()
Definition at line 259 of file cfCharSetsUtil.cc.
262 Intarray A(1, highest_level),
B(1, highest_level), C(1, highest_level),
263 D(1, highest_level),
E(1, highest_level), F(1, highest_level),
271 for (J= difference; J.
hasItem(); J++ )
283 for (
i= gap;
i <= n - 1;
i++)
286 for (
j=
i - gap;
j >=0 ;
j -= gap)
297 for (
i= 0;
i <= n - 1;
i++)
◆ select()
◆ sortCFListByLevel()
void sortCFListByLevel |
( |
CFList & |
list | ) |
|
sort in descending order of level of elements
Definition at line 428 of file cfCharSetsUtil.cc.
440 if ((
size (
j.getItem()) <
size (
m.getItem())) ||
442 && (
j.getItem().level() <
m.getItem().level())))
445 m.getItem()=
j.getItem();
448 j.getItem()=
m.getItem();
◆ sortListCFList()
sort in descending order of length of elements
Definition at line 396 of file cfCharSetsUtil.cc.
408 if ((
j.getItem().length() <
m.getItem().length()) ||
409 (
j.getItem().length() ==
m.getItem().length() &&
413 m.getItem()=
j.getItem();
416 j.getItem()=
m.getItem();
◆ swapvar() [1/2]
◆ swapvar() [2/2]
◆ uniGcd()
Definition at line 720 of file cfCharSetsUtil.cc.
725 for (
i= L;
i.hasItem();
i++)
727 if (
i.getItem().isUnivariate() &&
i.getItem().level() == 1)
737 for (;
i.hasItem();
i++)
CFList FS2
candidate factors that might get removed
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
const CanonicalForm int const CFList const Variable & y
CFList swapvar(const CFList &PS, const Variable &x, const Variable &y)
swapvar a whole list of CanonicalForms
int degord(const Variable &x, const Variable &y, const CFList &PS, Intarray &A, Intarray &B, Intarray &C, Intarray &D, Intarray &E, Intarray &F, Intarray &G)
static BOOLEAN length(leftv result, leftv arg)
REvaluation E(1, terms.length(), IntRandom(25))
bool lowerRank(const CanonicalForm &F, const CanonicalForm &G, int &ind)
bool isSubset(const CFList &PS, const CFList &Cset)
is PS a subset of Cset ?
CanonicalForm normalize(const CanonicalForm &F)
normalize a poly, i.e. in char 0 clear denominators, remove integer content in char p divide by leadi...
template List< Variable > Difference(const List< Variable > &, const List< Variable > &)
int status int void * buf
CFList FS1
factors that were removed
int minLevel(const CFList &L)
bool contractsub(const CFList &cs1, const CFList &cs2)
CFFList factorize(const CanonicalForm &f, bool issqrfree=false)
factorization over or
bool fdivides(const CanonicalForm &f, const CanonicalForm &g)
bool fdivides ( const CanonicalForm & f, const CanonicalForm & g )
CanonicalForm bCommonDen(const CanonicalForm &f)
CanonicalForm bCommonDen ( const CanonicalForm & f )
factory's class for variables
void initArray(const int highest_level, Intarray &A, Intarray &B, Intarray &C, Intarray &D, Intarray &E, Intarray &F, Intarray &G)
template bool find(const List< CanonicalForm > &, const CanonicalForm &)
template List< Variable > Union(const List< Variable > &, const List< Variable > &)
const Variable & v
< [in] a sqrfree bivariate poly
void rem(unsigned long *a, unsigned long *q, unsigned long p, int °a, int degq)