Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

linbox/field


Detailed Description

LinBox fields, field wrappers, field construction tools.

LinBox fields implement the concept which is specified in the field archetype.

Some implement a basic ring concept rather than a field (inv and div are partial functions). Ring representations with additional functions are also found in the linbox/ring directory.


Data Structures

class  FieldAbstract
 field base class. More...

class  FieldArchetype
 field specification and archetypical instance. More...

class  FieldEnvelope
 Derived class used to implement the field archetype. More...

struct  GivaroField
 give LinBox fields an allure of Givaro Fields More...

class  GivaroGfq
class  GivaroMontg
 wrapper of Givaro's Montgomery<Std32>. More...

class  GivaroZpz
 wrapper of Givaro's ZpzDom. More...

class  Hom
 map element of source ring(field) to target ring More...

class  LidiaGfq
 defines the Galois Field GF(pk). More...

struct  Local2_32
 Fast arithmetic mod 2^32, including gcd. More...

class  Modular< int >
 template <> More...

class  Modular< int32 >
 template <> More...

class  Modular< int8 >
 Specialization of Modular to signed 8 bit element type with efficient dot product. More...

class  Modular< double >
 template <> More...

class  Modular< int >
 template <> More...

class  Modular< int32 >
 template <> More...

class  Modular< int16 >
 Specialization of Modular to short element type with efficient dot product. More...

class  ModularBase
class  UnparametricRandIter< NTL::GF2E >
 template<> More...

struct  NTL_zz_p
struct  NTL_PID_zz_p
 extend Wrapper of zz_p from NTL. Add PID functions More...

class  ParamFuzzy
class  PIR_ntl_ZZ_p
 extend Wrapper of ZZ_p from NTL. Add PIR functions More...


class RR.

Rational number field. This field is provided as a convenience in a few places. Use with caution because expression swell.

This specialization allows the {UnparametricField} template class to be used to wrap NTL's RR class as a LinBox field.

template<> NTL::RR & LinBox::UnparametricField< NTL::RR >::init (NTL::RR &x, const integer &y) const
template<> integerLinBox::UnparametricField< NTL::RR >::convert (integer &x, const NTL::RR &y) const
template<> NTL::RR & LinBox::UnparametricField< NTL::RR >::inv (NTL::RR &x, const NTL::RR &y) const
template<> bool LinBox::UnparametricField< NTL::RR >::isZero (const NTL::RR &x) const
template<> bool LinBox::UnparametricField< NTL::RR >::isOne (const NTL::RR &x) const
template<> NTL::RR & LinBox::UnparametricField< NTL::RR >::invin (NTL::RR &x) const
template<> std::ostream & LinBox::UnparametricField< NTL::RR >::write (std::ostream &os) const
template<> NTL::RR & LinBox::UnparametricRandIter< NTL::RR >::random (NTL::RR &elt) const

Functions

template<> NTL::ZZ_p & LinBox::UnparametricField< NTL::ZZ_p >::init (NTL::ZZ_p &x, const integer &y) const
 Initialization of field element from an integer. Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. This done by converting to a std::string : inefficient but correct.


Function Documentation

NTL::RR& UnparametricField< NTL::RR >::init NTL::RR &  x,
const integer y
const
 

Initialization of field element from an integer. Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the integer type to a C++ long and then to the element type through the use of static cast and NTL's to_RR function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long.

Returns:
reference to field element.
Parameters:
x field element to contain output (reference returned).
y integer.

NTL::ZZ_p& UnparametricField< NTL::ZZ_p >::init NTL::ZZ_p &  x,
const integer y
const
 

Initialization of field element from an integer. Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. This done by converting to a std::string : inefficient but correct.

Returns:
reference to field element.
Parameters:
x field element to contain output (reference returned).
y integer.

integer& UnparametricField< NTL::RR >::convert integer x,
const NTL::RR &  y
const
 

Conversion of field element to an integer. This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the element type to a C++ long and then to the integer type through the use of static cast and NTL's to_long function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long.

Returns:
reference to integer.
Parameters:
x reference to integer to contain output (reference returned).
y constant reference to field element.

NTL::RR& UnparametricField< NTL::RR >::inv NTL::RR &  x,
const NTL::RR &  y
const
 

Multiplicative Inverse. x = 1 / y This function assumes both field elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x field element (reference returned).
y field element.

bool UnparametricField< NTL::RR >::isZero const NTL::RR &  x  )  const
 

Zero equality. Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called.

Returns:
boolean true if equals zero, false if not.
Parameters:
x field element.

bool UnparametricField< NTL::RR >::isOne const NTL::RR &  x  )  const
 

One equality. Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called.

Returns:
boolean true if equals one, false if not.
Parameters:
x field element.

NTL::RR& UnparametricField< NTL::RR >::invin NTL::RR &  x  )  const
 

Inplace Multiplicative Inverse. x = 1 / x This function assumes both field elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x field element (reference returned).

std::ostream& UnparametricField< NTL::RR >::write std::ostream &  os  )  const
 

Print field.

Returns:
output stream to which field is written.
Parameters:
os output stream to which field is written.

NTL::RR& UnparametricRandIter< NTL::RR >::random NTL::RR &  elt  )  const
 

Random field element creator. This returns a random field element from the information supplied at the creation of the generator. This generator uses the built-in C++ random number generator instead of NTL's random function because the NTL function does not allow as much control over the sampling size as the generic LinBox template. This specialization is included only to allow conversion to an NTL object.

Returns:
random field element


Generated on Fri Jul 8 10:29:43 2005 for linbox by doxygen 1.3.7