Class QrHelperFunctions_FSCC


  • public class QrHelperFunctions_FSCC
    extends java.lang.Object
    Functions used with a sparse QR decomposition
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void applyHouseholder​(org.ejml.data.FMatrixSparseCSC V, int colV, float beta, float[] x)
      Applies a sparse Householder vector to a dense vector.
      static float computeHouseholder​(float[] x, int xStart, int xEnd, float max, org.ejml.data.FScalar gamma)
      Creates a householder reflection.
      static void rank1UpdateMultR​(org.ejml.data.FMatrixSparseCSC V, int colV, float gamma, org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixSparseCSC C, org.ejml.data.IGrowArray gw, org.ejml.data.FGrowArray gx)
      Performs a rank-1 update operation on the submatrix specified by V with the multiply on the right.

      C = (I - γ*v*vT)*A
      • Methods inherited from class java.lang.Object

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

      • QrHelperFunctions_FSCC

        public QrHelperFunctions_FSCC()
    • Method Detail

      • applyHouseholder

        public static void applyHouseholder​(org.ejml.data.FMatrixSparseCSC V,
                                            int colV,
                                            float beta,
                                            float[] x)

        Applies a sparse Householder vector to a dense vector.

             x = x - v*(beta*(v'*x))

        NOTE: This is the same as cs_happly() in csparse

        Parameters:
        V - (Input) Matrix containing the Householder
        colV - Column in V with the Householder vector
        beta - scalar
        x - (Input and Output) vector that the Householder is applied to. Modified.
      • rank1UpdateMultR

        public static void rank1UpdateMultR​(org.ejml.data.FMatrixSparseCSC V,
                                            int colV,
                                            float gamma,
                                            org.ejml.data.FMatrixSparseCSC A,
                                            org.ejml.data.FMatrixSparseCSC C,
                                            org.ejml.data.IGrowArray gw,
                                            org.ejml.data.FGrowArray gx)

        Performs a rank-1 update operation on the submatrix specified by V with the multiply on the right.

        C = (I - γ*v*vT)*A

        The order that matrix multiplies are performed has been carefully selected to minimize the number of operations.

        Before this can become a truly generic operation the submatrix specification needs to be made more generic.

      • computeHouseholder

        public static float computeHouseholder​(float[] x,
                                               int xStart,
                                               int xEnd,
                                               float max,
                                               org.ejml.data.FScalar gamma)
        Creates a householder reflection. (I-gamma*v*v')*x = tau*e1

        NOTE: Same as cs_house in csparse

        Parameters:
        x - (Input) Vector x (Output) Vector v. Modified.
        xStart - First index in X that is to be processed
        xEnd - Last + 1 index in x that is to be processed.
        gamma - (Output) Storage for computed gamma
        Returns:
        variable tau