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() == A
public static boolean isSkewSymmetric(Matrix A, double epsilon)
A
- a matrixepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0true
if A.t() == -A
public 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 = A2
public 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.