# Matrix and Vector Operations

Perform computations with matrices and vectors.

## Topics

### Matrix-Matrix Operations

`sparse_matrix_product_dense_double`

Multiplies the dense matrix B by the sparse matrix A and adds the result to the dense matrix C, all with double-precision values.

`sparse_matrix_product_dense_float`

Multiplies the dense matrix B by the sparse matrix A and adds the result to the dense matrix C, all with single-precision values.

`sparse_matrix_product_sparse_double`

Multiplies the sparse matrix B by the sparse matrix A and adds the result to the dense matrix C, all with double-precision values.

`sparse_matrix_product_sparse_float`

Multiplies the sparse matrix B by the sparse matrix A and adds the result to the dense matrix C, all with single-precision values.

`sparse_matrix_triangular_solve_dense_double`

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.

`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.

### 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_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.

`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.

### Vector-Vector Operations

`sparse_inner_product_dense_double`

Computes the inner product of sparse vector x with double-precision y, with both vectors containing double-precision values.

`sparse_inner_product_dense_float`

Computes the inner product of sparse vector x with dense vector y, with both vectors containing single-precision values.

`sparse_inner_product_sparse_double`

Computes the inner product of sparse vector x with sparse vector y, with both vectors containing double-precision values.

`sparse_inner_product_sparse_float`

Computes the inner product of sparse vector x with sparse vector y, with both vectors containing single-precision values.

`sparse_vector_add_with_scale_dense_double`

Scales the sparse vector x by alpha and adds the result to the dense vector y, with both vectors containing double-precision values.

`sparse_vector_add_with_scale_dense_float`

Scales the sparse vector x by alpha and adds the result to the dense vector y, with both vectors containing single-precision values.

`sparse_vector_norm_double`

Computes the specified norm of the double-precision sparse vector x.

`sparse_vector_norm_float`

Computes the specified norm of the single-precision sparse vector x.

### Supporting Types

`sparse_status`

The type reflecting the status of an operations.

`sparse_dimension`

The dimension type.

`sparse_norm`

The norm specifier.

### Sparse Computation

Pointwise Matrix Operations

Create, insert values into, and extract values from a pointwise sparse matrix.

Blockwise Matrix Operations

Create, insert values into, and extract values from a blockwise sparse matrix.

General Sparse Matrix Management Operations

Operations to manage and work with sparse matrix properties.

Sparse Utility Operations

Various utility operations for creating and working with sparse structures.