public class RandomMatrices_DDRM
extends java.lang.Object
Constructor and Description |
---|
RandomMatrices_DDRM() |
Modifier and Type | Method and Description |
---|---|
static void |
addUniform(org.ejml.data.DMatrixRMaj A,
double min,
double max,
java.util.Random rand)
Adds random values to each element in the matrix from an uniform distribution.
aij = aij + U(min,max) |
static org.ejml.data.DMatrixRMaj |
diagonal(int N,
double min,
double max,
java.util.Random rand)
Creates a random diagonal matrix where the diagonal elements are selected from a uniform
distribution that goes from min to max.
|
static org.ejml.data.DMatrixRMaj |
diagonal(int numRows,
int numCols,
double min,
double max,
java.util.Random rand)
Creates a random matrix where all elements are zero but diagonal elements.
|
static void |
fillGaussian(org.ejml.data.DMatrixD1 mat,
double mean,
double stdev,
java.util.Random rand)
Sets each element in the matrix to a value drawn from an Gaussian distribution with the specified mean and
standard deviation
|
static void |
fillUniform(org.ejml.data.DMatrixD1 mat,
double min,
double max,
java.util.Random rand)
Sets each element in the matrix to a value drawn from an uniform distribution from 'min' to 'max' inclusive.
|
static void |
fillUniform(org.ejml.data.DMatrixRMaj mat,
java.util.Random rand)
Sets each element in the matrix to a value drawn from an uniform distribution from 0 to 1 inclusive.
|
static org.ejml.data.DMatrixRMaj |
insideSpan(org.ejml.data.DMatrixRMaj[] span,
double min,
double max,
java.util.Random rand)
Creates a random vector that is inside the specified span.
|
static org.ejml.data.DMatrixRMaj |
orthogonal(int numRows,
int numCols,
java.util.Random rand)
Creates a random orthogonal or isometric matrix, depending on the number of rows and columns.
|
static org.ejml.data.BMatrixRMaj |
randomBinary(int numRow,
int numCol,
java.util.Random rand)
Returns new boolean matrix with true or false values selected with equal probability.
|
static org.ejml.data.DMatrixRMaj |
rectangle(int numRow,
int numCol,
double min,
double max,
java.util.Random rand)
Returns a matrix where all the elements are selected independently from
a uniform distribution between 'min' and 'max' inclusive.
|
static org.ejml.data.DMatrixRMaj |
rectangle(int numRow,
int numCol,
java.util.Random rand)
Returns a matrix where all the elements are selected independently from
a uniform distribution between 0 and 1 inclusive.
|
static org.ejml.data.DMatrixRMaj |
rectangleGaussian(int numRow,
int numCol,
double mean,
double stdev,
java.util.Random rand)
Sets each element in the matrix to a value drawn from an Gaussian distribution with the specified mean and
standard deviation
|
static void |
setRandomB(org.ejml.data.BMatrixRMaj mat,
java.util.Random rand)
Sets each element in the boolean matrix to true or false with equal probability
|
static org.ejml.data.DMatrixRMaj |
singular(int numRows,
int numCols,
java.util.Random rand,
double... sv)
Creates a random matrix which will have the provided singular values.
|
static org.ejml.data.DMatrixRMaj[] |
span(int dimen,
int numVectors,
java.util.Random rand)
Creates a randomly generated set of orthonormal vectors.
|
static void |
symmetric(org.ejml.data.DMatrixRMaj A,
double min,
double max,
java.util.Random rand)
Sets the provided square matrix to be a random symmetric matrix whose values are selected from an uniform distribution
from min to max, inclusive.
|
static org.ejml.data.DMatrixRMaj |
symmetric(int length,
double min,
double max,
java.util.Random rand)
Creates a random symmetric matrix whose values are selected from an uniform distribution
from min to max, inclusive.
|
static org.ejml.data.DMatrixRMaj |
symmetricPosDef(int width,
java.util.Random rand)
Creates a random symmetric positive definite matrix.
|
static org.ejml.data.DMatrixRMaj |
symmetricWithEigenvalues(int num,
java.util.Random rand,
double... eigenvalues)
Creates a new random symmetric matrix that will have the specified real eigenvalues.
|
static org.ejml.data.DMatrixRMaj |
triangularUpper(int dimen,
int hessenberg,
double min,
double max,
java.util.Random rand)
Creates an upper triangular matrix whose values are selected from a uniform distribution.
|
public static org.ejml.data.DMatrixRMaj[] span(int dimen, int numVectors, java.util.Random rand)
Creates a randomly generated set of orthonormal vectors. At most it can generate the same number of vectors as the dimension of the vectors.
This is done by creating random vectors then ensuring that they are orthogonal to all the ones previously created with reflectors.
NOTE: This employs a brute force O(N3) algorithm.
dimen
- dimension of the space which the vectors will span.numVectors
- How many vectors it should generate.rand
- Used to create random vectors.public static org.ejml.data.DMatrixRMaj insideSpan(org.ejml.data.DMatrixRMaj[] span, double min, double max, java.util.Random rand)
span
- The span the random vector belongs in.rand
- RNGpublic static org.ejml.data.DMatrixRMaj orthogonal(int numRows, int numCols, java.util.Random rand)
Creates a random orthogonal or isometric matrix, depending on the number of rows and columns. The number of rows must be more than or equal to the number of columns.
numRows
- Number of rows in the generated matrix.numCols
- Number of columns in the generated matrix.rand
- Random number generator used to create matrices.public static org.ejml.data.DMatrixRMaj diagonal(int N, double min, double max, java.util.Random rand)
N
- Dimension of the matrix.min
- Minimum value of a diagonal element.max
- Maximum value of a diagonal element.rand
- Random number generator.public static org.ejml.data.DMatrixRMaj diagonal(int numRows, int numCols, double min, double max, java.util.Random rand)
numRows
- Number of rows in the returned matrix..numCols
- Number of columns in the returned matrix.min
- Minimum value of a diagonal element.max
- Maximum value of a diagonal element.rand
- Random number generator.public static org.ejml.data.DMatrixRMaj singular(int numRows, int numCols, java.util.Random rand, double... sv)
Creates a random matrix which will have the provided singular values. The length of sv is assumed to be the rank of the matrix. This can be useful for testing purposes when one needs to ensure that a matrix is not singular but randomly generated.
numRows
- Number of rows in generated matrix.numCols
- NUmber of columns in generated matrix.rand
- Random number generator.sv
- Singular values of the matrix.public static org.ejml.data.DMatrixRMaj symmetricWithEigenvalues(int num, java.util.Random rand, double... eigenvalues)
num
- Dimension of the resulting matrix.rand
- Random number generator.eigenvalues
- Set of real eigenvalues that the matrix will have.public static org.ejml.data.DMatrixRMaj rectangle(int numRow, int numCol, java.util.Random rand)
numRow
- Number of rows in the new matrix.numCol
- Number of columns in the new matrix.rand
- Random number generator used to fill the matrix.public static org.ejml.data.BMatrixRMaj randomBinary(int numRow, int numCol, java.util.Random rand)
numRow
- Number of rows in the new matrix.numCol
- Number of columns in the new matrix.rand
- Random number generator used to fill the matrix.public static void addUniform(org.ejml.data.DMatrixRMaj A, double min, double max, java.util.Random rand)
Adds random values to each element in the matrix from an uniform distribution.
aij = aij + U(min,max)
A
- The matrix who is to be randomized. Modifiedmin
- The minimum value each element can be.max
- The maximum value each element can be..rand
- Random number generator used to fill the matrix.public static org.ejml.data.DMatrixRMaj rectangle(int numRow, int numCol, double min, double max, java.util.Random rand)
Returns a matrix where all the elements are selected independently from a uniform distribution between 'min' and 'max' inclusive.
numRow
- Number of rows in the new matrix.numCol
- Number of columns in the new matrix.min
- The minimum value each element can be.max
- The maximum value each element can be.rand
- Random number generator used to fill the matrix.public static void fillUniform(org.ejml.data.DMatrixRMaj mat, java.util.Random rand)
Sets each element in the matrix to a value drawn from an uniform distribution from 0 to 1 inclusive.
mat
- The matrix who is to be randomized. Modified.rand
- Random number generator used to fill the matrix.public static void fillUniform(org.ejml.data.DMatrixD1 mat, double min, double max, java.util.Random rand)
Sets each element in the matrix to a value drawn from an uniform distribution from 'min' to 'max' inclusive.
min
- The minimum value each element can be.max
- The maximum value each element can be.mat
- The matrix who is to be randomized. Modified.rand
- Random number generator used to fill the matrix.public static void setRandomB(org.ejml.data.BMatrixRMaj mat, java.util.Random rand)
Sets each element in the boolean matrix to true or false with equal probability
mat
- The matrix who is to be randomized. Modified.rand
- Random number generator used to fill the matrix.public static org.ejml.data.DMatrixRMaj rectangleGaussian(int numRow, int numCol, double mean, double stdev, java.util.Random rand)
Sets each element in the matrix to a value drawn from an Gaussian distribution with the specified mean and standard deviation
numRow
- Number of rows in the new matrix.numCol
- Number of columns in the new matrix.mean
- Mean value in the distributionstdev
- Standard deviation in the distributionrand
- Random number generator used to fill the matrix.public static void fillGaussian(org.ejml.data.DMatrixD1 mat, double mean, double stdev, java.util.Random rand)
Sets each element in the matrix to a value drawn from an Gaussian distribution with the specified mean and standard deviation
mat
- The matrix who is to be randomized. Modified.mean
- Mean value in the distributionstdev
- Standard deviation in the distributionrand
- Random number generator used to fill the matrix.public static org.ejml.data.DMatrixRMaj symmetricPosDef(int width, java.util.Random rand)
width
- The width of the square matrix it returns.rand
- Random number generator used to make the matrix.public static org.ejml.data.DMatrixRMaj symmetric(int length, double min, double max, java.util.Random rand)
length
- Width and height of the matrix.min
- Minimum value an element can have.max
- Maximum value an element can have.rand
- Random number generator.public static void symmetric(org.ejml.data.DMatrixRMaj A, double min, double max, java.util.Random rand)
A
- The matrix that is to be modified. Must be square. Modified.min
- Minimum value an element can have.max
- Maximum value an element can have.rand
- Random number generator.public static org.ejml.data.DMatrixRMaj triangularUpper(int dimen, int hessenberg, double min, double max, java.util.Random rand)
dimen
- Number of rows and columns in the matrix..hessenberg
- 0 for triangular matrix and > 0 for hessenberg matrix.min
- minimum value an element can be.max
- maximum value an element can be.rand
- random number generator used.