Matrix::Diag Method

TMtx *Diag(TVec *Vec, int k) const;

Sets the matrix diagonal to values from the vector.

#NameTypeDescription
1VecTVec *
2kint
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
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Matrix A;
    Vector D;

    A.SetIt(2, 2, true, DewArray<double>{1, 1, 2, 1,
        1, 2, 2, 2});
    D.SetIt(true, DewArray<double>{2, 2, 1, 1});
    A.Diag(D, 0);
    // A becomes:
    // [2,2, 2,1]
    // [1,2, 1,1]
}
See Also: Matrix::Diag
Declared in Dew::Math::Matrix · Dew.Math/MtxExpr.h · Cross-compiler