Overload List
| # | Signature | Description |
|---|---|---|
| 1 | void Solve(TMtx *B, TMtx *X, TMtxType MtxType = TMtxType::mtGeneral); | Direct solve. |
| 2 | void Solve(TVec *B, TVec *X, TMtxType MtxType = TMtxType::mtGeneral); | Vector version of Solve. |
Overload 1: void Solve(TMtx *B, TMtx *X, TMtxType MtxType = TMtxType::mtGeneral);
Direct solve.
Solve the system A*X = B, where A is the calling matrix. The actual system being solved is defined by 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.