Libraries.Compute.MatrixTransform.TridiagonalDecomposition Documentation

A Tridiagonal decomposition is a matrix decomposition/reduction of a symmetric matrix A into a unitary orthogonal matrix Q and a symmetric tridiagonal matrix T such that: A = Q*T*Q^(T) This was adapted from the same model in Apache Commons, but was expanded upon to simplify the library and add a variety of helper actions that were missing. More information about this class can be found on its documentation page TriDiagonalTransformer: https://commons.apache.org/proper/commons-math/javadocs/api-3.6.1/index.html For more information: https://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm

Example Code

use Libraries.Compute.Matrix
use Libraries.Compute.MatrixTransform.TridiagonalDecomposition

class Main
    action Main
        Matrix matrix
        matrix:Fill(3, 3, 5.0)
        TridiagonalDecomposition decomp
        decomp:Calculate(matrix)
        output decomp:GetTridiagonalMatrix():ToText()
    end
end

Inherits from: Libraries.Language.Object

Actions Documentation

Calculate(Libraries.Compute.Matrix matrix)

This array represents the below center diagonal.

Parameters

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetDiagonal()

This matrix represents the house holder matrix

Return

Libraries.Containers.Array:

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

GetOriginalMatrix()

For each column before the last two

Return

Libraries.Compute.Matrix:

GetOrthogonalMatrix()

This matrix represents the orthogonal matrix (Q).

Return

Libraries.Compute.Matrix:

GetOrthogonalTransposedMatrix()

This matrix represents the symmetrical tridiagonal matrix (T)

Return

Libraries.Compute.Matrix:

GetSubDiagonal()

GetTridiagonalMatrix()

This matrix represents the orthogonal matrix transposed (QT).

Return

Libraries.Compute.Matrix:

Symmetric(boolean symmetric)

Parameters

  • boolean symmetric