source: git/factory/cf_map_ext.h @ a37b34

spielwiese
Last change on this file since a37b34 was 72bfc8, checked in by Martin Lee <martinlee84@…>, 12 years ago
chg: deleted @internal
  • 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**/
16//*****************************************************************************
17
18// #include "config.h"
19
20int findItem (const CFList& list, const CanonicalForm& item);
21
22CanonicalForm getItem (const CFList& list, const int& pos);
23
24CanonicalForm GFMapUp (const CanonicalForm & F, int k);
25
26CanonicalForm GFMapDown (const CanonicalForm & F, int k);
27
28CanonicalForm
29mapUp (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
33CanonicalForm
34mapDown (const CanonicalForm& F, const CanonicalForm& prim_elem, const
35          CanonicalForm& im_prim_elem, const Variable& alpha, CFList& source,
36          CFList& dest);
37
38CanonicalForm
39primitiveElement (const Variable& alpha, Variable& beta, bool fail);
40
41CanonicalForm
42mapPrimElem (const CanonicalForm& prim_elem, const Variable& alpha,
43             const Variable& beta);
44
45CanonicalForm GF2FalphaRep (const CanonicalForm& F, const Variable& alpha);
46
47CanonicalForm 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
54CanonicalForm
55map (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
69CanonicalForm
70findMinPoly (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
Note: See TracBrowser for help on using the repository browser.