TSparseMtx::AddSplit Method

Overload List

#SignatureDescription
1void AddSplit(TSparseMtx *LowerTriang, TVec *Diag, TSparseMtx *UpperTriang);Construct sparse matrxix by summing lower, upper triangluar part and the diagonal.
2void 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.

#NameTypeDescription
1LowerTriangTSparseMtx *
2DiagTVec *
3UpperTriangTSparseMtx *
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).

#NameTypeDescription
1LowerTriangTSparseMtx *
2UpperTriangTSparseMtx *
Declared in Dew::Math::TSparseMtx · Dew.Math/sparse.h · Cross-compiler