Contents

sparse_vector_norm_double(_:_:_:_:)

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

Declaration

func sparse_vector_norm_double(_ nz: sparse_dimension, _ x: UnsafePointer<Double>!, _ indx: UnsafePointer<sparse_index>!, _ norm: sparse_norm) -> Double

Parameters

  • nz:

    The number of nonzero values in the sparse vector x.

  • x:

    Pointer to the dense storage for the values of the sparse vector x. The corresponding entry in indx holds the index of the value. Contains nz values.

  • indx:

    Pointer to the dense storage for the index values of the sparse vector x. The corresponding entry in x holds the values of the vector. Contains nz values.

  • norm:

    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

Compute the specified norm of the sparse vector x. Specify one of:

| SPARSE_NORM_ONE | sumᵢ ( | x[i] | ) | |—|—| | SPARSE_NORM_TWO | sqrt ( sumᵢ (x[i])² ) | | SPARSE_NORM_INF | maxᵢ( | x[i] | ) | | SPARSE_NORM_R1 | Not supported, undefined. |

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

Indices in indx are always assumed to be stored in ascending order. Additionally, indices are assumed to be unique. The behavior of this function is undefined if either of these assumptions are not met.

All indices are 0 based (the first element of a pointer is ptr[0]).

See Also

Vector-Vector Operations