My Project
Toggle main menu visibility
Loading...
Searching...
No Matches
factory
cfCharSets.h
Go to the documentation of this file.
1
/*****************************************************************************\
2
* Computer Algebra System SINGULAR
3
\*****************************************************************************/
4
/** @file cfCharSets.h
5
*
6
* This file provides 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
22
#define CF_CHARSETS
23
24
#include "
cfCharSetsUtil.h
"
25
26
/*BEGINPUBLIC*/
27
28
/// basic set in the sense of Wang a.k.a. minimal ascending set in the sense of
29
/// Greuel/Pfister
30
CFList
31
basicSet
(
const
CFList
& PS);
32
33
/// characteristic set
34
CFList
35
charSet
(
const
CFList
& PS);
36
37
/// modified medial set
38
CFList
39
modCharSet
(
const
CFList
& PS,
StoreFactors
& StoredFactors,
40
bool
removeContents=
true
);
41
42
CFList
43
modCharSet
(
const
CFList
& PS,
bool
removeContents);
44
45
CFList
46
charSetViaCharSetN
(
const
CFList
& PS);
47
48
CFList
49
charSetN
(
const
CFList
&PS);
50
51
/// modified characteristic set, i.e. a characteristic set with certain
52
/// factors removed
53
CFList
54
charSetViaModCharSet
(
const
CFList
& PS,
StoreFactors
& StoredFactors,
55
bool
removeContents=
true
);
56
57
/// modified characteristic set, i.e. a characteristic set with certain
58
/// factors removed
59
CFList
60
charSetViaModCharSet
(
const
CFList
& PS,
bool
removeContents=
true
);
61
62
/// characteristic series
63
ListCFList
64
charSeries
(
const
CFList
& L);
65
66
/// irreducible characteristic series
67
ListCFList
FACTORY_PUBLIC
68
irrCharSeries
(
const
CFList
& PS);
69
70
// the next three give you a heuristically optimal reorderd list of the
71
// variables. For internal and external (e.g. Singular/Macaulay2) library use.
72
// This is really experimental!
73
// See the comments in reorder.cc.
74
//
75
// this gives you a heuristically optimal ordering for the ring variables
76
// if you use the irreducible characteristic series.
77
Varlist
neworder
(
const
CFList
& PolyList);
78
79
// the same as neworder(...) only returning a list of CanonicalForm 's
80
// (i.e. the variables as CanonicalForms)
81
CFList
newordercf
(
const
CFList
& PolyList);
82
83
// the same as neworder(...) only returning a list of int 's (i.e. the levels)
84
IntList
FACTORY_PUBLIC
neworderint
(
const
CFList
& PolyList);
85
86
// for library internal use only:
87
// next function reorders the variables in PS:
88
// a code segment to use:
89
// ...
90
// #include "tmpl_inst.h" // for typedef's
91
// CFList PS= <setup-your-list-of-CanonicalForms>;
92
// Varlist betterorder= neworder(PS);
93
// PS= reorder(betterorder,PS); // reorder variables in PS from oldorder
94
// to betterorder
95
// ListCFList Q= IrrCharSeries( PS );
96
// Q= reorder(betterorder,Q); // revert ordering to oldorder
97
//
98
CFList
reorder
(
const
Varlist
& betterorder,
const
CFList
& PS);
99
CFFList
reorder
(
const
Varlist
& betterorder,
const
CFFList
& PS);
100
ListCFList
reorder
(
const
Varlist
& betterorder,
const
ListCFList
&
Q
);
101
/*ENDPUBLIC*/
102
103
#endif
ListCFList
List< CFList > ListCFList
Definition
canonicalform.h:399
CFFList
List< CFFactor > CFFList
Definition
canonicalform.h:393
IntList
List< int > IntList
Definition
canonicalform.h:401
CFList
List< CanonicalForm > CFList
Definition
canonicalform.h:395
Varlist
List< Variable > Varlist
Definition
canonicalform.h:403
cfCharSetsUtil.h
This file provides utility functions to compute characteristic sets.
charSetViaCharSetN
CFList charSetViaCharSetN(const CFList &PS)
compute a characteristic set via medial set
Definition
cfCharSets.cc:246
charSeries
ListCFList charSeries(const CFList &L)
characteristic series
Definition
cfCharSets.cc:411
charSet
CFList charSet(const CFList &PS)
characteristic set
Definition
cfCharSets.cc:187
irrCharSeries
ListCFList FACTORY_PUBLIC irrCharSeries(const CFList &PS)
irreducible characteristic series
Definition
cfCharSets.cc:568
neworderint
IntList FACTORY_PUBLIC neworderint(const CFList &PolyList)
Definition
cfCharSets.cc:88
charSetN
CFList charSetN(const CFList &PS)
medial set
Definition
cfCharSets.cc:216
basicSet
CFList basicSet(const CFList &PS)
basic set in the sense of Wang a.k.a. minimal ascending set in the sense of Greuel/Pfister
Definition
cfCharSets.cc:150
newordercf
CFList newordercf(const CFList &PolyList)
Definition
cfCharSets.cc:75
neworder
Varlist neworder(const CFList &PolyList)
reorder
CFList reorder(const Varlist &betterorder, const CFList &PS)
Definition
cfCharSets.cc:101
modCharSet
CFList modCharSet(const CFList &PS, StoreFactors &StoredFactors, bool removeContents=true)
modified medial set
Definition
cfCharSets.cc:284
charSetViaModCharSet
CFList charSetViaModCharSet(const CFList &PS, StoreFactors &StoredFactors, bool removeContents=true)
modified characteristic set, i.e. a characteristic set with certain factors removed
Definition
cfCharSets.cc:356
StoreFactors
class to store factors that get removed during char set computation
Definition
cfCharSetsUtil.h:29
FACTORY_PUBLIC
#define FACTORY_PUBLIC
Definition
globaldefs.h:25
Q
#define Q
Definition
sirandom.c:26
Generated on
for My Project by
doxygen 1.17.0
for
Singular