bug #1017: apply Christoph's patch preventing underflows in makeHouseholder
(grafted from 476beed7f8
)
This commit is contained in:
parent
38b9ff8b6f
commit
4f7baefa81
@ -75,8 +75,9 @@ void MatrixBase<Derived>::makeHouseholder(
|
|||||||
|
|
||||||
RealScalar tailSqNorm = size()==1 ? RealScalar(0) : tail.squaredNorm();
|
RealScalar tailSqNorm = size()==1 ? RealScalar(0) : tail.squaredNorm();
|
||||||
Scalar c0 = coeff(0);
|
Scalar c0 = coeff(0);
|
||||||
|
const RealScalar tol = (std::numeric_limits<RealScalar>::min)();
|
||||||
|
|
||||||
if(tailSqNorm == RealScalar(0) && numext::imag(c0)==RealScalar(0))
|
if(tailSqNorm <= tol && numext::abs2(numext::imag(c0))<=tol)
|
||||||
{
|
{
|
||||||
tau = RealScalar(0);
|
tau = RealScalar(0);
|
||||||
beta = numext::real(c0);
|
beta = numext::real(c0);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user