Matrix.Diag Method

function Diag(const Vec: TVec; k: Integer): TMtx;

Sets the matrix diagonal to values from the vector.

#NameTypeDescription
1VecTVec
2kInteger

Result: stored in self (calling object), returns self for chaining

Remarks:

Sets the k-th diagonal of the calling matrix to values from from the Vec object. If k = 0 then the main diagonal matrix is set, if k < 0 then the k-th subdiagonal matrix is set and if k > 0 the then the k-th super diagonal is set. The matrix must be large enough to hold diagonal or an exception is raised.

Examples
var A: Matrix;
    D: Vector;
begin
    A := [[Cplx(1,1),Cplx(2,1)],[Cplx(1,2),Cplx(2,2)]];
    D := [Cplx(2,2),Cplx(1,1)];
    A.Diag(D,0);
    // A becomes:
    // [2,2, 2,1]
    // [1,2, 1,1]
end;
See Also: Matrix.Diag