<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/pointwise-matrix-operations",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Pointwise Matrix Operations"
}
-->

# Pointwise Matrix Operations

Create, insert values into, and extract values from a pointwise sparse matrix.

## Topics

### Matrix creation and population

[`func sparse_matrix_create_double(sparse_dimension, sparse_dimension) -> sparse_matrix_double!`](/documentation/Accelerate/sparse_matrix_create_double(_:_:))

Returns a double-precision sparse matrix object.

[`func sparse_matrix_create_float(sparse_dimension, sparse_dimension) -> sparse_matrix_float!`](/documentation/Accelerate/sparse_matrix_create_float(_:_:))

Returns a single-precision sparse matrix object.

[`func sparse_insert_entry_double(sparse_matrix_double!, Double, sparse_index, sparse_index) -> sparse_status`](/documentation/Accelerate/sparse_insert_entry_double(_:_:_:_:))

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

[`func sparse_insert_entry_float(sparse_matrix_float!, Float, sparse_index, sparse_index) -> sparse_status`](/documentation/Accelerate/sparse_insert_entry_float(_:_:_:_:))

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

[`func sparse_insert_entries_double(sparse_matrix_double!, sparse_dimension, UnsafePointer<Double>!, UnsafePointer<sparse_index>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_entries_double(_:_:_:_:_:))

Inserts a list of scalar entries into a double-precision sparse matrix.

[`func sparse_insert_entries_float(sparse_matrix_float!, sparse_dimension, UnsafePointer<Float>!, UnsafePointer<sparse_index>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_entries_float(_:_:_:_:_:))

Inserts a list of scalar entries into a single-precision sparse matrix.

[`func sparse_insert_col_double(sparse_matrix_double!, sparse_index, sparse_dimension, UnsafePointer<Double>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_col_double(_:_:_:_:_:))

Inserts a list of scalar entries into a single column of a double-precision sparse matrix.

[`func sparse_insert_col_float(sparse_matrix_float!, sparse_index, sparse_dimension, UnsafePointer<Float>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_col_float(_:_:_:_:_:))

Inserts a list of scalar entries into a single column of a single-precision sparse matrix.

[`func sparse_insert_row_double(sparse_matrix_double!, sparse_index, sparse_dimension, UnsafePointer<Double>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_row_double(_:_:_:_:_:))

Inserts a list of scalar entries into a single row of a double-precision sparse matrix.

[`func sparse_insert_row_float(sparse_matrix_float!, sparse_index, sparse_dimension, UnsafePointer<Float>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_row_float(_:_:_:_:_:))

Inserts a list of scalar entries into a single row of a single-precision sparse matrix.

### Complex matrix creation and population

[`func sparse_matrix_create_double_complex(sparse_dimension, sparse_dimension) -> sparse_matrix_double_complex!`](/documentation/Accelerate/sparse_matrix_create_double_complex(_:_:))

[`func sparse_matrix_create_float_complex(sparse_dimension, sparse_dimension) -> sparse_matrix_float_complex!`](/documentation/Accelerate/sparse_matrix_create_float_complex(_:_:))

### Value insertion

[`func sparse_insert_col_double_complex(sparse_matrix_double_complex!, sparse_index, sparse_dimension, OpaquePointer!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_col_double_complex(_:_:_:_:_:))

[`func sparse_insert_col_float_complex(sparse_matrix_float_complex!, sparse_index, sparse_dimension, OpaquePointer!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_col_float_complex(_:_:_:_:_:))

[`func sparse_insert_entries_double_complex(sparse_matrix_double_complex!, sparse_dimension, OpaquePointer!, UnsafePointer<sparse_index>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_entries_double_complex(_:_:_:_:_:))

[`func sparse_insert_entries_float_complex(sparse_matrix_float_complex!, sparse_dimension, OpaquePointer!, UnsafePointer<sparse_index>!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_entries_float_complex(_:_:_:_:_:))

[`func sparse_insert_row_double_complex(sparse_matrix_double_complex!, sparse_index, sparse_dimension, OpaquePointer!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_row_double_complex(_:_:_:_:_:))

[`func sparse_insert_row_float_complex(sparse_matrix_float_complex!, sparse_index, sparse_dimension, OpaquePointer!, UnsafePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_insert_row_float_complex(_:_:_:_:_:))

### Value extraction

[`func sparse_extract_sparse_row_double(sparse_matrix_double!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, UnsafeMutablePointer<Double>!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_row_double(_:_:_:_:_:_:_:))

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

[`func sparse_extract_sparse_row_float(sparse_matrix_float!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, UnsafeMutablePointer<Float>!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_row_float(_:_:_:_:_:_:_:))

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

[`func sparse_extract_sparse_column_double(sparse_matrix_double!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, UnsafeMutablePointer<Double>!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_column_double(_:_:_:_:_:_:_:))

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

[`func sparse_extract_sparse_column_float(sparse_matrix_float!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, UnsafeMutablePointer<Float>!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_column_float(_:_:_:_:_:_:_:))

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

[`func sparse_extract_sparse_column_double_complex(sparse_matrix_double_complex!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, OpaquePointer!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_column_double_complex(_:_:_:_:_:_:_:))

[`func sparse_extract_sparse_column_float_complex(sparse_matrix_float_complex!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, OpaquePointer!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_column_float_complex(_:_:_:_:_:_:_:))

[`func sparse_extract_sparse_row_float_complex(sparse_matrix_float_complex!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, OpaquePointer!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_row_float_complex(_:_:_:_:_:_:_:))

[`func sparse_extract_sparse_row_double_complex(sparse_matrix_double_complex!, sparse_index, sparse_index, UnsafeMutablePointer<sparse_index>!, sparse_dimension, OpaquePointer!, UnsafeMutablePointer<sparse_index>!) -> sparse_status`](/documentation/Accelerate/sparse_extract_sparse_row_double_complex(_:_:_:_:_:_:_:))

### Supporting types

[`typealias sparse_dimension`](/documentation/Accelerate/sparse_dimension)

The dimension type.

[`typealias sparse_index`](/documentation/Accelerate/sparse_index)

The index type.

[`typealias sparse_matrix_double`](/documentation/Accelerate/sparse_matrix_double)

Sparse matrix opaque type for double.

[`typealias sparse_matrix_float`](/documentation/Accelerate/sparse_matrix_float)

Sparse matrix opaque type for float.

[`struct sparse_status`](/documentation/Accelerate/sparse_status)

The type reflecting the status of an operations.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)