Function

sparse_operator_norm_double(_:_:)

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

Declaration

func sparse_operator_norm_double(_ A: sparse_matrix_double!, _ norm: sparse_norm) -> Double

Parameters

A

The sparse matrix, A.

norm

Specify the norm to be computed. Must be one of SPARSE_NORM_ONE, SPARSE_NORM_TWO, or SPARSE_NORM_INF. See discussion for further details.

Return Value

The requested norm.

Discussion

This is the norm of the matrix treated as an linear operator, not the element-wise norm. Specify one of:

SPARSE_NORM_ONE

max over j ( sum over i ( | A[i,j] | ) )

SPARSE_NORM_TWO

Maximum singular value. This is significantly more expensive to compute than the other norms.

SPARSE_NORM_INF

max over i ( sum over j ( | A[i,j] | ) )

SPARSE_NORM_R1

Not supported, undefined.

If norm is not one of the enumerated norm types, the default value is SPARSE_NORM_INF.

See Also

Matrix-Vector Operations

func sparse_matrix_vector_product_dense_double(CBLAS_TRANSPOSE, Double, sparse_matrix_double!, UnsafePointer<Double>!, sparse_stride, UnsafeMutablePointer<Double>!, sparse_stride) -> sparse_status

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.

func sparse_matrix_vector_product_dense_float(CBLAS_TRANSPOSE, Float, sparse_matrix_float!, UnsafePointer<Float>!, sparse_stride, UnsafeMutablePointer<Float>!, sparse_stride) -> sparse_status

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.

func sparse_vector_triangular_solve_dense_double(CBLAS_TRANSPOSE, Double, sparse_matrix_double!, UnsafeMutablePointer<Double>!, sparse_stride) -> sparse_status

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.

func sparse_vector_triangular_solve_dense_float(CBLAS_TRANSPOSE, Float, sparse_matrix_float!, UnsafeMutablePointer<Float>!, sparse_stride) -> sparse_status

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.

func sparse_permute_rows_double(sparse_matrix_double!, UnsafePointer<sparse_index>!) -> sparse_status

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

func sparse_permute_rows_float(sparse_matrix_float!, UnsafePointer<sparse_index>!) -> sparse_status

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

func sparse_permute_cols_double(sparse_matrix_double!, UnsafePointer<sparse_index>!) -> sparse_status

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

func sparse_permute_cols_float(sparse_matrix_float!, UnsafePointer<sparse_index>!) -> sparse_status

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

func sparse_elementwise_norm_double(sparse_matrix_double!, sparse_norm) -> Double

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

func sparse_elementwise_norm_float(sparse_matrix_float!, sparse_norm) -> Float

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

func sparse_operator_norm_float(sparse_matrix_float!, sparse_norm) -> Float

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

func sparse_matrix_trace_double(sparse_matrix_double!, sparse_index) -> Double

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

func sparse_matrix_trace_float(sparse_matrix_float!, sparse_index) -> Float

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