Function

# sparse_permute_cols_double

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

## Parameters

`A`

The sparse matrix, A.

`perm`

The permutation array. Holds number of columns in A values indicating the permutation of the matrix. The indices in `perm` are expected to be 0 based (first element of pointer is `ptr[0]`). The indices in `perm` are expected to be within bounds of the matrix. Undefined behavior if not met.

## Return Value

On successful return, `A` has been permuted and `SPARSE_SUCCESS` is returned.

## Discussion

Permute the columns of the sparse matrix A based on the provided permutation array. For each column in A, swap columns as:

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

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.