source: git/factory/cf_map_ext.h @ 72ebdb

spielwiese
Last change on this file since 72ebdb was e4fe2b, checked in by Oleksandr Motsak <motsak@…>, 13 years ago
FIX: Fixed huge BUG in cf_gmp.h CHG: starting to cleanup factory
  • Property mode set to 100644
File size: 2.7 KB
Line 
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 * @internal
16 * @version \$Id$
17 *
18**/
19//*****************************************************************************
20
21// #include "config.h"
22
23int findItem (const CFList& list, const CanonicalForm& item);
24
25CanonicalForm getItem (const CFList& list, const int& pos);
26
27CanonicalForm GFMapUp (const CanonicalForm & F, int k);
28
29CanonicalForm GFMapDown (const CanonicalForm & F, int k);
30
31CanonicalForm
32mapUp (const CanonicalForm& F, const Variable& alpha, const Variable& beta,
33        const CanonicalForm& prim_elem, const CanonicalForm& im_prim_elem,
34        CFList& source, CFList& dest);
35
36CanonicalForm
37mapDown (const CanonicalForm& F, const CanonicalForm& prim_elem, const
38          CanonicalForm& im_prim_elem, const Variable& alpha, CFList& source,
39          CFList& dest);
40
41CanonicalForm
42primitiveElement (const Variable& alpha, Variable& beta, bool fail);
43
44CanonicalForm
45mapPrimElem (const CanonicalForm& prim_elem, const Variable& alpha,
46             const Variable& beta);
47
48CanonicalForm GF2FalphaRep (const CanonicalForm& F, const Variable& alpha);
49
50CanonicalForm Falpha2GFRep (const CanonicalForm& F);
51
52/// map from \f$ F_p(\alpha) \f$ to \f$ F_p(\beta) \f$ such that
53/// \f$ F\in\F_p(\alpha) \f$ is mapped onto \f$ \beta \f$
54///
55/// @return @a map returns the image of @a primElem such that the above
56/// described properties hold
57CanonicalForm
58map (const CanonicalForm& primElem,///< [in] primitive element of
59                                   ///< \f$ F_p (\alpha) \f$
60     const Variable& alpha,        ///< [in] algebraic variable
61     const CanonicalForm& F,       ///< [in] an element of \f$ F_p (\alpha) \f$,
62                                   ///< whose minimal polynomial defines a field
63                                   ///< extension of \f$ F_p \f$ of degree
64                                   ///< \f$ \[F_p (\alpha):F_p\] \f$
65     const Variable& beta          ///< [in] algebraic variable, root of \a F's
66                                   ///< minimal polynomial
67    );
68
69/// compute minimal polynomial of \f$ F\in\F_p(\alpha)\backslash\F_p \f$ via NTL
70///
71/// @return @a findMinPoly computes the minimal polynomial of F
72CanonicalForm
73findMinPoly (const CanonicalForm& F, ///< [in] an element of
74                                     ///< \f$ \F_p(\alpha)\backslash\F_p \f$
75             const Variable& alpha   ///< [in] algebraic variable
76            );
77
78#endif
Note: See TracBrowser for help on using the repository browser.