Function

sparse_permute_cols_double

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

Declaration

sparse_status sparse_permute_cols_double(sparse_matrix_double A, const sparse_index *restrict perm);

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:

 tmp[:] = A[:,j];
 A[:,j] = A[:,perm[j]];
 A[:,perm[j]] = tmp[:];

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