Determines whether a matrix is of a specific type.
The specific type of matrix you want to compare the input matrix.
Name | Value | Description |
---|---|---|
Symmetric Positive Definite | 10 | Determines whether the input matrix is symmetric positive definite. |
Symmetric Positive Semi-Definite | 11 | Determines whether the input matrix is symmetric positive semi-definite. |
Symmetric | 20 | Determines whether the input matrix is symmetric. |
Hermitian | 21 | Determines whether the input matrix is Hermitian. |
Default: Symmetric Positive Definite
A matrix.
This input accepts a 2D array of double-precision, floating point numbers or 2D array of complex double-precision, floating point numbers.
Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.
Default: No error
A value that determines how close the input matrix must be to the specified matrix type.
The exact meaning of this input depends on the value of matrix type.
If relative tolerance is less than 0, this node chooses a tolerance based on the input matrix.
Default: -1
In real cases, a symmetric matrix A is positive definite if x^{T}Ax > 0 for any non-zero vector x.
A symmetric matrix A is positive semi-definite if x^{T}Ax ≥ 0 for any non-zero vector x.
In complex cases, a Hermitian matrix A is positive definite if x^{H}Ax > 0 for any non-zero vector x.
A Hermitian matrix A is positive semi-definite if x^{H}Ax ≥ 0 for any non-zero vector x.
This node uses the following steps to perform testing:
This node uses the input relative tolerance to determine whether a number is small enough that you consider it as zero when performing Cholesky factorization. If the input relative tolerance is less than zero, the tolerance in Cholesky factorization is
where n is the order of the input matrix and maxdiag is the maximum value of diagonal elements of the input matrix.
Otherwise, the tolerance is $\text{relative tolerance}*n*\text{maxdiag}$.
A real or complex square matrix is symmetric if a_{ij} = a_{ji}.
A complex square matrix is Hermitian if ${a}_{ij}=\text{conj}\left({a}_{ji}\right)$ where conj is the complex conjugate function.
This node uses the input relative tolerance to determine whether the difference between two elements in the input matrix is small enough to consider them equal. If relative tolerance is less than zero, the tolerance is
where n is the order of the input matrix and max is the maximum absolute value of elements in the input matrix. For a complex element, max is the maximum absolute value of its real and imaginary parts.
Otherwise, the tolerance is $\text{relative tolerance}*n*\mathrm{max}$.
Where This Node Can Run:
Desktop OS: Windows
FPGA: Not supported