Loading...
Searching...
No Matches
cfCharSetsUtil.h
Go to the documentation of this file.
/*****************************************************************************\
* Computer Algebra System SINGULAR
\*****************************************************************************/
/** @file cfCharSetsUtil.h
*
* 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
*
**/
/*****************************************************************************/
#ifndef CF_CHARSETS_UTIL
#define CF_CHARSETS_UTIL
/*BEGINPUBLIC*/
/**
* class to store factors that get removed during char set computation
**/
class StoreFactors
{
public:
CFList FS1; ///< factors that were removed
CFList FS2; ///< candidate factors that might get removed
inline StoreFactors& operator= (const StoreFactors& value)
{
if ( this != &value )
{
FS1 = value.FS1;
FS2 = value.FS2;
}
return *this;
}
};
/*ENDPUBLIC*/
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);
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);
void
sortCFListByLevel (CFList& list);
/*BEGINPUBLIC*/
CanonicalForm
Prem (const CanonicalForm& F, const CanonicalForm& G);
/*ENDPUBLIC*/
CanonicalForm
Premb (const CanonicalForm &f, const CFList &L);
CanonicalForm
Prem (const CanonicalForm &f, const CFList &L);
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);
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);
void
select (const ListCFList& ppi, int length, ListCFList& ppi1, ListCFList& ppi2);
CanonicalForm normalize (const CanonicalForm& F);
#endif
ListCFList
List< CFList > ListCFList
Definition canonicalform.h:399
CFFList
List< CFFactor > CFFList
Definition canonicalform.h:393
CFList
List< CanonicalForm > CFList
Definition canonicalform.h:395
Varlist
List< Variable > Varlist
Definition canonicalform.h:403
inplaceUnion
void inplaceUnion(const ListCFList &a, ListCFList &b)
Union of a and b stored in b.
Definition cfCharSetsUtil.cc:473
uniGcd
CFList uniGcd(const CFList &L)
Definition cfCharSetsUtil.cc:721
removeFactors
void removeFactors(CanonicalForm &r, StoreFactors &StoredFactors, CFList &removedFactors)
Definition cfCharSetsUtil.cc:823
initials
CFList initials(const CFList &L)
Definition cfCharSetsUtil.cc:743
swapvar
CFList swapvar(const CFList &PS, const Variable &x, const Variable &y)
swapvar a whole list of CanonicalForms
Definition cfCharSetsUtil.cc:304
Prem
CanonicalForm Prem(const CanonicalForm &F, const CanonicalForm &G)
pseudo remainder of F by G with certain factors of LC (g) cancelled
Definition cfCharSetsUtil.cc:616
Premb
CanonicalForm Premb(const CanonicalForm &f, const CFList &L)
pseudo remainder of f by L with faster test for remainder being zero
Definition cfCharSetsUtil.cc:677
only_in_one
CFList only_in_one(const CFList &PS, const Variable &x)
Definition cfCharSetsUtil.cc:212
factorsOfInitials
CFList factorsOfInitials(const CFList &L)
Definition cfCharSetsUtil.cc:755
removeContent
void removeContent(CanonicalForm &F, CanonicalForm &cF)
Definition cfCharSetsUtil.cc:776
select
void select(const ListCFList &ppi, int length, ListCFList &ppi1, ListCFList &ppi2)
Definition cfCharSetsUtil.cc:570
isSubset
bool isSubset(const CFList &PS, const CFList &Cset)
is PS a subset of Cset ?
Definition cfCharSetsUtil.cc:461
get_max_var
Variable get_max_var(const CFList &PS)
Definition cfCharSetsUtil.cc:196
sortListCFList
void sortListCFList(ListCFList &list)
sort in descending order of length of elements
Definition cfCharSetsUtil.cc:396
adjoinb
ListCFList adjoinb(const CFList &is, const CFList &qs, const ListCFList &qh, const CFList &cs)
Definition cfCharSetsUtil.cc:533
sortCFListByLevel
void sortCFListByLevel(CFList &list)
sort in descending order of level of elements
Definition cfCharSetsUtil.cc:428
contract
ListCFList contract(const ListCFList &cs)
Definition cfCharSetsUtil.cc:926
factorPSet
CFList factorPSet(const CFList &PS)
Definition cfCharSetsUtil.cc:805
reorderb
Varlist reorderb(const Varlist &difference, const CFList &PS, const int highest_level)
Definition cfCharSetsUtil.cc:259
adjoin
ListCFList adjoin(const CFList &is, const CFList &qs, const ListCFList &qh)
Definition cfCharSetsUtil.cc:495
lowestRank
CanonicalForm lowestRank(const CFList &L)
Definition cfCharSetsUtil.cc:357
normalize
CanonicalForm normalize(const CanonicalForm &F)
normalize a poly, i.e. in char 0 clear denominators, remove integer content in char p divide by leadi...
Definition cfCharSetsUtil.cc:590
x
Variable x
Definition cfModGcd.cc:4090
b
CanonicalForm b
Definition cfModGcd.cc:4111
f
FILE * f
Definition checklibs.c:9
CanonicalForm
factory's main class
Definition canonicalform.h:86
StoreFactors
class to store factors that get removed during char set computation
Definition cfCharSetsUtil.h:29
StoreFactors::operator=
StoreFactors & operator=(const StoreFactors &value)
Definition cfCharSetsUtil.h:33
StoreFactors::FS2
CFList FS2
candidate factors that might get removed
Definition cfCharSetsUtil.h:32
StoreFactors::FS1
CFList FS1
factors that were removed
Definition cfCharSetsUtil.h:31
Variable
factory's class for variables
Definition factory.h:127
y
const CanonicalForm int const CFList const Variable & y
Definition facAbsFact.cc:53
CFList
List< CanonicalForm > CFList
Definition factory.h:536
length
static BOOLEAN length(leftv result, leftv arg)
Definition interval.cc:257
G
STATIC_VAR TreeM * G
Definition janet.cc:31