Loading...
Searching...
No Matches
cfCharSets.h
Go to the documentation of this file.
/*****************************************************************************\
* Computer Algebra System SINGULAR
\*****************************************************************************/
/** @file cfCharSets.h
*
* This file provides 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
#define CF_CHARSETS
#include "cfCharSetsUtil.h"
/*BEGINPUBLIC*/
/// basic set in the sense of Wang a.k.a. minimal ascending set in the sense of
/// Greuel/Pfister
CFList
basicSet (const CFList& PS);
/// characteristic set
CFList
charSet (const CFList& PS);
/// modified medial set
CFList
modCharSet (const CFList& PS, StoreFactors& StoredFactors,
bool removeContents= true);
CFList
modCharSet (const CFList& PS, bool removeContents);
CFList
charSetViaCharSetN (const CFList& PS);
CFList
charSetN (const CFList &PS);
/// modified characteristic set, i.e. a characteristic set with certain
/// factors removed
CFList
charSetViaModCharSet (const CFList& PS, StoreFactors& StoredFactors,
bool removeContents= true);
/// modified characteristic set, i.e. a characteristic set with certain
/// factors removed
CFList
charSetViaModCharSet (const CFList& PS, bool removeContents= true);
/// characteristic series
ListCFList
charSeries (const CFList& L);
/// irreducible characteristic series
ListCFList FACTORY_PUBLIC
irrCharSeries (const CFList & PS);
// the next three give you a heuristically optimal reorderd list of the
// variables. For internal and external (e.g. Singular/Macaulay2) library use.
// This is really experimental!
// See the comments in reorder.cc.
//
// this gives you a heuristically optimal ordering for the ring variables
// if you use the irreducible characteristic series.
Varlist neworder (const CFList & PolyList);
// the same as neworder(...) only returning a list of CanonicalForm 's
// (i.e. the variables as CanonicalForms)
CFList newordercf (const CFList & PolyList);
// the same as neworder(...) only returning a list of int 's (i.e. the levels)
IntList FACTORY_PUBLIC neworderint (const CFList & PolyList);
// for library internal use only:
// next function reorders the variables in PS:
// a code segment to use:
// ...
// #include "tmpl_inst.h" // for typedef's
// CFList PS= <setup-your-list-of-CanonicalForms>;
// Varlist betterorder= neworder(PS);
// PS= reorder(betterorder,PS); // reorder variables in PS from oldorder
// to betterorder
// ListCFList Q= IrrCharSeries( PS );
// Q= reorder(betterorder,Q); // revert ordering to oldorder
//
CFList reorder (const Varlist & betterorder, const CFList & PS);
CFFList reorder (const Varlist & betterorder, const CFFList & PS);
ListCFList reorder (const Varlist & betterorder, const ListCFList & Q);
/*ENDPUBLIC*/
#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