public class GivensThinSolver extends Object
Constructor and Description |
---|
GivensThinSolver(int m,
int n) |
Modifier and Type | Method and Description |
---|---|
void |
adjust(int newM) |
void |
appendRow(double[] aRow)
api for row-by-row addition
|
static void |
applyGivensInPlace(double c,
double s,
double[] row1,
double[] row2,
int offset,
int len) |
static void |
applyGivensInPlace(double c,
double s,
int i,
int k,
Matrix mx) |
static void |
applyGivensInPlace(double c,
double s,
Vector row1,
Vector row2,
int offset,
int len) |
static double[][] |
computeQtHat(double[][] qt,
int i,
Iterator<UpperTriangular> rIter) |
static void |
fromRho(double rho,
double[] csOut) |
int |
getCnt() |
int |
getM() |
int |
getN() |
UpperTriangular |
getRTilde() |
double[][] |
getThinQtTilde() |
static void |
givens(double a,
double b,
double[] csOut) |
boolean |
isFull() |
static boolean |
isOrthonormal(double[][] qt,
boolean insufficientRank,
double epsilon) |
static boolean |
isOrthonormalBlocked(Iterable<double[][]> qtHats,
boolean insufficientRank,
double epsilon) |
static double[][] |
mergeQrDown(double[][] r1,
double[][] qt2,
double[][] r2) |
static double[][] |
mergeQrDown(UpperTriangular r1,
double[][] qt2,
UpperTriangular r2) |
static double[][] |
mergeQrUp(double[][] qt1,
double[][] r1,
double[][] r2) |
static double[][] |
mergeQrUp(double[][] qt1,
UpperTriangular r1,
UpperTriangular r2) |
static void |
mergeR(double[][] r1,
double[][] r2) |
static void |
mergeR(UpperTriangular r1,
UpperTriangular r2) |
static void |
mergeRonQ(double[][] r1,
double[][] r2,
double[][] qt1,
double[][] qt2) |
static void |
mergeRonQ(UpperTriangular r1,
UpperTriangular r2,
double[][] qt1,
double[][] qt2) |
void |
reset() |
void |
solve(Matrix a) |
static double |
toRho(double c,
double s) |
void |
trim() |
public void reset()
public void solve(Matrix a)
public boolean isFull()
public int getM()
public int getN()
public int getCnt()
public void adjust(int newM)
public void trim()
public void appendRow(double[] aRow)
aRow
- public UpperTriangular getRTilde()
public double[][] getThinQtTilde()
public static void applyGivensInPlace(double c, double s, double[] row1, double[] row2, int offset, int len)
public static void applyGivensInPlace(double c, double s, Vector row1, Vector row2, int offset, int len)
public static void applyGivensInPlace(double c, double s, int i, int k, Matrix mx)
public static void fromRho(double rho, double[] csOut)
public static void givens(double a, double b, double[] csOut)
public static double toRho(double c, double s)
public static void mergeR(UpperTriangular r1, UpperTriangular r2)
public static void mergeR(double[][] r1, double[][] r2)
public static void mergeRonQ(UpperTriangular r1, UpperTriangular r2, double[][] qt1, double[][] qt2)
public static void mergeRonQ(double[][] r1, double[][] r2, double[][] qt1, double[][] qt2)
public static double[][] mergeQrUp(double[][] qt1, double[][] r1, double[][] r2)
public static double[][] mergeQrUp(double[][] qt1, UpperTriangular r1, UpperTriangular r2)
public static double[][] mergeQrDown(double[][] r1, double[][] qt2, double[][] r2)
public static double[][] mergeQrDown(UpperTriangular r1, double[][] qt2, UpperTriangular r2)
public static double[][] computeQtHat(double[][] qt, int i, Iterator<UpperTriangular> rIter)
public static boolean isOrthonormal(double[][] qt, boolean insufficientRank, double epsilon)
public static boolean isOrthonormalBlocked(Iterable<double[][]> qtHats, boolean insufficientRank, double epsilon)
Copyright © 2008–2017 The Apache Software Foundation. All rights reserved.