DecompositionOperations<T> Class

Specifies the methods that must be implemented by a class to support TReal-precision real LAPACK routines for general matrices.

Definition

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
C#
public abstract class DecompositionOperations<T> : DecompositionOperations<T, Complex<T>>
Inheritance
Object  →  DecompositionOperations<T, Complex<T>>  →  DecompositionOperations<T>
Derived

Type Parameters

T

Remarks

The Linear Algebra PACKage (LAPACK) is the de facto standard for more complex linear algebra problems. It complements the Basic Linear Algebra Subroutines (BLAS), which defines standards for low level vector and matrix operations.

Constructors

DecompositionOperations<T>Initializes a new instance of the DecompositionOperations<T> class

Properties

HasSharedDegreeOfParallelism Indicates whether the degree of parallelism is a property that is shared across instances.
(Inherited from DecompositionOperations<TReal, TComplex>)
ImplementedType Gets the base type of the implementation.
(Inherited from DecompositionOperations<TReal, TComplex>)
MaxDegreeOfParallelism Gets or sets the maximum degree of parallelism enabled by the instance.
(Inherited from DecompositionOperations<TReal, TComplex>)
Name Gets the name of the implementation.
(Inherited from DecompositionOperations<TReal, TComplex>)
Platform Gets the processor architecture supported by the implementation.
(Inherited from DecompositionOperations<TReal, TComplex>)

Methods

BandCholeskyDecompose(MatrixTriangle, Int32, Int32, Array2D<TReal>, Int32)

Computes the Cholesky factorization of a real symmetric positive definite band matrix A.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandCholeskyDecompose(MatrixTriangle, Int32, Int32, Array2D<TComplex>, Int32)

Computes the Cholesky factorization of a complex Hermitian positive definite band matrix A.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandCholeskyEstimateCondition(MatrixTriangle, Int32, Int32, Array2D<TReal>, TReal, TReal, Int32)

Estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite band matrix using the Cholesky factorization A = UT*U or A = L*LT computed by DPBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandCholeskyEstimateCondition(MatrixTriangle, Int32, Int32, Array2D<TComplex>, TReal, TReal, Int32)

Estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite band matrix using the Cholesky factorization A = UH*U or A = L*LH computed by ZPBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandCholeskySolve(MatrixTriangle, Int32, Int32, Int32, Array2D<TReal>, Array2D<TReal>, Int32)

Solves a system of linear equations A*X = B with a symmetric positive definite band matrix A using the Cholesky factorization A = UT*U or A = L*LT computed by DPBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandCholeskySolve(MatrixTriangle, Int32, Int32, Int32, Array2D<TComplex>, Array2D<TComplex>, Int32)

Solves a system of linear equations A*X = B with a Hermitian positive definite band matrix A using the Cholesky factorization A = UH *U or A = L*LH computed by ZPBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandLUDecompose(Int32, Int32, Int32, Int32, Array2D<TReal>, Array1D<Int32>, Int32)

Computes an LU factorization of a real m-by-n band matrix A using partial pivoting with row interchanges.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandLUDecompose(Int32, Int32, Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Int32)

Computes an LU factorization of a complex m-by-n band matrix A using partial pivoting with row interchanges.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandLUEstimateCondition(MatrixNorm, Int32, Int32, Int32, Array2D<TReal>, Array1D<Int32>, TReal, TReal, Int32)

Estimates the reciprocal of the condition number of a real general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by DGBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandLUEstimateCondition(MatrixNorm, Int32, Int32, Int32, Array2D<TComplex>, Array1D<Int32>, TReal, TReal, Int32)

Estimates the reciprocal of the condition number of a complex general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by ZGBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandLUSolve(TransposeOperation, Int32, Int32, Int32, Int32, Array2D<TReal>, Array1D<Int32>, Array2D<TReal>, Int32)

Solves a system of linear equations A * X = B or AT * X = B with a general band matrix A using the LU factorization computed by DGBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandLUSolve(TransposeOperation, Int32, Int32, Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Array2D<TComplex>, Int32)

Solves a system of linear equations A * X = B, AT * X = B, or AH * X = B with a general band matrix A using the LU factorization computed by ZGBTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
BandTriangularSolve

Solves a triangular system of the form A * X = B or AT * X = B, where A is a triangular band matrix of order N, and B is an N-by NRHS matrix.


(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskyDecompose(MatrixTriangle, Int32, Array2D<TReal>, Int32)

Computes the Cholesky factorization of a real symmetric positive definite matrix A.


(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskyDecompose(MatrixTriangle, Int32, Array2D<TComplex>, Int32) Factors a symmetric positive definite matrix.
(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskyEstimateCondition(MatrixTriangle, Int32, Array2D<TReal>, TReal, TReal, Int32)

Estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite matrix using the Cholesky factorization A = UT*U or A = L*LT computed by DPOTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskyEstimateCondition(MatrixTriangle, Int32, Array2D<TComplex>, TReal, TReal, Int32) Estimates the reciprocal of the condition number of a factored hermitian matrix.
(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskyInvert(MatrixTriangle, Int32, Array2D<TReal>, Int32)

Computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization A = UT*U or A = L*LT computed by DPOTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskyInvert(MatrixTriangle, Int32, Array2D<TComplex>, Int32) Computes the inverse of a factored hermitian matrix.
(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskySolve(MatrixTriangle, Int32, Int32, Array2D<TReal>, Array2D<TReal>, Int32)

Solves a system of linear equations A*X = B with a symmetric positive definite matrix A using the Cholesky factorization A = UT*U or A = L*LT computed by DPOTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
CholeskySolve(MatrixTriangle, Int32, Int32, Array2D<TComplex>, Array2D<TComplex>, Int32) Solves a hermitian system of equations.
(Inherited from DecompositionOperations<TReal, TComplex>)
EigenvalueDecompose(Char, Char, Int32, Array2D<TComplex>, Array1D<TComplex>, Array2D<TComplex>, Array2D<TComplex>, Int32)

Computes for an N-by-N complex non-symmetric matrix A, the eigenvalues and, optionally, the left and/or right eigenvectors.


(Inherited from DecompositionOperations<TReal, TComplex>)
EigenvalueDecompose(Char, Char, Int32, Array2D<TReal>, Array1D<TReal>, Array1D<TReal>, Array2D<TReal>, Array2D<TReal>, Int32)

Computes for an N-by-N real non-symmetric matrix A, the eigenvalues and, optionally, the left and/or right eigenvectors.


(Inherited from DecompositionOperations<TReal, TComplex>)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GeneralizedEigenvalueDecompose(Char, Char, Int32, Array2D<TComplex>, Array2D<TComplex>, Array1D<TComplex>, Array1D<TComplex>, Array2D<TComplex>, Array2D<TComplex>, Int32)

Computes for a pair of N-by-N complex nonsymmetric matrices (A,B), the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors.


(Inherited from DecompositionOperations<TReal, TComplex>)
GeneralizedEigenvalueDecompose(Char, Char, Int32, Array2D<TReal>, Array2D<TReal>, Array1D<TReal>, Array1D<TReal>, Array1D<TReal>, Array2D<TReal>, Array2D<TReal>, Int32)

Computes for a pair of N-by-N real nonsymmetric matrices (A,B) the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors.


(Inherited from DecompositionOperations<TReal, TComplex>)
GeneralizedSingularValueDecompose(Char, Char, Char, Int32, Int32, Int32, Int32, Int32, Array2D<TReal>, Array2D<TReal>, Array1D<TReal>, Array1D<TReal>, Array2D<TReal>, Array2D<TReal>, Array2D<TReal>, Array1D<Int32>, Int32)

Computes the generalized singular value decomposition (GSVD) of an M-by-N real matrix A and P-by-N real matrix B: U**T*A*Q = D1*( 0 R ), V**T*B*Q = D2*( 0 R ) where U, V and Q are orthogonal matrices.


(Inherited from DecompositionOperations<TReal, TComplex>)
GeneralizedSingularValueDecompose(Char, Char, Char, Int32, Int32, Int32, Int32, Int32, Array2D<TComplex>, Array2D<TComplex>, Array1D<TReal>, Array1D<TReal>, Array2D<TComplex>, Array2D<TComplex>, Array2D<TComplex>, Array1D<Int32>, Int32)

Computes the generalized singular value decomposition (GSVD) of an M-by-N complex matrix A and P-by-N complex matrix B: U**H*A*Q = D1*( 0 R ), V**H*B*Q = D2*( 0 R ) where U, V and Q are unitary matrices.


(Inherited from DecompositionOperations<TReal, TComplex>)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
HermitianDecompose

Computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method.


(Inherited from DecompositionOperations<TReal, TComplex>)
HermitianEigenvalueDecompose

Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A.


(Inherited from DecompositionOperations<TReal, TComplex>)
HermitianEstimateCondition

Estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = U*D*UH or A = L*D*LH computed by ZHETRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
HermitianGeneralizedEigenvalueDecompose

Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x.


(Inherited from DecompositionOperations<TReal, TComplex>)
HermitianInvert

Computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*UH or A = L*D*LH computed by ZHETRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
HermitianSolve

Solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*UH or A = L*D*LH computed by ZHETRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
LQDecompose(Int32, Int32, Array2D<TReal>, Array1D<TReal>, Int32)

Computes an LQ factorization of a real M-by-N matrix A: A = L * Q.


(Inherited from DecompositionOperations<TReal, TComplex>)
LQDecompose(Int32, Int32, Array2D<TComplex>, Array1D<TComplex>, Int32)

Computes an LQ factorization of a complex M-by-N matrix A: A = L * Q.


(Inherited from DecompositionOperations<TReal, TComplex>)
LQOrthogonalMultiply

Overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': Q**T * C C * Q**T where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(k) .


(Inherited from DecompositionOperations<TReal, TComplex>)
LQUnitaryMultiply

Overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': Q**H * C C * Q**H where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(k)**H .


(Inherited from DecompositionOperations<TReal, TComplex>)
LUDecompose(Int32, Int32, Array2D<TReal>, Array1D<Int32>, Int32) Computes an LU decomposition of a general M-by-N matrix A using partial pivoting with row interchanges.

The decomposition has the form

A = P * L * U

where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n).

This is the right-looking Level 3 BLAS version of the algorithm.


(Inherited from DecompositionOperations<TReal, TComplex>)
LUDecompose(Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Int32) ZGETRF computes an LU decomposition of a general M-by-N matrix A using partial pivoting with row interchanges.

The decomposition has the form

A = P * L * U

where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n).

This is the right-looking Level 3 BLAS version of the algorithm.


(Inherited from DecompositionOperations<TReal, TComplex>)
LUEstimateCondition(MatrixNorm, Int32, Array2D<TReal>, TReal, TReal, Int32)

Estimates the reciprocal of the condition number of a general real matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by DGETRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
LUEstimateCondition(MatrixNorm, Int32, Array2D<TComplex>, TReal, TReal, Int32) ZGECON estimates the reciprocal of the condition number of a general real matrix A, inthis. either the 1-norm or the infinity-norm, using the LU decomposition computed by ZGETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / ( norm(A) * norm(inv(A)) ). Arguments ========= NORM (input) CHARACTER*1 Specifies whether the 1-norm condition number or the infinity-norm condition number is required: = '1' or 'O': 1-norm; = 'I': Infinity-norm. N (input) INTEGER The elementOrder of the matrix A. N >= 0. A (input) ZOUBLE PRECISION array, dimension (LDA,N) The factors L and U from the decomposition A = P*L*U as computed by ZGETRF. LDA (input) INTEGER The leading dimension of the array A. LDA >= Max(1,N). ANORM (input) ZOUBLE PRECISION If NORM = '1' or 'O', the 1-norm of the original matrix A. If NORM = 'I', the infinity-norm of the original matrix A. RCOND (output) ZOUBLE PRECISION The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))). WORK (workspace) ZOUBLE PRECISION array, dimension (4*N) IWORK (workspace) INTEGER array, dimension (N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value
(Inherited from DecompositionOperations<TReal, TComplex>)
LUInvert(Int32, Array2D<TReal>, Array1D<Int32>, Int32) Computes the inverse of a matrix using the LU decomposition computed by LUDecompose(Int32, Int32, Array2D<TReal>, Array1D<Int32>, Int32).
(Inherited from DecompositionOperations<TReal, TComplex>)
LUInvert(Int32, Array2D<TComplex>, Array1D<Int32>, Int32) ZGETRI computes the inverse of a matrix using the LU decomposition computed by ZGETRF. This method inverts U and then computes inv(A) by solving the system inv(A)*L = inv(U) for inv(A). Arguments ========= N (input) INTEGER The elementOrder of the matrix A. N >= 0. A (input/output) ZOUBLE PRECISION array, dimension (LDA,N) On entry, the factors L and U from the decomposition A = P*L*U as computed by ZGETRF. On exit, if INFO = 0, the inverse of the original matrix A. LDA (input) INTEGER The leading dimension of the array A. LDA >= Max(1,N). IPIV (input) INTEGER array, dimension (N) The pivot indexes from ZGETRF; for 1< =i< =N, row i of the matrix was interchanged with row IPIVi. WORK (workspace/output) ZOUBLE PRECISION array, dimension (LWORK) On exit, if INFO =0, then WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= Max(1,N). For optimal performance LWORK >= N*NB, where NB is the optimal blocksize returned by ILAENV. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, U(i,i) is exactly zero; the matrix is singular and its inverse could not be computed.
(Inherited from DecompositionOperations<TReal, TComplex>)
LUSolve(TransposeOperation, Int32, Int32, Array2D<TReal>, Array1D<Int32>, Array2D<TReal>, Int32) Solves a system of linear equations with a general N-by-N matrix A using the LU decomposition computed by LUDecompose(Int32, Int32, Array2D<TReal>, Array1D<Int32>, Int32).
(Inherited from DecompositionOperations<TReal, TComplex>)
LUSolve(TransposeOperation, Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Array2D<TComplex>, Int32) ZGETRS solves a system of linear equations A * X = B or A' * X = B with a general N-by-N matrix A using the LU decomposition computed by ZGETRF. Arguments ========= TRANS (input) CHARACTER*1 Specifies the form of the system of equations: = 'N': A * X = B (No transpose) = TransposeOperation.Transpose: A'* X = B (Transpose) = 'C': A'* X = B (Conjugate transpose = Transpose) N (input) INTEGER The elementOrder of the matrix A. N >= 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. A (input) ZOUBLE PRECISION array, dimension (LDA,N) The factors L and U from the decomposition A = P*L*U as computed by ZGETRF. LDA (input) INTEGER The leading dimension of the array A. LDA >= Max(1,N). IPIV (input) INTEGER array, dimension (N) The pivot indexes from ZGETRF; for 1< =i< =N, row i of the matrix was interchanged with row IPIVi. B (input/output) ZOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the right hand side matrix B. On exit, the solution matrix X. LDB (input) INTEGER The leading dimension of the array B. LDB >= Max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value =====================================================================
(Inherited from DecompositionOperations<TReal, TComplex>)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
QLDecompose(Int32, Int32, Array2D<TReal>, Array1D<TReal>, Int32)

Computes a QL factorization of a real M-by-N matrix A: A = Q * L.


(Inherited from DecompositionOperations<TReal, TComplex>)
QLDecompose(Int32, Int32, Array2D<TComplex>, Array1D<TComplex>, Int32)

Computes a QL factorization of a complex M-by-N matrix A: A = Q * L.


(Inherited from DecompositionOperations<TReal, TComplex>)
QLOrthogonalMultiply

Overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': Q**T * C C * Q**T where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(k) .


(Inherited from DecompositionOperations<TReal, TComplex>)
QLUnitaryMultiply

Overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': Q**H * C C * Q**H where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(k) .


(Inherited from DecompositionOperations<TReal, TComplex>)
QRDecompose(Int32, Int32, Array2D<TReal>, Array1D<TReal>, Int32)

Computes a QR factorization of a real M-by-N matrix A: A = Q * R.


(Inherited from DecompositionOperations<TReal, TComplex>)
QRDecompose(Int32, Int32, Array2D<TComplex>, Array1D<TComplex>, Int32) ZGEQRF computes a QR decomposition of a real M-by-N matrix A: A = Q * R. Arguments ========= M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. A (input/output) ZOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal, with the array TAU, represent the orthogonal matrix Q as a product of min(m,n) elementary reflectors (see Further Zetails). LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). TAU (output) ZOUBLE PRECISION array, dimension (min(M,N)) The scalar factors of the elementary reflectors (see Further Zetails). WORK (workspace/output) ZOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= max(1,N). For optimum performance LWORK >= N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value Further Zetails =============== The matrix Q is represented as a product of elementary reflectors Q = H(1) H(2) . . . H(k), where k = min(m,n). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit inthis. A(i+1:m,i), and tau inthis. TAU(i).
(Inherited from DecompositionOperations<TReal, TComplex>)
QRDecompose(Int32, Int32, Array2D<TReal>, Array1D<Int32>, Array1D<TReal>, Int32)

Computes a QR factorization with column pivoting of a matrix A: A*P = Q*R using Level 3 BLAS.


(Inherited from DecompositionOperations<TReal, TComplex>)
QROrthogonalMultiply

Overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) .


(Inherited from DecompositionOperations<TReal, TComplex>)
QRUnitaryMultiply

Overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(1) H(2) .


(Inherited from DecompositionOperations<TReal, TComplex>)
RQDecompose(Int32, Int32, Array2D<TReal>, Array1D<TReal>, Int32)

Computes an RQ factorization of a real M-by-N matrix A: A = R * Q.


(Inherited from DecompositionOperations<TReal, TComplex>)
RQDecompose(Int32, Int32, Array2D<TComplex>, Array1D<TComplex>, Int32)

Computes an RQ factorization of a complex M-by-N matrix A: A = R * Q.


(Inherited from DecompositionOperations<TReal, TComplex>)
RQOrthogonalMultiply

Overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': Q**T * C C * Q**T where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) .


(Inherited from DecompositionOperations<TReal, TComplex>)
RQUnitaryMultiply

Overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': Q**H * C C * Q**H where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(1)**H H(2)**H .


(Inherited from DecompositionOperations<TReal, TComplex>)
SingularValueDecompose(Char, Int32, Int32, Array2D<TReal>, Array1D<TReal>, Array2D<TReal>, Array2D<TReal>, Int32)

Computes the singular value decomposition (SVD) of a real M-by-N matrix A, optionally computing the left and right singular vectors.


(Inherited from DecompositionOperations<TReal, TComplex>)
SingularValueDecompose(Char, Int32, Int32, Array2D<TComplex>, Array1D<TReal>, Array2D<TComplex>, Array2D<TComplex>, Int32)

Computes the singular value decomposition (SVD) of a complex M-by-N matrix A, optionally computing the left and/or right singular vectors, by using divide-and-conquer method.


(Inherited from DecompositionOperations<TReal, TComplex>)
SymmetricDecompose

Computes the factorization of a real symmetric matrix A using the Bunch-Kaufman diagonal pivoting method.


(Inherited from DecompositionOperations<TReal, TComplex>)
SymmetricEigenvalueDecompose

Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A.


(Inherited from DecompositionOperations<TReal, TComplex>)
SymmetricEstimateCondition

Estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U*D*UT or A = L*D*LT computed by DSYTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
SymmetricGeneralizedEigenvalueDecompose

Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x.


(Inherited from DecompositionOperations<TReal, TComplex>)
SymmetricInvert

Computes the inverse of a real symmetric indefinite matrix A using the factorization A = U*D*UT or A = L*D*LT computed by DSYTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
SymmetricSolve

Solves a system of linear equations A*X = B with a real symmetric matrix A using the factorization A = U*D*UT or A = L*D*LT computed by DSYTRF.


(Inherited from DecompositionOperations<TReal, TComplex>)
ToStringReturns a string that represents the current object.
(Inherited from Object)
TriangularEstimateCondition(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Array2D<TReal>, TReal, Int32)

Estimates the reciprocal of the condition number of a triangular matrix A, in either the 1-norm or the infinity-norm.


(Inherited from DecompositionOperations<TReal, TComplex>)
TriangularEstimateCondition(MatrixNorm, MatrixTriangle, MatrixDiagonal, Int32, Array2D<TComplex>, TReal, Int32) Approximates the reciprocal of the condition number of a complex triangular matrix.
(Inherited from DecompositionOperations<TReal, TComplex>)
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Array2D<TReal>, Int32)

Computes the inverse of a real upper or lower triangular matrix A.


(Inherited from DecompositionOperations<TReal, TComplex>)
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Array2D<TComplex>, Int32) Computes the inverse of a complex triangular matrix.
(Inherited from DecompositionOperations<TReal, TComplex>)
TriangularSolve(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D<TReal>, Array2D<TReal>, Int32)

Solves a triangular system of the form A * X = B or AT * X = B, where A is a triangular matrix of order N, and B is an N-by-NRHS matrix.


(Inherited from DecompositionOperations<TReal, TComplex>)
TriangularSolve(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D<TComplex>, Array2D<TComplex>, Int32) Solves a complex triangular system of equations.
(Inherited from DecompositionOperations<TReal, TComplex>)

See Also