Class SpecializedOps_CDRM

java.lang.Object
org.ejml.dense.row.SpecializedOps_CDRM

@Generated("org.ejml.dense.row.SpecializedOps_ZDRM") public class SpecializedOps_CDRM extends Object
Various highly specialized operations that are probably not of interest to most people.
  • Method Details

    • createReflector

      public static CMatrixRMaj createReflector(CMatrixRMaj u)

      Creates a reflector from the provided vector.

      Q = I - γ u uT
      γ = 2/||u||2

      Parameters:
      u - A vector. Not modified.
      Returns:
      An orthogonal reflector.
    • createReflector

      public static CMatrixRMaj createReflector(CMatrixRMaj u, float gamma)

      Creates a reflector from the provided vector and gamma.

      Q = I - γ u uH

      Parameters:
      u - A vector. Not modified.
      gamma - To produce a reflector gamma needs to be equal to 2/||u||.
      Returns:
      An orthogonal reflector.
    • pivotMatrix

      public static CMatrixRMaj pivotMatrix(@Nullable @Nullable CMatrixRMaj ret, int[] pivots, int numPivots, boolean transposed)

      Creates a pivot matrix that exchanges the rows in a matrix:
      A' = P*A

      For example, if element 0 in 'pivots' is 2 then the first row in A' will be the 3rd row in A.

      Parameters:
      ret - If null then a new matrix is declared otherwise the results are written to it. Is modified.
      pivots - Specifies the new order of rows in a matrix.
      numPivots - How many elements in pivots are being used.
      transposed - If the transpose of the matrix is returned.
      Returns:
      A pivot matrix.
    • elementDiagMaxMagnitude2

      public static float elementDiagMaxMagnitude2(CMatrixRMaj a)

      Returns the magnitude squared of the complex element along the diagonal with the largest magnitude

      Max{ |aij|^2 } for all i and j

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The max magnitude squared
    • qualityTriangular

      public static float qualityTriangular(CMatrixRMaj T)
      Computes the quality of a triangular matrix, where the quality of a matrix is defined in LinearSolver.quality(). In this situation the quality is the magnitude of the product of each diagonal element divided by the magnitude of the largest diagonal element. If all diagonal elements are zero then zero is returned.
      Returns:
      the quality of the system.
    • householder

      public static CMatrixRMaj householder(CMatrixRMaj u, float gamma)
      Q = I - gamma*u*uH
    • householderVector

      public static CMatrixRMaj householderVector(CMatrixRMaj x)
      Computes the householder vector used in QR decomposition. u = x / max(x) u(0) = u(0) + |u| u = u / u(0)
      Parameters:
      x - Input vector. Unmodified.
      Returns:
      The found householder reflector vector