fix a bug where some rotations were not initialized

They actually were in the original minpack code, this is a bug introduced
by our migration.
Reported on #322 and
http://forum.kde.org/viewtopic.php?f=74&t=96197#p201158
This commit is contained in:
Thomas Capricelli 2011-08-04 05:02:04 +02:00
parent 5748d3c96f
commit a660e6425c

View File

@ -11,6 +11,7 @@ void r1updt(
bool *sing)
{
typedef DenseIndex Index;
const JacobiRotation<Scalar> IdentityRotation = JacobiRotation<Scalar>(1,0);
/* Local variables */
const Index m = s.rows();
@ -49,7 +50,8 @@ void r1updt(
w[i] = givens.s() * s(j,i) + givens.c() * w[i];
s(j,i) = temp;
}
}
} else
v_givens[j] = IdentityRotation;
}
/* add the spike from the rank 1 update to w. */
@ -73,7 +75,8 @@ void r1updt(
/* store the information necessary to recover the */
/* givens rotation. */
w_givens[j] = givens;
}
} else
v_givens[j] = IdentityRotation;
/* test for zero diagonal elements in the output s. */
if (s(j,j) == 0.) {