Package org.ejml.sparse.csc
Class RandomMatrices_DSCC
java.lang.Object
org.ejml.sparse.csc.RandomMatrices_DSCC
Functions for creating randomly generated sparse matrices.
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
ensureNotSingular
(DMatrixSparseCSC A, Random rand) Modies the matrix to make sure that at least one element in each column has a valuestatic DMatrixSparseCSC
generateUniform
(int numRows, int numCols, int nzEntriesPerColumn, double min, double max, Random rand) Creates a random matrix where each column has exactly `nzEntriesPerColumn` non-zero entries.static int
static DMatrixSparseCSC
Randomly generates matrix with the specified number of non-zero elements filled with values from min to max.static DMatrixSparseCSC
static DMatrixSparseCSC
Creates a random symmetric matrix.static DMatrixSparseCSC
symmetricPosDef
(int width, double probabilityZero, Random rand) Creates a random symmetric positive definite matrix with zero values.static DMatrixSparseCSC
Creates a triangular matrix where the amount of fill is randomly selected too.static DMatrixSparseCSC
triangleLower
(int dimen, int hessenberg, int nz_total, double min, double max, Random rand) Randomly generates lower triangular (or hessenberg) matrix with the specified number of of non-zero elements.static DMatrixSparseCSC
triangleUpper
(int dimen, int hessenberg, int nz_total, double min, double max, Random rand)
-
Method Details
-
rectangle
public static DMatrixSparseCSC rectangle(int numRows, int numCols, int nz_total, double min, double max, Random rand) Randomly generates matrix with the specified number of non-zero elements filled with values from min to max.- Parameters:
numRows
- Number of rowsnumCols
- Number of columnsnz_total
- Total number of non-zero elements in the matrixmin
- Minimum element value, inclusivemax
- Maximum element value, inclusiverand
- Random number generator- Returns:
- Randomly generated matrix
-
rectangle
-
symmetric
Creates a random symmetric matrix. The entire matrix will be filled in, not just a triangular portion.- Parameters:
N
- Number of rows and columnsnz_total
- Number of nonzero elements in the triangular portion of the matrixmin
- Minimum element value, inclusivemax
- Maximum element value, inclusiverand
- Random number generator- Returns:
- Randomly generated matrix
-
triangleLower
public static DMatrixSparseCSC triangleLower(int dimen, int hessenberg, int nz_total, double min, double max, Random rand) Randomly generates lower triangular (or hessenberg) matrix with the specified number of of non-zero elements. The diagonal elements must be non-zero.- Parameters:
dimen
- Number of rows and columnshessenberg
- Hessenberg degree. 0 is triangular and 1 or more is Hessenberg.nz_total
- Total number of non-zero elements in the matrix. Adjust to meet matrix size constraints.min
- Minimum element value, inclusivemax
- Maximum element value, inclusiverand
- Random number generator- Returns:
- Randomly generated matrix
-
triangleUpper
public static DMatrixSparseCSC triangleUpper(int dimen, int hessenberg, int nz_total, double min, double max, Random rand) -
nonzero
-
triangle
public static DMatrixSparseCSC triangle(boolean upper, int N, double minFill, double maxFill, Random rand) Creates a triangular matrix where the amount of fill is randomly selected too.- Parameters:
upper
- true for upper triangular and false for lowerN
- number of rows and columnsminFill
- minimum fill fractionmaxFill
- maximum fill fractionrand
- random number generator- Returns:
- Random matrix
-
symmetricPosDef
Creates a random symmetric positive definite matrix with zero values.- Parameters:
width
- number of columns and rowsprobabilityZero
- How likely a value is of being zero. 0 = no zeros. 1.0 = all zerosrand
- random number generator- Returns:
- Random matrix
-
generateUniform
public static DMatrixSparseCSC generateUniform(int numRows, int numCols, int nzEntriesPerColumn, double min, double max, Random rand) Creates a random matrix where each column has exactly `nzEntriesPerColumn` non-zero entries. Compared torectangle(int, int, int, double, double, java.util.Random)
this method can generate larger sparse matrices.- Parameters:
numRows
- Number of rowsnumCols
- Number of columnsnzEntriesPerColumn
- Amount of nz-entries per columnmin
- Minimum element value, inclusivemax
- Maximum element value, inclusiverand
- Random number generator- Returns:
- Randomly generated matrix
-
ensureNotSingular
Modies the matrix to make sure that at least one element in each column has a value
-