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


func SparseFactor(_ symbolicFactor: SparseOpaqueSymbolicFactorization, _ Matrix: SparseMatrix_Double, _ nfoptions: SparseNumericFactorOptions, _ factorStorage: UnsafeMutableRawPointer?, _ workspace: UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Double



A symbolic factorization, as returned by a call of the form SparseFactor(_:_:_:_:_:).


The matrix to factorize.


Numeric factor options, for example for example pivoting parameters.


A pointer to space used to store the factorization of size at least factorSize_Double bytes. This storage should not be altered by the user during the lifetime of the return value.


A pointer to a workspace of size at least workspaceSize_Double bytes. This workspace may be reused or destroyed by the user as soon as the function returns.

Return Value

A SparseOpaqueFactorization_Double structure representing the matrix factorization.


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 malloc function that implements the required behavior, or use an alternative non-pivoted factorization returns. Note that if malloc returns NULL the factorization will abort immediately.

See Also

Matrix Factorizations with User-Defined Workspace

func SparseFactor(SparseOpaqueSymbolicFactorization, SparseMatrix_Float, SparseNumericFactorOptions, UnsafeMutableRawPointer?, UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Float

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

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software