Interface for extension of LMC designs
Contains functions to generate and extend orthogonal arrays.
Enums
Functions
-
arraylist_t extend_arraylist(const arraylist_t &array_list, arraydata_t &array_class, OAextend const &oaextend_options)
Extend a list of orthogonal arrays
- Parameters:
array_list – The list of arrays to be extended
array_class – Class of arrays to generate
oaextend_options – Parameters for the extension algorithm
- Returns:
List of all generated arrays
-
arraylist_t extend_arraylist(const arraylist_t &array_list, const arraydata_t &arrayclass)
Extend a list of arrays with default options
-
int extend_arraylist(const arraylist_t &array_list, arraydata_t &array_class, OAextend const &oaextend_options, colindex_t extensioncol, arraylist_t &extensions)
Extend a list of orthogonal arrays
- Parameters:
array_list – The list of arrays to be extended
array_class – Class of arrays to generate
oaextend_options – Parameters for the extension algorithm
extensioncol – Index of column to be added to the designs
extensions – List to append generated designs to
- Returns:
List of all generated arrays
- Returns:
Number of candidate arrays generated
-
arraylist_t extend_array(const array_link &array, arraydata_t &array_class, OAextend const &oaextend)
Extend a single orthogonal array
- Parameters:
array – The array to be extended
array_class – Class of arrays to generate
oaextend – Parameters for the extension algorithm
-
arraylist_t extend_array(const array_link &array, arraydata_t &arrayclass)
Extend a single orthogonal array with the default LMC algorithm
-
int extend_array(const array_link &array, const arraydata_t *arrayclass, const colindex_t extension_column, arraylist_t &extensions, OAextend const &oaextend)
Extend an orthogonal array with a single column
- Parameters:
array – Array to extend
arrayclass – Array data for the full array
extension_column – Column to extend
extensions – List to which generated valid extensions are added
oaextend – Structure with options
- Returns:
Number of candidate extensions generated
-
arraylist_t runExtendRoot(arraydata_t arrayclass, int max_number_columns, int verbose = 0)
Run the LMC extension algorithm starting with the root array
-
class OAextend
- #include <extend.h>
Options for the extend code.
class containing parameters of the extension and LMC algorithm
Public Types
-
enum extendarray_mode_t
Specification of how to use the generated extensions.
Values:
-
enumerator APPENDEXTENSION
append extension column to extension list
-
enumerator APPENDFULL
append full array to extension list
-
enumerator STOREARRAY
store extension to disk
-
enumerator NONE
do not store generated extensions
-
enumerator APPENDEXTENSION
Public Functions
-
inline OAextend()
Options for the extension algorithm
-
inline OAextend(arraydata_t &arrayclass)
Options for the extension algorithm
The algorithm is automatically determined from the specified arrayclass.
-
void setAlgorithm(algorithm_t algorithm, arraydata_t *ad = 0)
Set the algorithm to use for LMC checks.
-
void setAlgorithmAuto(arraydata_t *ad = 0)
Set the algorithm automatically.
-
inline algorithm_t getAlgorithm() const
Return algorithm used.
-
inline std::string getAlgorithmName() const
Return algorithm used (as string)
-
void updateArraydata(arraydata_t *arrayclass = 0) const
update the options structuer with the specified class of designs
-
void info(int verbose = 1) const
print configuration to stdout
-
std::string __repr__() const
Public Members
-
double singleExtendTime
time before printing progress of single extension, [seconds]
-
int nLMC
number of arrays LMC tested before printing progress of single extension
-
int checkarrays
perform LMC test after generation of array
-
int check_maximal
if true then return at once if a single extension has been found
-
int use_row_symmetry
adds a symmetry check to the extension algorithm based in symmetry of row permutations
-
int init_column_previous
init column with previous column in extension (if in the same column group)
-
extendarray_mode_t extendarraymode
determines how the extension arrays are stored
-
arrayfile_t storefile
-
j5structure_t j5structure
Public Static Functions
-
static inline algorithm_t getPreferredAlgorithm(const arraydata_t &arrayclass, int verbose = 0)
Return preferred extension algorithm
- Parameters:
arrayclass – Class of designs to extend
verbose – Verbosity level
- Returns:
Algorithm selected to be used for this class
Private Members
-
algorithm_t algmode
Algorithm mode.
-
enum extendarray_mode_t
-
struct dextend_t
- #include <extend.h>
Structure for dynamic extension of arrays based on D-efficiencies.
Public Functions
-
inline dextend_t()
-
inline void resize(int nn)
-
void DefficiencyFilter(double Dfinal, int k, int kfinal, double Lmax, int verbose = 1)
perform filtering using D-efficiency
-
std::vector<int> filterArrays(const array_link &al, const arraylist_t &earrays, arraylist_t &earraysout, std::vector<std::vector<double>> &edata, int verbose = 1)
filter the arrays based on values in filter
Public Members
-
std::vector<int> lastcol
last column changed in lmc check
-
std::vector<double> Deff
calculated efficiency values
-
std::vector<int> filter
indices of filtered arrays
-
dcalc_mode Dcheck
-
int directcheck
perform immediate LMC check in extension
-
long ntotal
total number of arrays found
-
long nlmc
total number of arrays found in LMC form
-
long n
total number of arrays found passing all tests
-
double DmaxDiscard
-
long nmaxrnktotal
Public Static Attributes
-
static const int NO_VALUE = 0
-
inline dextend_t()