TSparseMtx.AddSplit Method

Overload List

#SignatureDescription
1procedure AddSplit(const LowerTriang: TSparseMtx; const UpperTriang: TSparseMtx);Sums up the sparse matrix from its lower (LoweTriang) and upper triangle (UpperTriang).
2procedure AddSplit(const LowerTriang: TSparseMtx; const Diag: TVec; const UpperTriang: TSparseMtx);Construct sparse matrxix by summing lower, upper triangluar part and the diagonal.

Overload 1: procedure AddSplit(const LowerTriang: TSparseMtx; const UpperTriang: TSparseMtx);

Sums up the sparse matrix from its lower (LoweTriang) and upper triangle (UpperTriang).

#NameTypeDescription
1LowerTriangTSparseMtx
2UpperTriangTSparseMtx

Result: stored in self (calling object)

Overload 2: procedure AddSplit(const LowerTriang: TSparseMtx; const Diag: TVec; const UpperTriang: TSparseMtx);

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

#NameTypeDescription
1LowerTriangTSparseMtx
2DiagTVec
3UpperTriangTSparseMtx

Result: stored in self (calling object)

Remarks:

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

Examples
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;
See Also: TSparseMtx.Split