mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-14 04:35:57 +08:00
bug #1017: apply Christoph's patch preventing underflows in makeHouseholder
This commit is contained in:
parent
9fc1c92137
commit
476beed7f8
@ -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…
x
Reference in New Issue
Block a user