source: git/factory/libfac/charset/reorder.h @ 16055bd

jengelh-datetimespielwiese
Last change on this file since 16055bd was 16055bd, checked in by Martin Lee <martinlee84@…>, 11 years ago
chg: move libfac into factory
  • Property mode set to 100644
File size: 1.7 KB
Line 
1////////////////////////////////////////////////////////////
2// emacs edit mode for this file is -*- C++ -*-
3////////////////////////////////////////////////////////////
4#ifndef INCL_REORDER_H
5#define INCL_REORDER_H
6
7#include <factory.h>
8#include <tmpl_inst.h>  // for typedef's
9
10/*BEGINPUBLIC*/
11// the next three give you a heuristically optimal reorderd list of the
12// variables. For internal and external (e.g. Singular/Macaulay2) library use.
13// This is really experimental!
14// See the comments in reorder.cc.
15//
16// this gives you a heuristically optimal ordering for the ring variables
17// if you use the irreducible characteristic series.
18Varlist  neworder( const CFList & PolyList );
19// the same as neworder(...) only returning a list of CanonicalForm 's
20// (i.e. the variables as CanonicalForms)
21CFList   newordercf(const CFList & PolyList );
22// the same as neworder(...) only returning a list of int 's (i.e. the levels)
23IntList  neworderint(const CFList & PolyList );
24
25// for library internal use only:
26// next function reorders the variables in PS:
27// a code segment to use:
28// ...
29// #include <tmpl_inst.h> // for typedef's
30// CFList PS= <setup-your-list-of-CanonicalForms>;
31// Varlist betterorder= neworder(PS);
32// PS= reorder(betterorder,PS); // reorder variables in PS from oldorder
33//                                 to betterorder
34// ListCFList Q= IrrCharSeries( PS );
35// Q= reorder(betterorder,Q);   // revert ordering to oldorder
36//
37CFList reorder( const Varlist & betterorder, const CFList & PS);
38CFFList reorder( const Varlist & betterorder, const CFFList & PS);
39ListCFList reorder(const Varlist & betterorder, const ListCFList & Q);
40/*ENDPUBLIC*/
41
42#endif /* INCL_REORDER_H */
Note: See TracBrowser for help on using the repository browser.