# Package org.bouncycastle.pqc.math.linearalgebra

- Interface Summary
  Interface | Description
  --- | ---
  GFElement | This interface defines a finite field element.

- Class Summary
  Class | Description
  --- | ---
  BigEndianConversions | This is a utility class containing data type conversions using big-endian byte order.
  BigIntUtils | FIXME: is this really necessary?!
  ByteUtils | This class is a utility class for manipulating byte arrays.
  CharUtils |
  GF2Matrix | This class describes some operations with matrices over finite field GF(2) and is used in ecc and MQ-PKC (also has some specific methods and implementation)
  GF2mField | This class describes operations with elements from the finite field F = GF(2^m). ( GF(2^m)= GF(2)[A] where A is a root of irreducible polynomial with degree m, each field element B has a polynomial basis representation, i.e. it is represented by a different binary polynomial of degree less than m, B = poly(A) ) All operations are defined only for field with 1< m <32.
  GF2mMatrix | This class describes some operations with matrices over finite field GF(2m) with small m (1< m <32).
  GF2mVector | This class implements vectors over the finite field `GF(2m)` for small `m` (i.e., `1<m<32`).
  GF2nElement | This abstract class implements an element of the finite field GF(2)n in either optimal normal basis representation (ONB) or in polynomial representation.
  GF2nField | This abstract class defines the finite field GF(2n).
  GF2nONBElement | This class implements an element of the finite field GF(2n ).
  GF2nONBField | This class implements the abstract class `GF2nField` for ONB representation.
  GF2nPolynomial | This class implements polynomials over GF2nElements.
  GF2nPolynomialElement | This class implements elements of finite binary fields GF(2n) using polynomial representation.
  GF2nPolynomialField | This class implements the abstract class `GF2nField` for polynomial representation.
  GF2Polynomial | This class stores very long strings of bits and does some basic arithmetics.
  GF2Vector | This class implements the abstract class `Vector` for the case of vectors over the finite field GF(2).
  GoppaCode | This class describes decoding operations of an irreducible binary Goppa code.
  GoppaCode.MaMaPe | This class is a container for two instances of `GF2Matrix` and one instance of `Permutation`.
  GoppaCode.MatrixSet | This class is a container for an instance of `GF2Matrix` and one int[].
  IntegerFunctions | Class of number-theory related functions for use with integers represented as `int`'s or `BigInteger` objects.
  IntUtils |
  LittleEndianConversions | This is a utility class containing data type conversions using little-endian byte order.
  Matrix | This abstract class defines matrices.
  Permutation | This class implements permutations of the set {0,1,...
  PolynomialGF2mSmallM | This class describes operations with polynomials from the ring R = GF(2^m)[X], where 2 <= m <=31.
  PolynomialRingGF2 | This class describes operations with polynomials over finite field GF(2), i e polynomial ring R = GF(2)[X].
  PolynomialRingGF2m | This class represents polynomial rings `GF(2^m)[X]/p(X)` for `m<32`.
  RandUtils |
  Vector | This abstract class defines vectors.