1 | #ifndef CF_MAP_EXT_H |
---|
2 | #define CF_MAP_EXT_H |
---|
3 | // -*- c++ -*- |
---|
4 | //***************************************************************************** |
---|
5 | /** @file cf_map_ext.h |
---|
6 | * |
---|
7 | * @author Martin Lee |
---|
8 | * @date 16.11.2009 |
---|
9 | * |
---|
10 | * This file implements functions to map between extensions of finite fields |
---|
11 | * |
---|
12 | * @par Copyright: |
---|
13 | * (c) by The SINGULAR Team, see LICENSE file |
---|
14 | * |
---|
15 | **/ |
---|
16 | //***************************************************************************** |
---|
17 | |
---|
18 | // #include "config.h" |
---|
19 | |
---|
20 | int findItem (const CFList& list, const CanonicalForm& item); |
---|
21 | |
---|
22 | CanonicalForm getItem (const CFList& list, const int& pos); |
---|
23 | |
---|
24 | CanonicalForm GFMapUp (const CanonicalForm & F, int k); |
---|
25 | |
---|
26 | CanonicalForm GFMapDown (const CanonicalForm & F, int k); |
---|
27 | |
---|
28 | CanonicalForm |
---|
29 | mapUp (const CanonicalForm& F, const Variable& alpha, const Variable& beta, |
---|
30 | const CanonicalForm& prim_elem, const CanonicalForm& im_prim_elem, |
---|
31 | CFList& source, CFList& dest); |
---|
32 | |
---|
33 | CanonicalForm |
---|
34 | mapDown (const CanonicalForm& F, const CanonicalForm& prim_elem, const |
---|
35 | CanonicalForm& im_prim_elem, const Variable& alpha, CFList& source, |
---|
36 | CFList& dest); |
---|
37 | |
---|
38 | CanonicalForm |
---|
39 | primitiveElement (const Variable& alpha, Variable& beta, bool fail); |
---|
40 | |
---|
41 | CanonicalForm |
---|
42 | mapPrimElem (const CanonicalForm& prim_elem, const Variable& alpha, |
---|
43 | const Variable& beta); |
---|
44 | |
---|
45 | CanonicalForm GF2FalphaRep (const CanonicalForm& F, const Variable& alpha); |
---|
46 | |
---|
47 | CanonicalForm Falpha2GFRep (const CanonicalForm& F); |
---|
48 | |
---|
49 | /// map from \f$ F_p(\alpha) \f$ to \f$ F_p(\beta) \f$ such that |
---|
50 | /// \f$ F\in F_p(\alpha) \f$ is mapped onto \f$ \beta \f$ |
---|
51 | /// |
---|
52 | /// @return @a map returns the image of @a primElem such that the above |
---|
53 | /// described properties hold |
---|
54 | CanonicalForm |
---|
55 | map (const CanonicalForm& primElem,///< [in] primitive element of |
---|
56 | ///< \f$ F_p (\alpha) \f$ |
---|
57 | const Variable& alpha, ///< [in] algebraic variable |
---|
58 | const CanonicalForm& F, ///< [in] an element of \f$ F_p (\alpha) \f$, |
---|
59 | ///< whose minimal polynomial defines a field |
---|
60 | ///< extension of \f$ F_p \f$ of degree |
---|
61 | ///< \f$ F_p (\alpha):F_p \f$ |
---|
62 | const Variable& beta ///< [in] algebraic variable, root of \a F's |
---|
63 | ///< minimal polynomial |
---|
64 | ); |
---|
65 | |
---|
66 | /// compute minimal polynomial of \f$ F\in F_p(\alpha)\backslash F_p \f$ via NTL |
---|
67 | /// |
---|
68 | /// @return @a findMinPoly computes the minimal polynomial of F |
---|
69 | CanonicalForm |
---|
70 | findMinPoly (const CanonicalForm& F, ///< [in] an element of |
---|
71 | ///< \f$ F_p(\alpha)\backslash F_p \f$ |
---|
72 | const Variable& alpha ///< [in] algebraic variable |
---|
73 | ); |
---|
74 | |
---|
75 | #endif |
---|