DecompositionOperations<TReal, TComplex>.SymmetricSolve Method

Definition

Namespace: Numerics.NET.LinearAlgebra.Implementation
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.4

Overload List

SymmetricSolve(MatrixTriangle, Int32, Int32, Array2D<TReal>, Array1D<Int32>, Array2D<TReal>, Int32)

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.

SymmetricSolve(MatrixTriangle, Int32, Int32, ReadOnlySpan2D<TReal>, ReadOnlySpan<Int32>, Span2D<TReal>, Int32)

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.

SymmetricSolve(MatrixTriangle, Int32, Int32, ReadOnlySpan<TReal>, Int32, ReadOnlySpan<Int32>, Span<TReal>, Int32, Int32)

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.

SymmetricSolve(MatrixTriangle, Int32, Int32, Array2D<TReal>, Array1D<Int32>, Array2D<TReal>, Int32)

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.

C#
public void SymmetricSolve(
	MatrixTriangle storedTriangle,
	int n,
	int nrhs,
	Array2D<TReal> a,
	Array1D<int> ipiv,
	Array2D<TReal> b,
	out int info
)

Parameters

storedTriangle  MatrixTriangle
            Specifies whether the details of the factorization are stored
            as an upper or lower triangular matrix.
            = 'U':  Upper triangular, form is A = U*D*UT;
            = 'L':  Lower triangular, form is A = L*D*LT.
            
n  Int32
            The order of the matrix A.  N >= 0.
            
nrhs  Int32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
a  Array2D<TReal>
            A is TReal array, dimension (LDA,N)
            The block diagonal matrix D and the multipliers used to
            obtain the factor U or L as computed by DSYTRF.
            
            The leading dimension of the array A.  LDA >= max(1,N).
            
ipiv  Array1D<Int32>
            Dimension (N)
            Details of the interchanges and the block structure of D
            as determined by DSYTRF.
            
b  Array2D<TReal>
            B is TReal array, dimension (LDB,NRHS)
            On entry, the right hand side matrix B.
            On exit, the solution matrix X.
            
            The leading dimension of the array B.  LDB >= max(1,N).
            
info  Int32
            = 0:  successful exit
            < 0:  if INFO = -i, the i-th argument had an illegal value
            

Remarks

This method corresponds to the LAPACK routine ?SYTRS.

SymmetricSolve(MatrixTriangle, Int32, Int32, ReadOnlySpan2D<TReal>, ReadOnlySpan<Int32>, Span2D<TReal>, Int32)

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.

C#
public void SymmetricSolve(
	MatrixTriangle storedTriangle,
	int n,
	int nrhs,
	ReadOnlySpan2D<TReal> a,
	ReadOnlySpan<int> ipiv,
	Span2D<TReal> b,
	out int info
)

Parameters

storedTriangle  MatrixTriangle
            Specifies whether the details of the factorization are stored
            as an upper or lower triangular matrix.
            = 'U':  Upper triangular, form is A = U*D*UT;
            = 'L':  Lower triangular, form is A = L*D*LT.
            
n  Int32
            The order of the matrix A.  N >= 0.
            
nrhs  Int32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
a  ReadOnlySpan2D<TReal>
            A is TReal array, dimension (LDA,N)
            The block diagonal matrix D and the multipliers used to
            obtain the factor U or L as computed by DSYTRF.
            
            The leading dimension of the array A.  LDA >= max(1,N).
            
ipiv  ReadOnlySpan<Int32>
            Dimension (N)
            Details of the interchanges and the block structure of D
            as determined by DSYTRF.
            
b  Span2D<TReal>
            B is TReal array, dimension (LDB,NRHS)
            On entry, the right hand side matrix B.
            On exit, the solution matrix X.
            
            The leading dimension of the array B.  LDB >= max(1,N).
            
info  Int32
            = 0:  successful exit
            < 0:  if INFO = -i, the i-th argument had an illegal value
            

Remarks

This method corresponds to the LAPACK routine ?SYTRS.

SymmetricSolve(MatrixTriangle, Int32, Int32, ReadOnlySpan<TReal>, Int32, ReadOnlySpan<Int32>, Span<TReal>, Int32, Int32)

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.

C#
public abstract void SymmetricSolve(
	MatrixTriangle storedTriangle,
	int n,
	int nrhs,
	ReadOnlySpan<TReal> a,
	int lda,
	ReadOnlySpan<int> ipiv,
	Span<TReal> b,
	int ldb,
	out int info
)

Parameters

storedTriangle  MatrixTriangle
            Specifies whether the details of the factorization are stored
            as an upper or lower triangular matrix.
            = 'U':  Upper triangular, form is A = U*D*UT;
            = 'L':  Lower triangular, form is A = L*D*LT.
            
n  Int32
            The order of the matrix A.  N >= 0.
            
nrhs  Int32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
a  ReadOnlySpan<TReal>
            A is TReal array, dimension (LDA,N)
            The block diagonal matrix D and the multipliers used to
            obtain the factor U or L as computed by DSYTRF.
            
lda  Int32
            The leading dimension of the array A.  LDA >= max(1,N).
            
ipiv  ReadOnlySpan<Int32>
            Dimension (N)
            Details of the interchanges and the block structure of D
            as determined by DSYTRF.
            
b  Span<TReal>
            B is TReal array, dimension (LDB,NRHS)
            On entry, the right hand side matrix B.
            On exit, the solution matrix X.
            
ldb  Int32
            The leading dimension of the array B.  LDB >= max(1,N).
            
info  Int32
            = 0:  successful exit
            < 0:  if INFO = -i, the i-th argument had an illegal value
            

Remarks

This method corresponds to the LAPACK routine ?SYTRS.

See Also