source: git/factory/cfCharSets.h @ fb1675

spielwiese
Last change on this file since fb1675 was fb1675, checked in by Hans Schoenemann <hannes@…>, 7 years ago
use include ".." for singular related .h, p8
  • Property mode set to 100644
File size: 3.2 KB
Line 
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
30CFList
31basicSet (const CFList& PS);
32
33/// characteristic set
34CFList
35charSet (const CFList& PS);
36
37/// modified medial set
38CFList
39modCharSet (const CFList& PS, StoreFactors& StoredFactors,
40            bool removeContents= true);
41
42CFList
43modCharSet (const CFList& PS, bool removeContents);
44
45CFList
46charSetViaCharSetN (const CFList& PS);
47
48CFList
49charSetN (const CFList &PS);
50
51/// modified characteristic set, i.e. a characteristic set with certain
52/// factors removed
53CFList
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
59CFList
60charSetViaModCharSet (const CFList& PS, bool removeContents= true);
61
62/// characteristic series
63ListCFList
64charSeries (const CFList& L);
65
66/// irreducible characteristic series
67ListCFList
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 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
Note: See TracBrowser for help on using the repository browser.