TMtx.DetectMtxType Method

TMtxType DetectMtxType(Boolean CheckPosDef)

Determines type of the matrix.

#NameTypeDescription
1CheckPosDefBoolean

Returns: TMtxType

Remarks:

Tests the calling matrix and returns the Dew.Math.TMtxType of the calling of matrix. The following types are supported:

Checking for positive definite matrix can be very expensive (O(n) = 1/3*n^3). Therefore the ChekPosDef parameter is False by default, unless the user specifies otherwise. The method will not detect banded matrix storage.

Examples
TVec X;
TVec B;
TMtx A;
TMtxType at;
MtxVec.CreateIt(out X, out B);
MtxVec.CreateIt(out A);
try
    {
        B.SetIt(false,new double[] {0,2});
        A.SetIt(2,2,false,[1,2,
        2,4]);  // 2x2 real matrix

        at = A.DetectMtxType;
        A.LUSolve(B,X,at);
        // This is the same for this example (except slower)
        A.LUSolve(B,X,mtSymmetric);
        // You could also specify
        A.AutoMtxType = true
        A.LUSolve(B,X);  // the type is autodetected
    }
finally
    {
        MtxVec.FreeIt(ref B, ref X);
        MtxVec.FreeIt(ref A);
    }