My Project
Public Member Functions | Private Attributes
ExtensionInfo Class Reference

ExtensionInfo contains information about extension. More...

#include "factory/ExtensionInfo.h"

Public Member Functions

 ExtensionInfo (const bool extension)
 $ F_p $ as initial field, if extension is true we are in some GF More...
 
 ExtensionInfo (const Variable &alpha, const Variable &beta, const CanonicalForm &gamma, const CanonicalForm &delta, const int nGFDegree, const char cGFName, const bool extension)
 Construct an ExtensionInfo. More...
 
 ExtensionInfo (const Variable &alpha, const Variable &beta, const CanonicalForm &gamma, const CanonicalForm &delta)
 $ F_p (\beta) $ as initial field and switch to an extension given by alpha, needs primitive elements gamma and delta for maps between $ F_p (\alpha) \subset F_p (\beta) $ More...
 
 ExtensionInfo (const Variable &alpha, const bool extension)
 $ F_p (\alpha) $ as initial field, if extension is false. Else initial field is $ F_p $ More...
 
 ExtensionInfo (const Variable &alpha)
 
 ExtensionInfo (const int nGFDegree, const char cGFName, const bool extension)
 GF as initial field. More...
 
Variable getAlpha () const
 getter More...
 
Variable getBeta () const
 getter More...
 
CanonicalForm getGamma () const
 getter More...
 
CanonicalForm getDelta () const
 getter More...
 
int getGFDegree () const
 getter More...
 
char getGFName () const
 getter More...
 
bool isInExtension () const
 getter More...
 

Private Attributes

Variable m_alpha
 an algebraic variable or Variable (1) More...
 
Variable m_beta
 an algebraic variable or Variable (1) More...
 
CanonicalForm m_gamma
 a primitive element of $ F_p (\alpha) $ or 1 More...
 
CanonicalForm m_delta
 a primitive element of $ F_p (\beta) $ or 1 More...
 
int m_GFDegree
 GF degree or 1. More...
 
char m_GFName
 name of GF variable More...
 
bool m_extension
 indicates if we are in an extension of some initial field More...
 

Detailed Description

ExtensionInfo contains information about extension.

If m_extension is true we are in an extension of some initial field. If the initial field is $ F_p $ and we pass to $ F_p (\alpha) $ then m_alpha is an algebraic variable, m_beta= Variable(1), m_gamma= m_delta= 1, m_GFDegree= 0, m_GFName= 'Z'. If we pass to some GF (p^k) then m_alpha= Variable (1), m_beta= Variable(1), m_gamma= m_delta= 1, m_GFDegree= 1, m_GFName= 'Z'.
If the initial field is $ F_p (\epsilon) $, then m_beta= $ \epsilon $, m_alpha an algebraic variable defining an extension of $ F_p (\epsilon) $, m_gamma is a primitive element of $ F_p (\alpha) $, m_delta is a primitive element of $ F_p (\beta) $, m_GFDegree= 0, m_GFName= 'Z'.
If the initial field is GF(p^k), then m_alpha= Variable (1), m_beta= Variable (1), m_gamma= 1, m_delta= 1, m_GFDegree()= k, m_GFName= gf_name of the initial field.
If m_extension is false and the current field is $ F_p $ then m_alpha= Variable (1), m_beta= Variable (1), m_gamma= 1, m_delta= 1, m_GFDegree= 1, m_GFName= 'Z'.
If the current field is $ F_p (\alpha) $ then m_alpha is some algebraic variable, m_beta= Variable (1), m_gamma= 1, m_delta= 1, m_GFDegree= 0, m_GFName= 'Z'.
If the current field is GF then m_alpha= Variable (1), m_beta= Variable (1), m_gamma= 1, m_delta= 1, m_GFDegree= getGFDegree(), m_GFName= gf_name.

See also
facFqBivar.h, facFqFactorize.h

Definition at line 50 of file ExtensionInfo.h.

Constructor & Destructor Documentation

◆ ExtensionInfo() [1/6]

ExtensionInfo::ExtensionInfo ( const bool  extension)

$ F_p $ as initial field, if extension is true we are in some GF

Parameters
[in]extensionsome bool

Definition at line 19 of file ExtensionInfo.cc.

20{
21 m_alpha= Variable (1);
22 m_beta= Variable (1);
25 m_GFDegree= 1;
26 m_GFName= 'Z';
27 m_extension= extension;
28}
factory's main class
Definition: canonicalform.h:86
CanonicalForm m_delta
a primitive element of or 1
Definition: ExtensionInfo.h:60
int m_GFDegree
GF degree or 1.
Definition: ExtensionInfo.h:62
bool m_extension
indicates if we are in an extension of some initial field
Definition: ExtensionInfo.h:66
char m_GFName
name of GF variable
Definition: ExtensionInfo.h:64
Variable m_beta
an algebraic variable or Variable (1)
Definition: ExtensionInfo.h:56
Variable m_alpha
an algebraic variable or Variable (1)
Definition: ExtensionInfo.h:54
CanonicalForm m_gamma
a primitive element of or 1
Definition: ExtensionInfo.h:58
factory's class for variables
Definition: factory.h:127

◆ ExtensionInfo() [2/6]

ExtensionInfo::ExtensionInfo ( const Variable alpha,
const Variable beta,
const CanonicalForm gamma,
const CanonicalForm delta,
const int  nGFDegree,
const char  cGFName,
const bool  extension 
)

Construct an ExtensionInfo.

Parameters
[in]alphasome algebraic variable
[in]betasome algebraic variable
[in]gammasome primitive element of $ F_p (\alpha) $
[in]deltasome primitive element of $ F_p (\beta) $
[in]nGFDegreeGFDegree of initial field
[in]cGFNamename of GF variable of initial field
[in]extensionsome bool

Definition at line 30 of file ExtensionInfo.cc.

34{
36 m_beta= beta;
37 m_gamma= gamma;
39 m_GFDegree= nGFDegree;
40 m_GFName= cGFName;
41 m_extension= extension;
42}
Variable alpha
Definition: facAbsBiFact.cc:51
Variable beta
Definition: facAbsFact.cc:95
bool delta(X x, Y y, D d)
Definition: TestSuite.h:160

◆ ExtensionInfo() [3/6]

ExtensionInfo::ExtensionInfo ( const Variable alpha,
const Variable beta,
const CanonicalForm gamma,
const CanonicalForm delta 
)

$ F_p (\beta) $ as initial field and switch to an extension given by alpha, needs primitive elements gamma and delta for maps between $ F_p (\alpha) \subset F_p (\beta) $

Parameters
[in]alphasome algebraic variable
[in]betasome algebraic variable
[in]gammasome primitive element of $ F_p (\alpha) $
[in]deltasome primitive element of $ F_p (\beta) $

Definition at line 44 of file ExtensionInfo.cc.

47{
49 m_beta= beta;
50 m_gamma= gamma;
52 m_GFDegree= 0;
53 m_GFName= 'Z';
54 m_extension= true;
55}

◆ ExtensionInfo() [4/6]

ExtensionInfo::ExtensionInfo ( const Variable alpha,
const bool  extension 
)

$ F_p (\alpha) $ as initial field, if extension is false. Else initial field is $ F_p $

Parameters
[in]alphasome algebraic variable
[in]extensionsome bool

Definition at line 57 of file ExtensionInfo.cc.

58{
60 m_beta= Variable (1);
63 m_GFDegree= 0;
64 m_GFName= 'Z';
65 m_extension= extension;
66}

◆ ExtensionInfo() [5/6]

ExtensionInfo::ExtensionInfo ( const Variable alpha)
Parameters
[in]alphasome algebraic variable

Definition at line 68 of file ExtensionInfo.cc.

69{
71 m_beta= Variable (1);
74 m_GFDegree= 1;
75 m_GFName= 'Z';
76 m_extension= true;
77}

◆ ExtensionInfo() [6/6]

ExtensionInfo::ExtensionInfo ( const int  nGFDegree,
const char  cGFName,
const bool  extension 
)

GF as initial field.

Parameters
[in]nGFDegreeGF degree of initial field
[in]cGFNamename of GF variable
[in]extensionsome bool

Definition at line 79 of file ExtensionInfo.cc.

81{
82 m_alpha= Variable (1);
83 m_beta= Variable (1);
86 m_GFDegree= nGFDegree;
87 m_GFName= cGFName;
88 m_extension= extension;
89}

Member Function Documentation

◆ getAlpha()

Variable ExtensionInfo::getAlpha ( ) const
inline

getter

Returns
getAlpha() returns m_alpha

Definition at line 111 of file ExtensionInfo.h.

112 {
113 return m_alpha;
114 }

◆ getBeta()

Variable ExtensionInfo::getBeta ( ) const
inline

getter

Returns
getBeta() returns m_beta

Definition at line 118 of file ExtensionInfo.h.

119 {
120 return m_beta;
121 }

◆ getDelta()

CanonicalForm ExtensionInfo::getDelta ( ) const
inline

getter

Returns
getDelta() returns m_delta

Definition at line 132 of file ExtensionInfo.h.

133 {
134 return m_delta;
135 }

◆ getGamma()

CanonicalForm ExtensionInfo::getGamma ( ) const
inline

getter

Returns
getGamma() returns m_gamma

Definition at line 125 of file ExtensionInfo.h.

126 {
127 return m_gamma;
128 }

◆ getGFDegree()

int ExtensionInfo::getGFDegree ( ) const
inline

getter

Returns
getGFDegree() returns m_GFDegree

Definition at line 139 of file ExtensionInfo.h.

140 {
141 return m_GFDegree;
142 }

◆ getGFName()

char ExtensionInfo::getGFName ( ) const
inline

getter

Returns
getGFName() returns m_GFName

Definition at line 146 of file ExtensionInfo.h.

147 {
148 return m_GFName;
149 }

◆ isInExtension()

bool ExtensionInfo::isInExtension ( ) const
inline

getter

Returns
isInextension() returns m_extension

Definition at line 153 of file ExtensionInfo.h.

154 {
155 return m_extension;
156 }

Field Documentation

◆ m_alpha

Variable ExtensionInfo::m_alpha
private

an algebraic variable or Variable (1)

Definition at line 54 of file ExtensionInfo.h.

◆ m_beta

Variable ExtensionInfo::m_beta
private

an algebraic variable or Variable (1)

Definition at line 56 of file ExtensionInfo.h.

◆ m_delta

CanonicalForm ExtensionInfo::m_delta
private

a primitive element of $ F_p (\beta) $ or 1

Definition at line 60 of file ExtensionInfo.h.

◆ m_extension

bool ExtensionInfo::m_extension
private

indicates if we are in an extension of some initial field

Definition at line 66 of file ExtensionInfo.h.

◆ m_gamma

CanonicalForm ExtensionInfo::m_gamma
private

a primitive element of $ F_p (\alpha) $ or 1

Definition at line 58 of file ExtensionInfo.h.

◆ m_GFDegree

int ExtensionInfo::m_GFDegree
private

GF degree or 1.

Definition at line 62 of file ExtensionInfo.h.

◆ m_GFName

char ExtensionInfo::m_GFName
private

name of GF variable

Definition at line 64 of file ExtensionInfo.h.


The documentation for this class was generated from the following files: