12namespace acceleration {
32 double theta = 1. / 0.7,
43 double theta = 1. / 0.7,
57 double theta = 1. / 0.7,
74 Eigen::MatrixXd
const &Q,
75 Eigen::MatrixXd
const &R,
79 double theta = 1. / 0.7,
86 Eigen::MatrixXd
const &A,
89 double theta = 1. / 0.7,
96 bool insertColumn(
int k,
const Eigen::VectorXd &v,
double singularityLimit = 0);
109 void pushFront(
const Eigen::VectorXd &v);
116 void pushBack(
const Eigen::VectorXd &v);
192 int orthogonalize(Eigen::VectorXd &v, Eigen::VectorXd &r,
double &rho,
int colNum);
Class that provides functionality for a dynamic QR-decomposition, that can be updated in O(mn) flops ...
int orthogonalize_stable(Eigen::VectorXd &v, Eigen::VectorXd &r, double &rho, int colNum)
assuming Q(1:n,1:m) has nearly orthonormal columns, this procedure orthogonlizes v(1:n) to the column...
void setGlobalRows(int gr)
bool insertColumn(int k, const Eigen::VectorXd &v, double singularityLimit=0)
inserts a new column at arbitrary position and updates the QR factorization This function works on th...
int orthogonalize(Eigen::VectorXd &v, Eigen::VectorXd &r, double &rho, int colNum)
assuming Q(1:n,1:m) has nearly orthonormal columns, this procedure orthogonlizes v(1:n) to the column...
Eigen::MatrixXd & matrixR()
returns a matrix representation of the upper triangular matrix R
void applyFilter(double singularityLimit, std::vector< int > &delIndices, Eigen::MatrixXd &V)
filters the least squares system, i.e., the decomposition Q*R = V according to the defined filter tec...
void computeReflector(givensRot &grot, double &x, double &y)
computes parameters for givens matrix G for which (x,y)G = (z,0). replaces (x,y) by (z,...
void pushBack(const Eigen::VectorXd &v)
inserts a new column at position _cols-1, i.e., appends a column at the end and updates the QR factor...
void reset()
resets the QR factorization zo zero Q(0:0, 0:0)R(0:0, 0:0)
void popBack()
deletes the column at position _cols-1, i.e., deletes the last column and updates the QR factorizatio...
void setfstream(std::fstream *stream)
void pushFront(const Eigen::VectorXd &v)
inserts a new column at position 0, i.e., shifts right and inserts at first position and updates the ...
std::fstream * _infostream
QRFactorization(int filter=0, double omega=0, double theta=1./0.7, double sigma=std::numeric_limits< double >::min())
Constructor.
void applyReflector(const givensRot &grot, int k, int l, Eigen::VectorXd &p, Eigen::VectorXd &q)
this procedure replaces the two column matrix [p(k:l-1), q(k:l-1)] by [p(k:l), q(k:l)]*G,...
virtual ~QRFactorization()
Destructor, empty.
void setFilter(int filter)
Eigen::MatrixXd & matrixQ()
returns a matrix representation of the orthogonal matrix Q
void popFront()
deletes the column at position 0, i.e., deletes and shifts columns to the left and updates the QR fac...
void deleteColumn(int k)
updates the factorization A=Q[1:n,1:m]R[1:m,1:n] when the kth column of A is deleted....
This class provides a lightweight logger.
Main namespace of the precice library.
static std::unique_ptr< precice::Participant > impl