Overload List
| # | Signature | Description |
|---|---|---|
| 1 | void Solve(TMtx B, TMtx X, TMtxType MtxType) | Direct solve. |
| 2 | void Solve(TVec B, TVec X, TMtxType MtxType) | Vector version of Solve. |
Overload 1: void Solve(TMtx B, TMtx X, TMtxType MtxType)
Direct solve.
Result: stored in self (calling object)
Solve the system A*X = B, where A is the calling matrix. The actual system being solved is defined by Dew.Math.TSparseMtx.SparseSystem property. A is sparse and unsymmetric. It is based on the Unsymmetric MultiFrontal method, which factorizes PAQ into the product LU, where L and U are lower and upper triangular, respectively, and P are Q are permutation matrices. Both P and Q are chosen to reduce fill-in (new nonzeros in L and U that are not present in A). The permutation P has the dual role of reducing fill-in and maintaining numerical accuracy (via relaxed partial pivoting and row interchanges).
The Solve method uses BLAS level 3 dgeem matrix multiply routine and takes full advantage of CPU specific optimized code and symmetric multiprocessing.