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
func SparseFactor(_ symbolicFactor: SparseOpaqueSymbolicFactorization, _ Matrix: SparseMatrix_Complex_Double, _ nfoptions: SparseNumericFactorOptions, _ factorStorage: UnsafeMutableRawPointer?, _ workspace: UnsafeMutableRawPointer?) -> SparseOpaqueFactorization_Complex_DoubleParameters
- 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 * 2bytes. 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 bymalloc()has this property). - workspace:
A pointer to a workspace of size at least
SymbolicFactor.workspaceSize_Double * 2bytes. 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 bymalloc()has this property).
Return Value
Factorization of Matrix.
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.