Contents

sparse_insert_entry_float(_:_:_:_:)

Inserts a single scalar entry into a single-precision sparse matrix.

Declaration

func sparse_insert_entry_float(_ A: sparse_matrix_float!, _ val: Float, _ i: sparse_index, _ j: sparse_index) -> sparse_status

Parameters

  • A:

    The sparse matrix, A, which must have been created with Sparse_matrix_create_float(_:_:). Sparse_illegal_parameter is returned if not met.

  • val:

    The scalar value to insert into the sparse matrix.

  • i:

    The row location to insert the value. Indices are 0 based (first element of pointer is ptr[0]). Indices expected to be in the bounds of matrix dimensions, undefined behavior if not met.

  • j:

    The column location to insert the value. Indices are 0 based (first element of pointer is ptr[0]). Indices expected to be in the bounds of matrix dimensions, undefined behavior if not met.

Return Value

On successful insertion, A has been updated with the value and SPARSE_SUCCESS is returned. If A creation requirements are not met, SPARSE_ILLEGAL_PARAMETER is returned and A is unchanged.

Discussion

Use to build a sparse matrix by inserting one scalar entry at a time. This function is the equivalent of A[i,j] = val.

Note that matrix properties cannot be modified after value insertion begins. This includes properties such as specifying a triangular matrix.

Insertion can be expensive, generally speaking it is best to do a batch update.

Inserted values may be temporarily held internally within the object and only inserted into the sparse format when a later computation triggers a need to insert.

See Also

Matrix creation and population