Class TriangularSolver_CDRM


  • public class TriangularSolver_CDRM
    extends java.lang.Object

    This contains algorithms for solving systems of equations where T is a non-singular triangular complex matrix:

    T*x = b

    where x and b are vectors, and T is an n by n matrix. T can either be a lower or upper triangular matrix.

    These functions are designed for use inside of other algorithms. To use them directly is dangerous since no sanity checks are performed.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void solveConjTranL_diagReal​(float[] L, float[] b, int n)
      This is a forward substitution solver for non-singular lower triangular matrices with real valued diagonal elements.
      static void solveL_diagReal​(float[] L, float[] b, int n)
      Solves for non-singular lower triangular matrices with real valued diagonal elements using forward substitution.
      static void solveU​(float[] U, float[] b, int n)
      This is a forward substitution solver for non-singular upper triangular matrices.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TriangularSolver_CDRM

        public TriangularSolver_CDRM()
    • Method Detail

      • solveU

        public static void solveU​(float[] U,
                                  float[] b,
                                  int n)

        This is a forward substitution solver for non-singular upper triangular matrices.
        b = U-1b

        where b is a vector, U is an n by n matrix.

        Parameters:
        U - An n by n non-singular upper triangular matrix. Not modified.
        b - A vector of length n. Modified.
        n - The size of the matrices.
      • solveL_diagReal

        public static void solveL_diagReal​(float[] L,
                                           float[] b,
                                           int n)

        Solves for non-singular lower triangular matrices with real valued diagonal elements using forward substitution.
        b = L-1b

        where b is a vector, L is an n by n matrix.

        Parameters:
        L - An n by n non-singular lower triangular matrix. Not modified.
        b - A vector of length n. Modified.
        n - The size of the matrices.
      • solveConjTranL_diagReal

        public static void solveConjTranL_diagReal​(float[] L,
                                                   float[] b,
                                                   int n)

        This is a forward substitution solver for non-singular lower triangular matrices with real valued diagonal elements.
        b = (LCT)-1b

        where b is a vector, L is an n by n matrix.

        L is a lower triangular matrix, but it comes up with a solution as if it was an upper triangular matrix that was computed by conjugate transposing L.

        Parameters:
        L - An n by n non-singular lower triangular matrix. Not modified.
        b - A vector of length n. Modified.
        n - The size of the matrices.