TSparseMtx.Solve Method

Overload List

#SignatureDescription
1void Solve(TMtx B, TMtx X, TMtxType MtxType)Direct solve.
2void Solve(TVec B, TVec X, TMtxType MtxType)Vector version of Solve.

Overload 1: void Solve(TMtx B, TMtx X, TMtxType MtxType)

Direct solve.

#NameTypeDescription
1BTMtxsource TMtx
2XTMtxsource TMtx
3MtxTypeTMtxType

Result: stored in self (calling object)

Remarks:

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.

See Also: TSparseMtx.SparseSolver

Overload 2: void Solve(TVec B, TVec X, TMtxType MtxType)

Vector version of Solve.

#NameTypeDescription
1BTVecsource TVec
2XTVecsource TVec
3MtxTypeTMtxType

Result: stored in self (calling object)