source: git/libfac/libfac.h @ 9d6bf4

spielwiese
Last change on this file since 9d6bf4 was 18500b, checked in by Martin Lee <martinlee84@…>, 12 years ago
chg: moved libfac back
  • Property mode set to 100644
File size: 3.0 KB
Line 
1// Header file for libfac.a
2// Created by -- makeheader --
3///////////////////////////////////////
4#ifndef FACTOR_H
5#define FACTOR_H
6
7#include <factory/factory.h>
8
9// Set this to a nonzero value to interrupt the computation
10extern int libfac_interruptflag;
11
12/*
13// some values you can ask for:
14extern const char * libfac_name;
15extern const char * libfac_version;
16extern const char * libfac_date;
17extern const char * libfac_author;
18*/
19
20/*
21CFFList Factorize( const CanonicalForm & F, const CanonicalForm & mipo, int is_SqrFree=0 ) ;
22CFFList newfactoras( const CanonicalForm & f, const CFList & as, int &success);
23CFFList newcfactor( const CanonicalForm & f, const CFList & as, int &success);
24*/
25
26
27//// Note: InternalSqrFree does only the work needed for factorization.
28// CFFList SqrFree( const CanonicalForm & f ) ;
29
30typedef List<CFList> ListCFList;
31typedef List<int> IntList ;
32
33// typedef ListIterator<int> IntListIterator ;
34// typedef List<Variable> Varlist;
35// typedef ListIterator<Variable> VarlistIterator;
36
37////////////////////////////////////////
38/// from charsets:
39/*
40class PremForm {
41public:
42  CFList FS1;
43  CFList FS2;
44  inline PremForm& operator=( const PremForm&  value ){
45    if ( this != &value ){
46      FS1 = value.FS1;
47      FS2 = value.FS2;
48    }
49    return *this;
50  }
51};
52
53
54CanonicalForm  Prem( const CanonicalForm &f, const CanonicalForm &g );
55CanonicalForm  Prem( const CanonicalForm &f, const CFList &L );
56CFList         Prem( const CFList &AS, const CFList &L );
57CFList     MCharSetN( const CFList &PS, PremForm & Remembern );
58*/
59
60
61/// Char. set
62ListCFList IrrCharSeries( const CFList &PS, int opt=0 );
63
64/*
65// the next three give you a heuristically optimal reorderd list of the
66// variables. For internal and external (e.g. Singular/Macaulay2) library use.
67// This is really experimental!
68// See the comments in reorder.cc.
69//
70// this gives you a heuristically optimal ordering for the ring variables
71// if you use the irreducible characteristic series.
72Varlist  neworder( const CFList & PolyList );
73// the same as neworder(...) only returning a list of CanonicalForm 's
74// (i.e. the variables as CanonicalForms)
75CFList   newordercf(const CFList & PolyList );
76*/
77
78/// the same as neworder(...) only returning a list of int 's (i.e. the levels)
79IntList  neworderint(const CFList & PolyList );
80
81/*
82// for library internal use only:
83// next function reorders the variables in PS:
84// a code segment to use:
85// ...
86// #include <tmpl_inst.h> // for typedef's
87// CFList PS= <setup-your-list-of-CanonicalForms>;
88// Varlist betterorder= neworder(PS);
89// PS= reorder(betterorder,PS); // reorder variables in PS from oldorder
90//                                 to betterorder
91// ListCFList Q= IrrCharSeries( PS );
92// Q= reorder(betterorder,Q);   // revert ordering to oldorder
93//
94CFList reorder( const Varlist & betterorder, const CFList & PS);
95CFFList reorder( const Varlist & betterorder, const CFFList & PS);
96ListCFList reorder(const Varlist & betterorder, const ListCFList & Q);
97*/
98
99#endif /* FACTOR_H */
Note: See TracBrowser for help on using the repository browser.