Function

sparse_operator_norm_float(_:_:)

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

Declaration

func sparse_operator_norm_float(_ A: sparse_matrix_float!, _ norm: sparse_norm) -> Float

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_double(sparse_matrix_double!, sparse_norm) -> Double

Computes the specified operator norm of the double-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.

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.

Learn more about using Apple's beta software