ManagedSparseLinearAlgebraOperations.TriangularSolve Method

Definition

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23

Overload List

TriangularSolve(TransposeOperation, Int32, Complex<Double>, MatrixStructure, MatrixTriangle, MatrixDiagonal, Complex<Double>[], Int32[], Int32[], Int32[], ArraySlice<Complex<Double>>, ArraySlice<Complex<Double>>)

Solves for a dense vector for a sparse matrix in Compressed Sparse Column (CSC) format.
C#
public override void TriangularSolve(
	TransposeOperation transA,
	int m,
	Complex<double> alpha,
	MatrixStructure structure,
	MatrixTriangle storedTriangle,
	MatrixDiagonal matrixDiagonal,
	Complex<double>[] a,
	int[] aRows,
	int[] aPointerB,
	int[] aPointerE,
	ArraySlice<Complex<double>> x,
	ArraySlice<Complex<double>> y
)

Parameters

transA  TransposeOperation
Specifies the operation to be performed on the matrix a.
m  Int32
The number of rows in the matrix a.
alpha  Complex<Double>
The scalar used to multiply the matrix-vector product.
structure  MatrixStructure
A MatrixStructure value that specifies the structure of the matrix.
storedTriangle  MatrixTriangle
A MatrixTriangle value that specifies whether the matrix is upper or lower triangular.
matrixDiagonal  MatrixDiagonal
A MatrixDiagonal value that indicates whether the diagonal elements are all 1 or not.
a  Complex<Double>[]
Reference to the first element in a one-dimensional array that contains the elements of the matrix.
aRows  Int32[]
Integer array that contains the 1-based row indices of the corresponding elements of a.
aPointerB  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
aPointerE  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
x  ArraySlice<Complex<Double>>
A reference to a one-dimensional array containing the elements of the vector x.
y  ArraySlice<Complex<Double>>
A reference to a one-dimensional array containing the elements of the vector y. The elements of y are overwritten with the result.

Implements

ISparseLinearAlgebraOperations<T>.TriangularSolve(TransposeOperation, Int32, T, MatrixStructure, MatrixTriangle, MatrixDiagonal, T[], Int32[], Int32[], Int32[], ArraySlice<T>, ArraySlice<T>)

TriangularSolve(TransposeOperation, Int32, Double, MatrixStructure, MatrixTriangle, MatrixDiagonal, Double[], Int32[], Int32[], Int32[], ArraySlice<Double>, ArraySlice<Double>)

Solves for a dense vector for a sparse matrix in Compressed Sparse Column (CSC) format.
C#
public override void TriangularSolve(
	TransposeOperation transA,
	int m,
	double alpha,
	MatrixStructure structure,
	MatrixTriangle storedTriangle,
	MatrixDiagonal matrixDiagonal,
	double[] a,
	int[] aRows,
	int[] aPointerB,
	int[] aPointerE,
	ArraySlice<double> x,
	ArraySlice<double> y
)

Parameters

transA  TransposeOperation
Specifies the operation to be performed on the matrix a.
m  Int32
The number of rows in the matrix a.
alpha  Double
The scalar used to multiply the matrix-vector product.
structure  MatrixStructure
A MatrixStructure value that specifies the structure of the matrix.
storedTriangle  MatrixTriangle
A MatrixTriangle value that specifies whether the matrix is upper or lower triangular.
matrixDiagonal  MatrixDiagonal
A MatrixDiagonal value that indicates whether the diagonal elements are all 1 or not.
a  Double[]
Reference to the first element in a one-dimensional array that contains the elements of the matrix.
aRows  Int32[]
Integer array that contains the 1-based row indices of the corresponding elements of a.
aPointerB  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
aPointerE  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
x  ArraySlice<Double>
A reference to a one-dimensional array containing the elements of the vector x.
y  ArraySlice<Double>
A reference to a one-dimensional array containing the elements of the vector y. The elements of y are overwritten with the result.

Implements

ISparseLinearAlgebraOperations<T>.TriangularSolve(TransposeOperation, Int32, T, MatrixStructure, MatrixTriangle, MatrixDiagonal, T[], Int32[], Int32[], Int32[], ArraySlice<T>, ArraySlice<T>)

TriangularSolve(TransposeOperation, Int32, Int32, Complex<Double>, MatrixStructure, MatrixTriangle, MatrixDiagonal, Complex<Double>[], Int32[], Int32[], Int32[], Array2D<Complex<Double>>, Array2D<Complex<Double>>)

Solves for a dense vector for a sparse matrix in compressed sparse column format.
C#
public override void TriangularSolve(
	TransposeOperation transA,
	int m,
	int n,
	Complex<double> alpha,
	MatrixStructure structure,
	MatrixTriangle storedTriangle,
	MatrixDiagonal matrixDiagonal,
	Complex<double>[] a,
	int[] aRows,
	int[] aPointerB,
	int[] aPointerE,
	Array2D<Complex<double>> b,
	Array2D<Complex<double>> c
)

Parameters

transA  TransposeOperation
Specifies the operation to be performed on the matrix a.
m  Int32
The number of rows in the matrix a.
n  Int32
The number of columns of the matrices b and c.
alpha  Complex<Double>
The scalar used to multiply the matrix-vector product.
structure  MatrixStructure
A MatrixStructure value that specifies the structure of the matrix.
storedTriangle  MatrixTriangle
A MatrixTriangle value that specifies whether the matrix is upper or lower triangular.
matrixDiagonal  MatrixDiagonal
A MatrixDiagonal value that indicates whether the diagonal elements are all 1 or not.
a  Complex<Double>[]
Reference to the first element in a one-dimensional array that contains the elements of the matrix.
aRows  Int32[]
Integer array that contains the 1-based row indices of the corresponding elements of a.
aPointerB  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
aPointerE  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
b  Array2D<Complex<Double>>
A two-dimensional array containing the elements of the right-hand side.
c  Array2D<Complex<Double>>
A two-dimensional array containing the elements of the solution.

TriangularSolve(TransposeOperation, Int32, Int32, Double, MatrixStructure, MatrixTriangle, MatrixDiagonal, Double[], Int32[], Int32[], Int32[], Array2D<Double>, Array2D<Double>)

Solves for a dense matrix for a sparse matrix in compressed sparse column format.
C#
public override void TriangularSolve(
	TransposeOperation transA,
	int m,
	int n,
	double alpha,
	MatrixStructure structure,
	MatrixTriangle storedTriangle,
	MatrixDiagonal matrixDiagonal,
	double[] a,
	int[] aRows,
	int[] aPointerB,
	int[] aPointerE,
	Array2D<double> b,
	Array2D<double> c
)

Parameters

transA  TransposeOperation
Specifies the operation to be performed on the matrix a.
m  Int32
The number of rows in the matrix a.
n  Int32
The number of columns in the matrix b.
alpha  Double
The scalar used to multiply the matrix-vector product.
structure  MatrixStructure
A MatrixStructure value that specifies the structure of the matrix.
storedTriangle  MatrixTriangle
A MatrixTriangle value that specifies whether the matrix is upper or lower triangular.
matrixDiagonal  MatrixDiagonal
A MatrixDiagonal value that indicates whether the diagonal elements are all 1 or not.
a  Double[]
Reference to the first element in a one-dimensional array that contains the elements of the matrix.
aRows  Int32[]
Integer array that contains the 1-based row indices of the corresponding elements of a.
aPointerB  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
aPointerE  Int32[]
Integer array of length m containing the 1-based indices into a of the first component of each column.
b  Array2D<Double>
A two-dimensional array containing the elements of the right-hand side.
c  Array2D<Double>
A two-dimensional array containing the elements of the solution.

See Also