Class MatrixFeatures_DSCC


public class MatrixFeatures_DSCC extends Object
Functions for computing the features/properties of matrices.
  • Method Details

    • isEquals

      public static boolean isEquals(DMatrixSparseCSC a, DMatrixSparseCSC b)
    • isEquals

      public static boolean isEquals(DMatrixSparseCSC a, DMatrixSparseCSC b, double tol)
    • isEqualsSort

      public static boolean isEqualsSort(DMatrixSparseCSC a, DMatrixSparseCSC b, double tol)
    • isIdenticalSort

      public static boolean isIdenticalSort(DMatrixSparseCSC a, DMatrixSparseCSC b, double tol)
    • isSameStructure

      public static boolean isSameStructure(DMatrixSparseCSC a, DMatrixSparseCSC b)
      Checks to see if the two matrices have the same shape and same pattern of non-zero elements
      a - Matrix
      b - Matrix
      true if the structure is the same
    • hasUncountable

      public static boolean hasUncountable(DMatrixSparseCSC A)
    • isZeros

      public static boolean isZeros(DMatrixSparseCSC A, double tol)
    • isIdentity

      public static boolean isIdentity(DMatrixSparseCSC A, double tol)
    • isLowerTriangle

      public static boolean isLowerTriangle(DMatrixSparseCSC A, int hessenberg, double tol)

      Checks to see if a matrix is lower triangular or Hessenberg. A Hessenberg matrix of degree N has the following property:

      aij ≤ 0 for all i < j+N

      A triangular matrix is a Hessenberg matrix of degree 0. Only the upper most diagonal elements are explicitly checked to see if they are non-zero

      A - Matrix being tested. Not modified.
      hessenberg - The degree of being hessenberg.
      tol - How not zero diagonal elements must be.
      If it is an upper triangular/hessenberg matrix or not.
    • isTranspose

      public static boolean isTranspose(DMatrixSparseCSC A, DMatrixSparseCSC B, double tol)
    • isVector

      public static boolean isVector(DMatrixSparseCSC a)
      Returns true if the input is a vector
      a - A matrix or vector
      true if it's a vector. Column or row.
    • isSymmetric

      public static boolean isSymmetric(DMatrixSparseCSC A, double tol)
      Checks to see if the matrix is symmetric to within tolerance.
      A - Matrix being tested. Not modified.
      tol - Tolerance that defines how similar two values must be to be considered identical
      true if symmetric or false if not
    • isPositiveDefinite

      public static boolean isPositiveDefinite(DMatrixSparseCSC A)

      Checks to see if the matrix is positive definite.

      xT A x > 0
      for all x where x is a non-zero vector and A is a symmetric matrix.

      A - square symmetric matrix. Not modified.
      True if it is positive definite and false if it is not.
    • isOrthogonal

      public static boolean isOrthogonal(DMatrixSparseCSC Q, double tol)

      Checks to see if a matrix is orthogonal or isometric.

      Q - The matrix being tested. Not modified.
      tol - Tolerance.
      True if it passes the test.