Overload List
| # | Signature | Description |
|---|---|---|
| 1 | void AddSplit(TSparseMtx *LowerTriang, TVec *Diag, TSparseMtx *UpperTriang); | Construct sparse matrxix by summing lower, upper triangluar part and the diagonal. |
| 2 | void AddSplit(TSparseMtx *LowerTriang, TSparseMtx *UpperTriang); | Sums up the sparse matrix from its lower (LoweTriang) and upper triangle (UpperTriang). |
Overload 1: void AddSplit(TSparseMtx *LowerTriang, TVec *Diag, TSparseMtx *UpperTriang);
Construct sparse matrxix by summing lower, upper triangluar part and the diagonal.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | LowerTriang | TSparseMtx * | |
| 2 | Diag | TVec * | |
| 3 | UpperTriang | TSparseMtx * |
Remarks:
Sums up the sparse matrix from its three parts: The lower triangle (LowerTriang), main diagonal (Diag) and upper triangle (UpperTriang).
Examples
#include "MtxExpr.h"
#include "sparse.h"
using namespace Dew;
using namespace Dew::Math;
void Example()
{
Vector d(0);
TSparseMtx* asp = new TSparseMtx();
TSparseMtx* bsp = new TSparseMtx();
TSparseMtx* csp = new TSparseMtx();
TSparseMtx* dsp = new TSparseMtx();
// ...
Matrix A = {{4, 1, 0}, {2, 5, 3}, {0, 1, 6}};
asp->DenseToSparse(A);
// #1 : split asp into lower(bsp), upper(csp) and diagonal(d) sections
bsp->LowerTriangle(asp);
csp->UpperTriangle(asp);
asp->Diag(d);
// now combine lower(bsp), upper, and diagonal(d) back
dsp->AddSplit(bsp, d, csp);
delete asp;
delete bsp;
delete csp;
delete dsp;
}
See Also: TSparseMtx::Split
Declared in Dew::Math::TSparseMtx · Dew.Math/sparse.h · Cross-compiler
Overload 2: void AddSplit(TSparseMtx *LowerTriang, TSparseMtx *UpperTriang);
Sums up the sparse matrix from its lower (LoweTriang) and upper triangle (UpperTriang).
| # | Name | Type | Description |
|---|---|---|---|
| 1 | LowerTriang | TSparseMtx * | |
| 2 | UpperTriang | TSparseMtx * |
Declared in Dew::Math::TSparseMtx · Dew.Math/sparse.h · Cross-compiler