Function

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