Class RandomMatrices_DSCC

java.lang.Object
org.ejml.sparse.csc.RandomMatrices_DSCC

public class RandomMatrices_DSCC extends Object
Functions for creating randomly generated sparse matrices.
  • 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 rows
      numCols - Number of columns
      nz_total - Total number of non-zero elements in the matrix
      min - Minimum element value, inclusive
      max - Maximum element value, inclusive
      rand - Random number generator
      Returns:
      Randomly generated matrix
    • rectangle

      public static DMatrixSparseCSC rectangle(int numRows, int numCols, int nz_total, Random rand)
    • symmetric

      public static DMatrixSparseCSC symmetric(int N, int nz_total, double min, double max, Random rand)
      Creates a random symmetric matrix. The entire matrix will be filled in, not just a triangular portion.
      Parameters:
      N - Number of rows and columns
      nz_total - Number of nonzero elements in the triangular portion of the matrix
      min - Minimum element value, inclusive
      max - Maximum element value, inclusive
      rand - 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 columns
      hessenberg - 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, inclusive
      max - Maximum element value, inclusive
      rand - 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

      public static int nonzero(int numRows, int numCols, double minFill, double maxFill, Random rand)
    • 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 lower
      N - number of rows and columns
      minFill - minimum fill fraction
      maxFill - maximum fill fraction
      rand - random number generator
      Returns:
      Random matrix
    • symmetricPosDef

      public static DMatrixSparseCSC symmetricPosDef(int width, double probabilityZero, Random rand)
      Creates a random symmetric positive definite matrix with zero values.
      Parameters:
      width - number of columns and rows
      probabilityZero - How likely a value is of being zero. 0 = no zeros. 1.0 = all zeros
      rand - 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 to rectangle(int, int, int, double, double, java.util.Random) this method can generate larger sparse matrices.
      Parameters:
      numRows - Number of rows
      numCols - Number of columns
      nzEntriesPerColumn - Amount of nz-entries per column
      min - Minimum element value, inclusive
      max - Maximum element value, inclusive
      rand - Random number generator
      Returns:
      Randomly generated matrix
    • ensureNotSingular

      public static void ensureNotSingular(DMatrixSparseCSC A, Random rand)
      Modies the matrix to make sure that at least one element in each column has a value