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;
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const
Namespace containing all symbols from the Eigen library.
void rwupdt(Matrix< Scalar, Dynamic, Dynamic > &r, const Matrix< Scalar, Dynamic, 1 > &w, Matrix< Scalar, Dynamic, 1 > &b, Scalar alpha)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex