Function

# sparse_matrix_triangular_solve_dense_float(_:_:_:_:_:_:_:)

Solves the system of equations B = alpha * T⁻¹ * B for B where B is a dense matrix and T is a triangular sparse matrix, both with double-precision values.

## Parameters

`order`

Specified the storage order for the dense matrix B. Must be one of CblasRowMajor or CblasColMajor.

`transt`

Specifies whether to perform the operation with T or the transpose of T. Must be one of CblasNoTrans or CblasTrans.

`nrhs`

The number of columns of the matrix B.

`alpha`

Scalar multiplier of T.

`T`

The sparse triangular matrix, T. Must be upper or lower triangular matrix. Will return `SPARSE_ILLEGAL_PARAMETER` if not a triangular matrix.

`B`

Pointer to the dense matrix B. The number of rows must be equal to the number of columns of T and the number of columns is `nrhs`. Behavior undefined if this is not met. The argument `ldb` describes how many elements to move between one row (row major) or column (column major). On exit holds the solution to the system of equations.

`ldb`

Increment in elements between rows (row major) or columns (column major) of B. Must be greater than or equal to `nrhs` when row major, or number of columns of A when column major.

## Return Value

On success, `SPARSE_SUCCESS` is returned and B has been updated with result of the operation. Will return `SPARSE_ILLEGAL_PARAMETER` if either of order or `transt` are invalid or the `ldb` does not meet its dimension requirements. On error, B is unchanged.

## Discussion

If T is of size N x N, then B must be of size N x `nrhs`. The matrix T must be an upper or lower triangular matrix.

`func sparse_matrix_triangular_solve_dense_double(CBLAS_ORDER, CBLAS_TRANSPOSE, sparse_dimension, Double, sparse_matrix_double!, UnsafeMutablePointer<Double>!, sparse_dimension) -> sparse_status`