Function

SparseRefactor(_:_:_:_:)

Reuses the object's storage to compute a new factorization of the single-precision matrix, using specified options, without internal memory allocation.

Declaration

Parameters

Matrix

The matrix containing numerical data to recompute.

Factored

The factorization to recompute.

options

Numeric factor options, for example the scaling method to use.

workspace

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

Discussion

Matrix must have the same non-zero structure as that used for the original factorization.

The same numerical factorization options will be used as in the original construction of Factorization.

This call provides very similar behavior to that which can be achieved by reusing explicit storage supplied to SparseFactor(_:_:_:_:_:) as the argument factorStorage. However, in addition to providing a simplified call sequence, this call can also reuse any additional storage allocated to accommodate delayed pivots.

Note that if the reference count of the underlying object is not exactly one (that is, if there are any implicit copies as a result of calls to transpose or extract factor functions that have not been destroyed through a call to the relevant cleanup function), then new storage will be allocated regardless.

See Also

Matrix Refactorizations with User-Defined Workspace

func SparseRefactor(SparseMatrix_Double, UnsafeMutablePointer<SparseOpaqueFactorization_Double>, UnsafeMutableRawPointer)

Reuses the object's storage to compute a new factorization of the double-precision matrix, without internal memory allocation.

func SparseRefactor(SparseMatrix_Float, UnsafeMutablePointer<SparseOpaqueFactorization_Float>, UnsafeMutableRawPointer)

Reuses the object's storage to compute a new factorization of the single-precision matrix, without internal memory allocation.

func SparseRefactor(SparseMatrix_Double, UnsafeMutablePointer<SparseOpaqueFactorization_Double>, SparseNumericFactorOptions, UnsafeMutableRawPointer)

Reuses the object's storage to compute a new factorization of the double-precision matrix, using specified options, without internal memory allocation.