Boolean AutoMtxType { get; set; }
Defines if matrix type will be checked automatically.
Returns: Boolean
If True, some routines requesting Dew.Math.TMtxType information will check for the matrix type first by calling the Dew.Math.TMtx.DetectMtxType method, in order to select the most efficient algorithm. The following types will be detected:
- mtSymmetric = symmetric matrix
- mtHermitian = Hermitian matrix
- mtTriangle = triangular matrix, with unit or non unit main diagonal
- mtGeneral = general matrix (none of the above)
In worst case the matrix type detection will require O(n^2) compare operations. In case of a general matrix, it only takes a few cycles for the algorithm to detect that the matrix is not Symmetric, triangular or Hermitian. And in case of a symmetric or hermitian or triangular matrix, the cost of O(n^2) compare operations is still much lower than the loss of performance, when using the general purpose algorithm. For some computations, like eigenvalues, the type of the matrix has to specified explicitly, especially when it comes to symmetric matrices, because the algorithm for the general matrix will fail on a symmetric matrix.
If you specify the type of matrix explicitly to the procedures and AutoMtxType is set to True, then AutoMtxType will override the user specified type.