|
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