Class QrHelperFunctions_DSCC
java.lang.Object
org.ejml.sparse.csc.decomposition.qr.QrHelperFunctions_DSCC
Functions used with a sparse QR decomposition
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
applyHouseholder
(DMatrixSparseCSC V, int colV, double beta, double[] x) Applies a sparse Householder vector to a dense vector.static double
computeHouseholder
(double[] x, int xStart, int xEnd, double max, DScalar gamma) Creates a householder reflection.static void
rank1UpdateMultR
(DMatrixSparseCSC V, int colV, double gamma, DMatrixSparseCSC A, DMatrixSparseCSC C, @Nullable IGrowArray gw, @Nullable DGrowArray gx) Performs a rank-1 update operation on the submatrix specified by V with the multiply on the right.
C = (I - γ*v*vT)*A
-
Constructor Details
-
QrHelperFunctions_DSCC
public QrHelperFunctions_DSCC()
-
-
Method Details
-
applyHouseholder
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 HouseholdercolV
- Column in V with the Householder vectorbeta
- scalarx
- (Input and Output) vector that the Householder is applied to. Modified.
-
rank1UpdateMultR
public static void rank1UpdateMultR(DMatrixSparseCSC V, int colV, double gamma, DMatrixSparseCSC A, DMatrixSparseCSC C, @Nullable @Nullable IGrowArray gw, @Nullable @Nullable DGrowArray 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 double computeHouseholder(double[] x, int xStart, int xEnd, double max, DScalar gamma) Creates a householder reflection. (I-gamma*v*v')*x = tau*e1NOTE: Same as cs_house in csparse
- Parameters:
x
- (Input) Vector x (Output) Vector v. Modified.xStart
- First index in X that is to be processedxEnd
- Last + 1 index in x that is to be processed.gamma
- (Output) Storage for computed gamma- Returns:
- variable tau
-