---
title: "SparseFactor(_:_:_:_:_:)"
framework: accelerate
role: symbol
role_heading: Function
path: "accelerate/sparsefactor(_:_:_:_:_:)-7j0dm"
---

# SparseFactor(_:_:_:_:_:)

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.

## Declaration

```swift
func SparseFactor(_ symbolicFactor: SparseOpaqueSymbolicFactorization, _ Matrix: SparseMatrix_Complex_Double, _ nfoptions: SparseNumericFactorOptions, _ factorStorage: UnsafeMutableRawPointer?, _ workspace: UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Complex_Double
```

## Parameters

- `Matrix`: The matrix to factorize.
- `nfoptions`: Numeric factor options, for example pivoting parameters.
- `factorStorage`: A pointer to space used to store the factorization of size at least SymbolicFactor.factorSize_Double * 2 bytes. This storage should not be altered by the user during the lifetime of the return value. This memory must be 16-byte aligned (any allocation returned by malloc() has this property).
- `workspace`: A pointer to a workspace of size at least SymbolicFactor.workspaceSize_Double * 2 bytes. This workspace may be reused or destroyed by the user as soon as the function returns. This memory must be 16-byte aligned (any allocation returned by malloc() has this property).

## Return Value

Return Value Factorization of Matrix.

## Discussion

Discussion Note that internal memory allocations may occur in the case of pivoted factorizations that result in delayed pivots. If you require closer control over memory allocations, supply a sfoptions.malloc() function that implements the required behaviour, or use an alternative non-pivoted factorization returns. Note that if sfoptions.malloc() returns NULL the factorization will abort immediately.

## See Also

### Complex factorization functions

- [SparseFactor(_:_:)](accelerate/sparsefactor(_:_:)-7a3l4.md)
- [SparseFactor(_:_:_:)](accelerate/sparsefactor(_:_:_:)-6s9g.md)
- [SparseFactor(_:_:_:)](accelerate/sparsefactor(_:_:_:)-7kqvi.md)
- [SparseFactor(_:_:_:)](accelerate/sparsefactor(_:_:_:)-9ypz5.md)
- [SparseFactor(_:_:_:_:)](accelerate/sparsefactor(_:_:_:_:)-6hqfp.md)
- [SparseFactor(_:_:_:_:)](accelerate/sparsefactor(_:_:_:_:)-9ykfp.md)
- [SparseFactor(_:_:_:_:_:)](accelerate/sparsefactor(_:_:_:_:_:)-2dqfv.md)
