Function

sparse_vector_triangular_solve_dense_double

Solves the system of equations x = alpha * T⁻¹ * x for x where x is a dense vector and T is a triangular sparse matrix, with all operands containing double-precision values.

Declaration

sparse_status sparse_vector_triangular_solve_dense_double(enum CBLAS_TRANSPOSE transt, double alpha, sparse_matrix_double T, double *restrict x, sparse_stride incx);

Parameters

transt

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

alpha

Scalar multiplier of T.

T

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

x

Pointer to the dense vector x. The dimension must match the dimension of the triangular matrix T. Behavior undefined if this is not met. Negative strides are supported. Note, unlike dense BLAS routines, the pointer points to the last element when stride is negative. On exit holds the solution to the system of equations.

incx

Increment between valid values in the dense vector x. Negative strides are supported.

Return Value

On success, SPARSE_SUCCESS (x will be updated with result of the operation). Will return SPARSE_ILLEGAL_PARAMETER if transt is invalid or if the matrix T is not triangular and x will be unchanged.

See Also

Matrix-Vector Operations

sparse_matrix_vector_product_dense_double

Multiplies the dense vector x by the sparse matrix A and adds the result to the dense vector y, with all operands containing double-precision values.

sparse_matrix_vector_product_dense_float

Multiplies the dense vector x by the sparse matrix A and adds the result to the dense vector y, with all operands containing single-precision values.

sparse_vector_triangular_solve_dense_float

Solves the system of equations x = alpha * T⁻¹ * x for x where x is a dense vector and T is a triangular sparse matrix, with all operands containing single-precision values.

sparse_outer_product_dense_double

Computes the outer product of the dense vector x and the sparse vector y, with both operands containing double-precision values.

sparse_outer_product_dense_float

Computes the outer product of the dense vector x and the sparse vector y, with both operands containing single-precision values.

sparse_permute_rows_double

Permutes the rows of the double-precision sparse matrix A based on the provided permutation array.

sparse_permute_rows_float

Permutes the rows of the single-precision sparse matrix A based on the provided permutation array.

sparse_permute_cols_double

Permutes the columns of the double-precision sparse matrix A based on the provided permutation array.

sparse_permute_cols_float

Permutes the columns of the single-precision sparse matrix A based on the provided permutation array.

sparse_elementwise_norm_double

Computes the specified element-wise norm of the double-precision sparse matrix A.

sparse_elementwise_norm_float

Computes the specified element-wise norm of the single-precision sparse matrix A.

sparse_operator_norm_double

Computes the specified operator norm of the double-precision sparse matrix A.

sparse_operator_norm_float

Computes the specified operator norm of the single-precision sparse matrix A.

sparse_matrix_trace_double

Computes the sum along the specified diagonal of the double-precision sparse matrix A.

sparse_matrix_trace_float

Computes the sum along the specified diagonal of the single-precision sparse matrix A.