<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/sparse-symbolic-factorization-functions",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Sparse Symbolic Factorization Functions"
}
-->

# Sparse Symbolic Factorization Functions

Calculate the symbolic factorization of a matrix, and solve systems using precalculated symbolic factorizations.

## Topics

### Matrix symbolic factorization functions

[`func SparseFactor(SparseFactorization_t, SparseMatrixStructure) -> SparseOpaqueSymbolicFactorization`](/documentation/Accelerate/SparseFactor(_:_:)-3697o)

Returns a symbolic factorization of the requested type for a specified sparsity structure.

[`func SparseFactor(SparseFactorization_t, SparseMatrixStructure, SparseSymbolicFactorOptions) -> SparseOpaqueSymbolicFactorization`](/documentation/Accelerate/SparseFactor(_:_:_:)-45gsz)

Returns a symbolic factorization of the requested type for a single-precision matrix with the specified structure.

### Matrix factorizations using precalculated symbolic factorization

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Double) -> SparseOpaqueFactorization_Double`](/documentation/Accelerate/SparseFactor(_:_:)-58oq8)

Returns the factorization of a sparse matrix of double-precision values that corresponds to the supplied symbolic factorization.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Float) -> SparseOpaqueFactorization_Float`](/documentation/Accelerate/SparseFactor(_:_:)-1p6im)

Returns the factorization of a sparse matrix of single-precision values that corresponds to the supplied symbolic factorization.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Double, SparseNumericFactorOptions) -> SparseOpaqueFactorization_Double`](/documentation/Accelerate/SparseFactor(_:_:_:)-3ddg)

Returns the factorization of a sparse matrix of double-precision values that corresponds to the supplied symbolic factorization using specified options.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Float, SparseNumericFactorOptions) -> SparseOpaqueFactorization_Float`](/documentation/Accelerate/SparseFactor(_:_:_:)-797fl)

Returns the factorization of a sparse matrix of single-precision values that corresponds to the supplied symbolic factorization using specified options.

### Matrix factorizations using precalculated symbolic factorization with user-defined workspace

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Double, SparseNumericFactorOptions, UnsafeMutableRawPointer?, UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Double`](/documentation/Accelerate/SparseFactor(_:_:_:_:_:)-68hki)

Returns the factorization of a sparse matrix of double-precision values that corresponds to the supplied symbolic factorization using user-defined workspace and factor storage.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Float, SparseNumericFactorOptions, UnsafeMutableRawPointer?, UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Float`](/documentation/Accelerate/SparseFactor(_:_:_:_:_:)-8afz)

Returns the factorization of a sparse matrix of single-precision values that corresponds to the supplied symbolic factorization using user-defined workspace and factor storage.

### Supporting types

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

A semi-opaque type that represents symbolic matrix factorization.

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

Constants that define the factorization type.

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

A structure that contains options that affect the symbolic stage of a sparse factorization.

### Complex factorization functions

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Complex_Float) -> SparseOpaqueFactorization_Complex_Float`](/documentation/Accelerate/SparseFactor(_:_:)-7a3l4)

Returns the factorization of a sparse matrix of complex float values
corresponding to the supplied symbolic factorization.

[`func SparseFactor(SparseFactorization_t, SparseMatrixStructureComplex, SparseSymbolicFactorOptions) -> SparseOpaqueSymbolicFactorization`](/documentation/Accelerate/SparseFactor(_:_:_:)-6s9g)

Returns a symbolic factorization of the requested type for a
complex matrix with the given structure, with the supplied options.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Complex_Float, SparseNumericFactorOptions) -> SparseOpaqueFactorization_Complex_Float`](/documentation/Accelerate/SparseFactor(_:_:_:)-7kqvi)

Returns the factorization of a sparse matrix of complex float values
corresponding to the supplied symbolic factorization, using the
specified options.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Complex_Double, SparseNumericFactorOptions) -> SparseOpaqueFactorization_Complex_Double`](/documentation/Accelerate/SparseFactor(_:_:_:)-9ypz5)

Returns the factorization of a sparse matrix of complex double values
corresponding to the supplied symbolic factorization, using the
specified options.

[`func SparseFactor(SparseFactorization_t, SparseMatrix_Complex_Double, SparseSymbolicFactorOptions, SparseNumericFactorOptions) -> SparseOpaqueFactorization_Complex_Double`](/documentation/Accelerate/SparseFactor(_:_:_:_:)-6hqfp)

Returns the specified factorization of a sparse matrix of complex double
values, using the specified options.

[`func SparseFactor(SparseFactorization_t, SparseMatrix_Complex_Float, SparseSymbolicFactorOptions, SparseNumericFactorOptions) -> SparseOpaqueFactorization_Complex_Float`](/documentation/Accelerate/SparseFactor(_:_:_:_:)-9ykfp)

Returns the specified factorization of a sparse matrix of complex float
values, using the specified options.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Complex_Float, SparseNumericFactorOptions, UnsafeMutableRawPointer?, UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Complex_Float`](/documentation/Accelerate/SparseFactor(_:_:_:_:_:)-2dqfv)

Returns the factorization of a sparse matrix of complex float values
corresponding to the supplied symbolic factorization, using the
specified options and without any internal memory allocations.

[`func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Complex_Double, SparseNumericFactorOptions, UnsafeMutableRawPointer?, UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Complex_Double`](/documentation/Accelerate/SparseFactor(_:_:_:_:_:)-7j0dm)

Returns the factorization of a sparse matrix of complex double values
corresponding to the supplied symbolic factorization, using the
specified options and without any internal memory allocations.



---

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)