Computes the LU factorization of the given real M-by-N matrix X such that X = P * L * U where P is a permutation matrix (row exchanges).
Computes the LU factorization of the given real M-by-N matrix X such that X = P * L * U where P is a permutation matrix (row exchanges).
Upon completion, a tuple consisting of a matrix A and an integer array P.
The upper triangular portion of A resembles U whereas the lower triangular portion of A resembles L up to but not including the diagonal elements of L which are all equal to 1.
For 0 <= i < M, each element P(i) denotes whether row i of the matrix X was exchanged with row P(i-1) during computation (the offset is caused by the internal call to LAPACK).
Computes the cholesky decomposition A of the given real symmetric positive definite matrix X such that X = A A.
Computes the cholesky decomposition A of the given real symmetric positive definite matrix X such that X = A A.t.
XXX: For higher dimensionalities, the return value really should be a sparse matrix due to its inherent lower triangular nature.
Vector cross product of 3D vectors a and b.
Computes the determinant of the given real matrix.
Eigenvalue decomposition (right eigenvectors)
Eigenvalue decomposition (right eigenvectors)
This function returns the real and imaginary parts of the eigenvalues, and the corresponding eigenvectors. For most (?) interesting matrices, the imaginary part of all eigenvalues will be zero (and the corresponding eigenvectors will be real). Any complex eigenvalues will appear in complex-conjugate pairs, and the real and imaginary components of the eigenvector for each pair will be in the corresponding columns of the eigenvector matrix. Take the complex conjugate to find the second eigenvector.
Based on EVD.java from MTJ 0.9.12
Computes all eigenvalues (and optionally right eigenvectors) of the given real symmetric matrix X.
Computes the inverse of a given real matrix.
Returns the Kronecker product of the two matrices a and b, usually denoted a ⊗ b.
The lower triangular portion of the given real quadratic matrix X.
The lower triangular portion of the given real quadratic matrix X. Note that no check will be performed regarding the symmetry of X.
Computes the Moore-Penrose pseudo inverse of the given real matrix X.
Computes the Moore-Penrose pseudo inverse of the given real matrix X.
Raises m to the exp'th power via eigenvalue decomposition.
Raises m to the exp'th power via eigenvalue decomposition. Currently requires that m's eigenvalues are real.
QR Factorization
QR Factorization
m x n matrix
(optional) if true, don't reconstruct orthogonal matrix Q (instead returns (null,R))
(Q,R) Q: m x m R: m x n
QR Factorization with pivoting
QR Factorization with pivoting
input: A m x n matrix output: (Q,R,P,pvt) where AP = QR Q: m x m R: m x n P: n x n : permutation matrix (P(pvt(i),i) = 1) pvt : pivot indices
Computes the rank of a DenseMatrix[Double].
Computes the rank of a DenseMatrix[Double].
The rank of the matrix is computed using the SVD method. The singular values of the SVD which are greater than a specified tolerance are counted.
matrix for which to compute the rank
optional tolerance for singular values. If not supplied, the default tolerance is: max(m.cols, m.rows) * eps * sigma_max, where eps is the machine epsilon and sigma_max is the largest singular value of m.
the rank of the matrix (number of singular values)
Returns the rank of each element in the given vector, adjusting for ties.
Computes the SVD of a m by n matrix Returns an m*m matrix U, a vector of singular values, and a n*n matrix V'
The upper triangular portion of the given real quadratic matrix X.
The upper triangular portion of the given real quadratic matrix X. Note that no check will be performed regarding the symmetry of X.
Basic linear algebraic operations.