My Project
Loading...
Searching...
No Matches
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
31basicSet (const CFList& PS);
32
33/// characteristic set
35charSet (const CFList& PS);
36
37/// modified medial set
39modCharSet (const CFList& PS, StoreFactors& StoredFactors,
40 bool removeContents= true);
41
43modCharSet (const CFList& PS, bool removeContents);
44
46charSetViaCharSetN (const CFList& PS);
47
49charSetN (const CFList &PS);
50
51/// modified characteristic set, i.e. a characteristic set with certain
52/// factors removed
54charSetViaModCharSet (const CFList& PS, StoreFactors& StoredFactors,
55 bool removeContents= true);
56
57/// modified characteristic set, i.e. a characteristic set with certain
58/// factors removed
60charSetViaModCharSet (const CFList& PS, bool removeContents= true);
61
62/// characteristic series
64charSeries (const CFList& L);
65
66/// irreducible characteristic series
68irrCharSeries (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.
77Varlist neworder (const CFList & PolyList);
78
79// the same as neworder(...) only returning a list of CanonicalForm 's
80// (i.e. the variables as CanonicalForms)
81CFList newordercf (const CFList & PolyList);
82
83// the same as neworder(...) only returning a list of int 's (i.e. the levels)
84IntList 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//
98CFList reorder (const Varlist & betterorder, const CFList & PS);
99CFFList reorder (const Varlist & betterorder, const CFFList & PS);
100ListCFList reorder (const Varlist & betterorder, const ListCFList & Q);
101/*ENDPUBLIC*/
102
103#endif
This file provides utility functions to compute characteristic sets.
CFList charSetViaCharSetN(const CFList &PS)
compute a characteristic set via medial set
Definition: cfCharSets.cc:246
ListCFList charSeries(const CFList &L)
characteristic series
Definition: cfCharSets.cc:411
CFList charSet(const CFList &PS)
characteristic set
Definition: cfCharSets.cc:187
ListCFList FACTORY_PUBLIC irrCharSeries(const CFList &PS)
irreducible characteristic series
Definition: cfCharSets.cc:568
IntList FACTORY_PUBLIC neworderint(const CFList &PolyList)
Definition: cfCharSets.cc:88
CFList charSetN(const CFList &PS)
medial set
Definition: cfCharSets.cc:216
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
CFList newordercf(const CFList &PolyList)
Definition: cfCharSets.cc:75
Varlist neworder(const CFList &PolyList)
CFList reorder(const Varlist &betterorder, const CFList &PS)
Definition: cfCharSets.cc:101
CFList modCharSet(const CFList &PS, StoreFactors &StoredFactors, bool removeContents=true)
modified medial set
Definition: cfCharSets.cc:284
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
class to store factors that get removed during char set computation
#define FACTORY_PUBLIC
Definition: globaldefs.h:25
#define Q
Definition: sirandom.c:26