1 | /*****************************************************************************\ |
---|
2 | * Computer Algebra System SINGULAR |
---|
3 | \*****************************************************************************/ |
---|
4 | /** @file facAlgFuncUtil.h |
---|
5 | * |
---|
6 | * Utility functions for factorization over algebraic function fields |
---|
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 | * @author Martin Lee |
---|
13 | * |
---|
14 | **/ |
---|
15 | /*****************************************************************************/ |
---|
16 | |
---|
17 | |
---|
18 | #ifndef FAC_ALG_FUNC_UTIL_H |
---|
19 | #define FAC_ALG_FUNC_UTIL_H |
---|
20 | |
---|
21 | CFFList |
---|
22 | append (const CFFList & Inputlist, const CFFactor & TheFactor); |
---|
23 | |
---|
24 | CFFList |
---|
25 | merge (const CFFList & Inputlist1, const CFFList & Inputlist2); |
---|
26 | |
---|
27 | Varlist |
---|
28 | varsInAs (const Varlist & uord, const CFList & As); |
---|
29 | |
---|
30 | int hasVar (const CanonicalForm &f, const Variable &v); |
---|
31 | |
---|
32 | int hasAlgVar(const CanonicalForm &f); |
---|
33 | |
---|
34 | CanonicalForm |
---|
35 | generateMipo (int degOfExt); |
---|
36 | |
---|
37 | CanonicalForm alg_lc (const CanonicalForm & f); |
---|
38 | |
---|
39 | CanonicalForm alg_LC (const CanonicalForm& f, int lev); |
---|
40 | |
---|
41 | void deflateDegree (const CanonicalForm & F, int & pExp, int n); |
---|
42 | |
---|
43 | CanonicalForm deflatePoly (const CanonicalForm & F, int exps, int n); |
---|
44 | |
---|
45 | CanonicalForm inflatePoly (const CanonicalForm & F, int exps, int n); |
---|
46 | |
---|
47 | void |
---|
48 | multiplicity (CFFList& factors, const CanonicalForm& F, const CFList& as); |
---|
49 | |
---|
50 | CanonicalForm |
---|
51 | backSubst (const CanonicalForm& F, const CFList& a, const CFList& b); |
---|
52 | |
---|
53 | CanonicalForm |
---|
54 | subst (const CanonicalForm& f, const CFList& a, const CFList& b, |
---|
55 | const CanonicalForm& Rstar, bool isFunctionField); |
---|
56 | |
---|
57 | CanonicalForm |
---|
58 | divide (const CanonicalForm & ff, const CanonicalForm & f, const CFList & as); |
---|
59 | |
---|
60 | CanonicalForm |
---|
61 | QuasiInverse (const CanonicalForm& f, const CanonicalForm& g, |
---|
62 | const Variable& x); |
---|
63 | |
---|
64 | CanonicalForm |
---|
65 | evaluate (const CanonicalForm& f, const CanonicalForm& g, |
---|
66 | const CanonicalForm& h, const CanonicalForm& powH, |
---|
67 | const Variable& v); |
---|
68 | |
---|
69 | int |
---|
70 | getDegOfExt (IntList & degreelist, int n); |
---|
71 | |
---|
72 | bool |
---|
73 | isInseparable (const CFList & Astar); |
---|
74 | |
---|
75 | #endif |
---|
76 | |
---|