5 template <
typename Scalar>
14 const Index n = r.
cols();
16 std::vector<JacobiRotation<Scalar> > givens(n);
22 for (Index j = 0; j < n; ++j) {
27 for (Index i = 0; i < j; ++i) {
28 temp = givens[i].c() * r(i,j) + givens[i].s() * rowj;
29 rowj = -givens[i].s() * r(i,j) + givens[i].c() * rowj;
34 givens[j].makeGivens(-r(j,j), rowj);
40 r(j,j) = givens[j].c() * r(j,j) + givens[j].s() * rowj;
41 temp = givens[j].c() * b[j] + givens[j].s() * alpha;
42 alpha = -givens[j].s() * b[j] + givens[j].c() * alpha;
iterative scaling algorithm to equilibrate rows and column norms in matrices
void rwupdt(Matrix< Scalar, Dynamic, Dynamic > &r, const Matrix< Scalar, Dynamic, 1 > &w, Matrix< Scalar, Dynamic, 1 > &b, Scalar alpha)
EIGEN_STRONG_INLINE Index rows() const
EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex
EIGEN_STRONG_INLINE Index cols() const