public final class MatrixPropertyUtils extends Object
| Modifier and Type | Method and Description |
|---|---|
static boolean |
areAllSparse(Matrix... matrices)
Checks if all matrices are SparseMatrix.
|
static boolean |
areAllSparse(Vector... vectors)
Checks if all vectors are SparseVector.
|
static boolean |
areEqual(Matrix A1,
Matrix A2,
double epsilon)
Checks the equality of two matrices up to a precision.
|
static boolean |
areEqual(Vector v1,
Vector v2,
double epsilon)
Checks if two vectors are equal, i.e., v1 - v2 is a zero vector, up to a precision.
|
static boolean |
areOrthogonal(Vector[] v,
double epsilon)
Checks if a set of vectors are orthogonal, i.e., for any v1, v2 in v,
v1 ∙ v2 == 0.
|
static boolean |
areOrthogonal(Vector v1,
Vector v2,
double epsilon)
Checks if two vectors are orthogonal, i.e., v1 ∙ v2 == 0.
|
static boolean |
areOrthogonormal(Vector[] v,
double epsilon)
Checks if a set of vectors are orthogonormal.
|
static boolean |
areOrthogonormal(Vector v1,
Vector v2,
double epsilon)
Checks if two vectors are orthogonormal.
|
static double |
conditionNumber(Matrix A)
Computes the condition number of a given matrix A.
|
static boolean |
isDiagonal(Matrix A,
double epsilon)
Checks if a square matrix is a diagonal matrix, up to a precision.
|
static boolean |
isIdempotent(Matrix A,
double epsilon)
Checks if a matrix is idempotent.
|
static boolean |
isIdentity(Matrix A,
double epsilon)
Checks if a matrix is an identity matrix, up to a precision.
|
static boolean |
isLowerBidiagonal(Matrix A,
double epsilon)
Checks if a matrix is lower bidiagonal, up to a precision.
|
static boolean |
isLowerTriangular(Matrix A,
double epsilon)
Checks if a matrix is lower triangular, up to a precision.
|
static boolean |
isMagicSquare(Matrix A)
Deprecated.
Not supported yet.
|
static boolean |
isNaN(Vector v)
Checks if a vector contains any
NaN entry. |
static boolean |
isOrthogonal(Matrix A,
double epsilon)
Checks if a matrix is orthogonal, up to a precision.
|
static boolean |
isPositiveDefinite(Matrix A,
double epsilon)
Checks if a square matrix is positive definite; the matrix needs not be symmetric.
|
static boolean |
isPositiveSemiDefinite(Matrix A,
double epsilon)
Checks if a square matrix is positive definite, up to a precision.
|
static boolean |
isQuasiTriangular(Matrix A,
double epsilon)
Checks if a matrix is quasi (upper) triangular, up to a precision.
|
static boolean |
isReducedRowEchelonForm(Matrix A,
double epsilon)
Checks if a matrix is in the reduced row echelon form, up to a precision.
|
static boolean |
isRowEchelonForm(Matrix A,
double epsilon)
Checks if a matrix is in the row echelon form, up to a precision.
|
static boolean |
isScalar(Matrix A,
double epsilon)
Deprecated.
Not supported yet.
|
static boolean |
isSingular(Matrix A,
double epsilon)
Checks if a square matrix is singular, i.e, having no inverse, up to a precision.
|
static boolean |
isSkewSymmetric(Matrix A,
double epsilon)
Checks if a matrix is skew symmetric.
|
static boolean |
isSymmetric(Matrix A,
double epsilon)
Checks if a matrix is symmetric.
|
static boolean |
isSymmetricPositiveDefinite(Matrix A,
double epsilon)
Checks if a square matrix is symmetric and positive definite.
|
static boolean |
isTridiagonal(Matrix A,
double epsilon)
Checks if a matrix is tridiagonal, up to a precision.
|
static boolean |
isUpperBidiagonal(Matrix A,
double epsilon)
Checks if a matrix is upper bidiagonal, up to a precision.
|
static boolean |
isUpperTriangular(Matrix A,
double epsilon)
Checks if a matrix is upper triangular, up to a precision.
|
static boolean |
isZero(Vector v,
double epsilon)
Checks if a vector is a zero vector, i.e., all its entries are 0, up to a precision.
|
static void |
throwIfInvalidIndex(Vector v,
int index)
Checks if an index is a valid index.
|
static void |
throwIfNotEqualSize(Vector v1,
Vector v2)
Checks if the input vectors have the same size.
|
public static boolean isSymmetric(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A.t() == Apublic static boolean isSkewSymmetric(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A.t() == -Apublic static boolean isIdempotent(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A = A*A or A = A2public static boolean isOrthogonal(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if AA' = 1@Deprecated public static boolean isMagicSquare(Matrix A)
A - a matrixtrue if A is a square matrix having distinct positive integers,
arranged such that the sums of the numbers in any rows, columns, or diagonals are equalpublic static boolean isSingular(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A-1 does not existpublic static boolean isDiagonal(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A is square and Aij=0, for all
i != j.public static boolean isIdentity(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A is square, and Aij=0 for all
i != j, and
Aij=1, for all i == j.public static boolean isUpperTriangular(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is upper triangularpublic static boolean isLowerTriangular(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is lower triangularpublic static boolean isQuasiTriangular(Matrix A, double epsilon)
A quasi triangular matrix is upper Hessenberg with no two consecutive non-zero elements on the first subdiagonal.
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is quasi (upper) triangularpublic static boolean isUpperBidiagonal(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is upper bidiagonalpublic static boolean isLowerBidiagonal(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is lower bidiagonalpublic static boolean isTridiagonal(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is tridiagonalpublic static boolean isRowEchelonForm(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is in row echelon formpublic static boolean isReducedRowEchelonForm(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the matrix is in reduced row echelon form@Deprecated public static boolean isScalar(Matrix A, double epsilon)
A - a matrixtrue if A is diagonal and, aij=c, for all
i == j, c is a constant.public static boolean isSymmetricPositiveDefinite(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A is symmetric, and z'Mz > 0, for all non-zero real vectors
z.public static boolean isPositiveDefinite(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A satisfies z'Mz > 0, for all non-zero real vectors
z.public static boolean isPositiveSemiDefinite(Matrix A, double epsilon)
A - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if A satisfies z'Mz > 0, for all non-zero real vectors
z.public static boolean isZero(Vector v, double epsilon)
v - a vectorepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if v is a zero vectorpublic static boolean areEqual(Matrix A1, Matrix A2, double epsilon)
A1 - a matrixA2 - a matrixepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if all entries are equal, entry by entrypublic static boolean areEqual(Vector v1, Vector v2, double epsilon)
v1 - a vectorv2 - a vectorepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if all entries are equal, entry by entrypublic static boolean areOrthogonal(Vector v1, Vector v2, double epsilon)
v1 - a vectorv2 - a vectorepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true the two vectors are orthogonalpublic static boolean areOrthogonal(Vector[] v, double epsilon)
v - a set of vectorsepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if any two vectors are orthogonalpublic static boolean areOrthogonormal(Vector v1, Vector v2, double epsilon)
v1 - a vectorv2 - a vectorepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if the two vectors are orthogonormalpublic static boolean areOrthogonormal(Vector[] v, double epsilon)
v - a set of vectorsepsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0true if any two vectors are orthogonormalpublic static boolean areAllSparse(Matrix... matrices)
matrices - true if and only if all matrices are SparseMatrixpublic static boolean areAllSparse(Vector... vectors)
vectors - true if and only if all matrices are SparseVectorpublic static void throwIfNotEqualSize(Vector v1, Vector v2)
v1 - a vectorv2 - a vectorVectorSizeMismatch - if sizes do not matchpublic static void throwIfInvalidIndex(Vector v, int index)
v - a vectorindex - a vector indexVectorAccessException - if the index is invalidpublic static boolean isNaN(Vector v)
NaN entry.v - a vectortrue if there is at least one NaN entry.public static double conditionNumber(Matrix A)
A - the matrixCopyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.