mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-15 07:10:37 +08:00
added missing JacobiRotation's ...
This commit is contained in:
parent
5b8ffa4d46
commit
05ddd32849
@ -380,7 +380,7 @@ static void ei_tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, int st
|
|||||||
if (matrixQ)
|
if (matrixQ)
|
||||||
{
|
{
|
||||||
Map<Matrix<Scalar,Dynamic,Dynamic> > q(matrixQ,n,n);
|
Map<Matrix<Scalar,Dynamic,Dynamic> > q(matrixQ,n,n);
|
||||||
q.applyJacobiOnTheRight(k,k+1,c,s);
|
q.applyJacobiOnTheRight(k,k+1,JacobiRotation<RealScalar>(c,s));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -309,7 +309,7 @@ SVD<MatrixType>& SVD<MatrixType>::compute(const MatrixType& matrix)
|
|||||||
h = Scalar(1.0)/h;
|
h = Scalar(1.0)/h;
|
||||||
c = g*h;
|
c = g*h;
|
||||||
s = -f*h;
|
s = -f*h;
|
||||||
V.applyJacobiOnTheRight(i,nm,c,s);
|
V.applyJacobiOnTheRight(i,nm,JacobiRotation<Scalar>(c,s));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
z = W[k];
|
z = W[k];
|
||||||
@ -351,7 +351,7 @@ SVD<MatrixType>& SVD<MatrixType>::compute(const MatrixType& matrix)
|
|||||||
g = g*c - x*s;
|
g = g*c - x*s;
|
||||||
h = y*s;
|
h = y*s;
|
||||||
y *= c;
|
y *= c;
|
||||||
V.applyJacobiOnTheRight(i,j,c,s);
|
V.applyJacobiOnTheRight(i,j,JacobiRotation<Scalar>(c,s));
|
||||||
|
|
||||||
z = pythag(f,h);
|
z = pythag(f,h);
|
||||||
W[j] = z;
|
W[j] = z;
|
||||||
@ -364,7 +364,7 @@ SVD<MatrixType>& SVD<MatrixType>::compute(const MatrixType& matrix)
|
|||||||
}
|
}
|
||||||
f = c*g + s*y;
|
f = c*g + s*y;
|
||||||
x = c*y - s*g;
|
x = c*y - s*g;
|
||||||
A.applyJacobiOnTheRight(i,j,c,s);
|
A.applyJacobiOnTheRight(i,j,JacobiRotation<Scalar>(c,s));
|
||||||
}
|
}
|
||||||
rv1[l] = 0.0;
|
rv1[l] = 0.0;
|
||||||
rv1[k] = f;
|
rv1[k] = f;
|
||||||
|
Loading…
Reference in New Issue
Block a user