Skip to content

Commit fd712e4

Browse files
committed
MINRES: Backward compatibility to call from eigenpy and eigenpy.solvers
1 parent 5ddd754 commit fd712e4

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/decompositions/decompositions.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*/
44

55
#include "eigenpy/decompositions/decompositions.hpp"
6+
#include "eigenpy/solvers/MINRES.hpp"
67

78
#include "eigenpy/fwd.hpp"
89

@@ -31,6 +32,11 @@ void exposePermutationMatrix();
3132
void exposeBDCSVDSolver();
3233
void exposeJacobiSVDSolver();
3334

35+
void exposeBackwardCompatibilityAliases() {
36+
typedef Eigen::MatrixXd MatrixXd;
37+
MINRESSolverVisitor<MatrixXd>::expose("MINRES");
38+
}
39+
3440
void exposeDecompositions() {
3541
using namespace Eigen;
3642

@@ -80,5 +86,7 @@ void exposeDecompositions() {
8086
#ifdef EIGENPY_WITH_ACCELERATE_SUPPORT
8187
exposeAccelerate();
8288
#endif
89+
90+
exposeBackwardCompatibilityAliases();
8391
}
8492
} // namespace eigenpy

unittest/python/test_MINRES.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111
X = rng.random((dim, 20))
1212
B = A.dot(X)
1313
X_est = minres.solve(B)
14-
print("A.dot(X_est):", A.dot(X_est))
15-
print("B:", B)
14+
assert eigenpy.is_approx(A.dot(X_est), B, 1e-6)
15+
16+
minres_back = eigenpy.MINRES(A)
17+
18+
X = rng.random((dim, 20))
19+
B = A.dot(X)
20+
X_est = minres_back.solve(B)
1621
assert eigenpy.is_approx(A.dot(X_est), B, 1e-6)

0 commit comments

Comments
 (0)