FAAST  0.2.1
Data Structures
Finite Field Arithmetics

Data Structures

class  FAAST::Field< T >
 A finite field. More...
class  FAAST::FieldElement< T >
 An element of a finite field. More...
class  FAAST::FieldPolynomial< T >
 An polynomial with coefficients over a finite field. More...

Detailed Description

This module contains three types, namely FAAST::Field, FAAST::FieldElement and FAAST::FieldPolynomial, which represent, respectively, finite fields, elements of finite fields and polynomials with coefficient over finite fields.

With some notable exception (see FieldElement() and FieldPolynomial()), each FAAST::FieldElement and FAAST::FieldPolynomial belongs to a FAAST::Field object called its parent field. Elements (and polynomials) having the same parent field can be combined (added, multiplied, etc.) freely, while limitations apply for combining elements belonging to two different fields; see FAAST::FieldElement and FAAST::FieldPolynomial.

Elements (and polynomials) can be moved from one field to another when a morphism is known; see Lattices of fields.