You are here: Symbol Reference > Sparse Namespace > Classes > TSparseMtx Class > public > AddSplit Method > TSparseMtx.AddSplit Method (TSparseMtx, TVec, TSparseMtx)
MtxVec VCL
ContentsIndex
PreviousUpNext
TSparseMtx.AddSplit Method (TSparseMtx, TVec, TSparseMtx)

Construct sparse matrxix by summing lower, upper triangluar part and the diagonal.

Pascal
procedure AddSplit(const LowerTriang: TSparseMtx; const Diag: TVec; const UpperTriang: TSparseMtx); overload;

Sums up the sparse matrix from its three parts: The lower triangle (LowerTriang), main diagonal (Diag) and upper triangle (UpperTriang).

var asp, bsp,csp, dsp: TSparseMtx; d: Vector; begin // ... // #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); // should be equal if not asp.Equal(dsp) then Eraise('Not Equal!'); end;
#include "MtxExpr.hpp" #include "Sparse.hpp" void __fastcall Example() { sVector d; TSparseMtx *asp = new TSparseMtx(); TSparseMtx *bsp = new TSparseMtx(); TSparseMtx *csp = new TSparseMtx(); TSparseMtx *dsp = new TSparseMtx(); // ... // #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); // should be equal if (!asp->Equal(dsp)) ERaise("Not Equal!"); delete asp; delete bsp; delete csp; delete dsp; }
Examples on GitHub
Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!