Latin Hypercube Samples (lhs)
1.0
R, C++, and Rcpp code to generate Latin hypercube samples
|
#include <GaloisField.h>
Public Member Functions | |
GaloisField (int q) | |
GaloisField () | |
void | print () |
Static Public Member Functions | |
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) |
static void | polySum (int p, size_t u_n, const std::vector< int > &p1, const std::vector< int > &p2, std::vector< int > &sum) |
static int | poly2int (int p, int n, const std::vector< int > &poly) |
Public Attributes | |
int | n |
size_t | u_n |
int | p |
int | q |
size_t | u_q |
std::vector< int > | xton |
std::vector< int > | inv |
std::vector< int > | neg |
std::vector< int > | root |
bclib::matrix< int > | plus |
bclib::matrix< int > | times |
bclib::matrix< int > | poly |
Class to define a Galois Field and Methods for operations
|
explicit |
Construct the Galois Field with order q
oacpp::GaloisField::GaloisField | ( | ) |
Default Constructor
|
static |
Convert polynomial to integer in 0..q-1
p | polynomial multiplier |
n | the length of poly |
poly | the polynomial |
|
static |
Multiplication in polynomial representation
p | modulus |
u_n | length of p1 and p2 |
xton | characteristic polynomial |
p1 | polynomial 1 |
p2 | polynomial 2 |
prod | the product of the polynomials |
|
static |
Addition in polynomial representation
p | modulus |
u_n | the length of p1 and p2 |
p1 | polynomial 1 |
p2 | polynomial 2 |
sum | the sum of the polynomials |
void oacpp::GaloisField::print | ( | ) |
Print a Galois field
std::vector<int> oacpp::GaloisField::inv |
Indicator of which row of poly is the multiplicative inverse of this row of length u_q
int oacpp::GaloisField::n |
prime modulus exponent q = p^n
std::vector<int> oacpp::GaloisField::neg |
row number of which row of poly is the negative (additive inverse) of this row of length u_q
int oacpp::GaloisField::p |
prime modulus q=p^n
bclib::matrix<int> oacpp::GaloisField::plus |
sum field of dimension u_q x u_q
bclib::matrix<int> oacpp::GaloisField::poly |
polynomial field of dimension u_q x u_n
int oacpp::GaloisField::q |
the order of the field q = p^n
std::vector<int> oacpp::GaloisField::root |
root
bclib::matrix<int> oacpp::GaloisField::times |
product field of dimension u_q x u_q
size_t oacpp::GaloisField::u_n |
polynomial vector length
size_t oacpp::GaloisField::u_q |
field element vector lenth
std::vector<int> oacpp::GaloisField::xton |
characteristic polynomial of length u_n