5#ifndef EIGEN_NONLINEAROPTIMIZATION_RWUPDT_H
6#define EIGEN_NONLINEAROPTIMIZATION_RWUPDT_H
8#include "./InternalHeaderCheck.h"
14template <
typename Scalar>
15void rwupdt(Matrix<Scalar, Dynamic, Dynamic> &r,
const Matrix<Scalar, Dynamic, 1> &w, Matrix<Scalar, Dynamic, 1> &b,
17 typedef DenseIndex Index;
19 const Index n = r.cols();
20 eigen_assert(r.rows() >= n);
21 std::vector<JacobiRotation<Scalar> > givens(n);
27 for (Index j = 0; j < n; ++j) {
32 for (Index i = 0; i < j; ++i) {
33 temp = givens[i].c() * r(i, j) + givens[i].s() * rowj;
34 rowj = -givens[i].s() * r(i, j) + givens[i].c() * rowj;
39 givens[j].makeGivens(-r(j, j), rowj);
41 if (rowj == 0.)
continue;
44 r(j, j) = givens[j].c() * r(j, j) + givens[j].s() * rowj;
45 temp = givens[j].c() * b[j] + givens[j].s() * alpha;
46 alpha = -givens[j].s() * b[j] + givens[j].c() * alpha;
Namespace containing all symbols from the Eigen library.