[wpimath] Only compute eigenvalues with EigenSolvers (#5369)

We don't need the eigenvectors, so we're doing a lot of extra work we
don't need to.
This commit is contained in:
Tyler Veness
2023-06-07 09:47:09 -07:00
committed by GitHub
parent d3c9316a97
commit 5acc5e22aa
5 changed files with 16 additions and 10 deletions

View File

@@ -27,7 +27,8 @@ void ExpectMatrixEqual(const Eigen::MatrixXd& lhs, const Eigen::MatrixXd& rhs,
}
void ExpectPositiveSemidefinite(const Eigen::Ref<const Eigen::MatrixXd>& X) {
Eigen::SelfAdjointEigenSolver<Eigen::MatrixXd> eigX(X);
Eigen::SelfAdjointEigenSolver<Eigen::MatrixXd> eigX{X,
Eigen::EigenvaluesOnly};
for (int i = 0; i < X.rows(); ++i) {
EXPECT_GE(eigX.eigenvalues()[i], 0.0);
}