Function

sparse_extract_sparse_row_double

Extracts values from a specified row of a double-precision sparse matrix.

Declaration

sparse_status sparse_extract_sparse_row_double(sparse_matrix_double A, sparse_index row, sparse_index column_start, sparse_index *column_end, sparse_dimension nz, double *restrict val, sparse_index *restrict jndx);

Parameters

A

The sparse matrix, A, which must have been created with sparse_matrix_create_double. SPARSE_ILLEGAL_PARAMETER is returned if not met.

row

The row for value extraction.

column_start

The index of the column to start extraction.

column_end

On return, holds the column index of the next nonzero value.

nz

The number of values to extract from A. Each of jndx and val are of size nz.

val

Pointer to array to hold the values extracted from the sparse matrix. The value is extracted from the location specified by the corresponding indices of row and jndx. Must be of size nz elements. If less than nz nonzero values are found, then the last nz - actual_nonzero_count elements of val are untouched.

jndx

An array to hold the extracted column indices that correspond to the values in val. Note that these indices are relative to the matrix row and not the starting column index specified by column_start. Returned indices are 0 based (first element of pointer is ptr[0]). Must be of size nz elements.

Return Value

On success val and jndx have been updated with the nonzero values of the row'th row, column_end holds the column index of the next nonzero value, and the number of nonzero values written are returned. If A creation requirements are not met, SPARSE_ILLEGAL_PARAMETER is returned and val and jndx are unchanged.

Discussion

Extract the first nz values of the row beginning at A[row,column_start] for the sparse matrix A. The number of nonzero values extracted is limited by nz, and the number of nonzero's written to jndx and val are returned. Additionally, the column index of the next nonzero value is returned in column_end. For example if nz is returned, not all nonzero values have been extracted, and a second extract can start from column_end.

See Also

Value Extraction

sparse_extract_sparse_row_float

Extracts values from a specified row of a single-precision sparse matrix.

sparse_extract_sparse_column_double

Extracts values from a specified column of a double-precision sparse matrix.

sparse_extract_sparse_column_float

Extracts values from a specified column of a single-precision sparse matrix.