My Project
Loading...
Searching...
No Matches
cfCharSetsUtil.h
Go to the documentation of this file.
1/*****************************************************************************\
2 * Computer Algebra System SINGULAR
3\*****************************************************************************/
4/** @file cfCharSetsUtil.h
5 *
6 * This file provides utility functions to compute characteristic sets
7 *
8 * @note some of the code is code from libfac or derived from code from libfac.
9 * Libfac is written by M. Messollen. See also COPYING for license information
10 * and README for general information on characteristic sets.
11 *
12 * ABSTRACT: Descriptions can be found in Wang "On the Parallelization of
13 * characteristic-set based algorithms" or Greuel/Pfister "A Singular
14 * Introduction to Commutative Algebra".
15 *
16 * @author Martin Lee
17 *
18 **/
19/*****************************************************************************/
20
21#ifndef CF_CHARSETS_UTIL
22#define CF_CHARSETS_UTIL
23
24/*BEGINPUBLIC*/
25/**
26 * class to store factors that get removed during char set computation
27**/
29{
30 public:
31 CFList FS1; ///< factors that were removed
32 CFList FS2; ///< candidate factors that might get removed
33 inline StoreFactors& operator= (const StoreFactors& value)
34 {
35 if ( this != &value )
36 {
37 FS1 = value.FS1;
38 FS2 = value.FS2;
39 }
40 return *this;
41 }
42};
43/*ENDPUBLIC*/
44
46get_max_var (const CFList & PS);
47
49only_in_one (const CFList & PS, const Variable & x);
50
52reorderb (const Varlist & difference, const CFList & PS,
53 const int highest_level);
54
56swapvar (const CFList & PS, const Variable & x, const Variable & y);
57
59swapvar (const CFFList & PS, const Variable & x, const Variable & y);
60
62lowestRank (const CFList & L);
63
64CFList initials (const CFList& L);
65
66void
68
69void
71
72/*BEGINPUBLIC*/
73
75Prem (const CanonicalForm& F, const CanonicalForm& G);
76
77/*ENDPUBLIC*/
78
80Premb (const CanonicalForm &f, const CFList &L);
81
83Prem (const CanonicalForm &f, const CFList &L);
84
85CFList uniGcd (const CFList& L);
86
88factorsOfInitials(const CFList & L);
89
90void
92
94factorPSet (const CFList& PS);
95
96void
97removeFactors (CanonicalForm& r, StoreFactors& StoredFactors,
98 CFList& removedFactors);
99
100CFList
101removeContent (const CFList & PS, StoreFactors & StoredFactors);
102
104contract (const ListCFList& cs);
105
106bool
107isSubset (const CFList &PS, const CFList& Cset);
108
110adjoin (const CFList& is, const CFList& qs, const ListCFList& qh);
111
113adjoinb (const CFList & is, const CFList & qs, const ListCFList & qh,
114 const CFList & cs);
115
116void
118
119void
120select (const ListCFList& ppi, int length, ListCFList& ppi1, ListCFList& ppi2);
121
123
124#endif
void inplaceUnion(const ListCFList &a, ListCFList &b)
Union of a and b stored in b.
CFList uniGcd(const CFList &L)
void removeFactors(CanonicalForm &r, StoreFactors &StoredFactors, CFList &removedFactors)
CFList initials(const CFList &L)
CFList swapvar(const CFList &PS, const Variable &x, const Variable &y)
swapvar a whole list of CanonicalForms
CanonicalForm Prem(const CanonicalForm &F, const CanonicalForm &G)
pseudo remainder of F by G with certain factors of LC (g) cancelled
CanonicalForm Premb(const CanonicalForm &f, const CFList &L)
pseudo remainder of f by L with faster test for remainder being zero
CFList only_in_one(const CFList &PS, const Variable &x)
CFList factorsOfInitials(const CFList &L)
void removeContent(CanonicalForm &F, CanonicalForm &cF)
void select(const ListCFList &ppi, int length, ListCFList &ppi1, ListCFList &ppi2)
bool isSubset(const CFList &PS, const CFList &Cset)
is PS a subset of Cset ?
Variable get_max_var(const CFList &PS)
void sortListCFList(ListCFList &list)
sort in descending order of length of elements
ListCFList adjoinb(const CFList &is, const CFList &qs, const ListCFList &qh, const CFList &cs)
void sortCFListByLevel(CFList &list)
sort in descending order of level of elements
ListCFList contract(const ListCFList &cs)
CFList factorPSet(const CFList &PS)
Varlist reorderb(const Varlist &difference, const CFList &PS, const int highest_level)
ListCFList adjoin(const CFList &is, const CFList &qs, const ListCFList &qh)
CanonicalForm lowestRank(const CFList &L)
CanonicalForm normalize(const CanonicalForm &F)
normalize a poly, i.e. in char 0 clear denominators, remove integer content in char p divide by leadi...
Variable x
Definition: cfModGcd.cc:4082
CanonicalForm b
Definition: cfModGcd.cc:4103
FILE * f
Definition: checklibs.c:9
factory's main class
Definition: canonicalform.h:86
class to store factors that get removed during char set computation
StoreFactors & operator=(const StoreFactors &value)
CFList FS2
candidate factors that might get removed
CFList FS1
factors that were removed
factory's class for variables
Definition: variable.h:33
const CanonicalForm int const CFList const Variable & y
Definition: facAbsFact.cc:53
static BOOLEAN length(leftv result, leftv arg)
Definition: interval.cc:257
STATIC_VAR TreeM * G
Definition: janet.cc:31