source: git/factory/libfac/libfac.h @ e65b1a4

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