Orthogonal Array Library
1.0.0
Libray for generating orthogonal arrays based on Art Owen's oa library
|
Go to the documentation of this file.
29 void fillAllPolynomials();
30 void computeSumsAndProducts();
31 void computeMultiplicativeInverse();
32 void computeNegative();
34 static std::vector<int> initializePowerCycle(
int q);
82 static void polyProd(
int p,
size_t u_n,
const std::vector<int> &
xton,
const std::vector<int> & p1,
const std::vector<int> & p2, std::vector<int> & prod);
93 static void polySum(
int p,
size_t u_n,
const std::vector<int> & p1,
const std::vector<int> & p2, std::vector<int> & sum);
size_t u_q
field element vector lenth
Definition: GaloisField.h:46
int p
prime modulus q=p^n
Definition: GaloisField.h:42
void print()
Print a Galois field.
Definition: GaloisField.cpp:282
int q
the order of the field q = p^n
Definition: GaloisField.h:44
static int poly2int(int p, int n, const std::vector< int > &poly)
Convert polynomial to integer in 0..q-1
Definition: GaloisField.cpp:266
Orthogonal Array Namespace.
Definition: ak.h:39
Class to define a Galois Field and Methods for operations.
Definition: GaloisField.h:27
bclib::matrix< int > plus
sum field of dimension u_q x u_q
Definition: GaloisField.h:56
GaloisField()
Default Constructor.
Definition: GaloisField.cpp:216
bclib::matrix< int > poly
polynomial field of dimenstion u_q x u_n
Definition: GaloisField.h:60
bclib::matrix< int > times
product field of dimension u_q x u_q
Definition: GaloisField.h:58
int n
prime modulus exponent q = p^n
Definition: GaloisField.h:38
static void polyProd(int p, size_t u_n, const std::vector< int > &xton, const std::vector< int > &p1, const std::vector< int > &p2, std::vector< int > &prod)
Multiplication in polynomial representation.
Definition: GaloisField.cpp:236
static void polySum(int p, size_t u_n, const std::vector< int > &p1, const std::vector< int > &p2, std::vector< int > &sum)
Addition in polynomial representation.
Definition: GaloisField.cpp:225
size_t u_n
polynomial vector length
Definition: GaloisField.h:40
std::vector< int > root
root
Definition: GaloisField.h:54
std::vector< int > xton
characteristic polynomial of length u_n
Definition: GaloisField.h:48
std::vector< int > neg
row number of which row of poly is the negative (additive inverse) of this row of lenth u_q
Definition: GaloisField.h:52
std::vector< int > inv
Indicator of which row of poly is the multiplicative inverse of this row of length u_q.
Definition: GaloisField.h:50