Skip to content
Snippets Groups Projects
Commit dcccf803 authored by Adrien Crovato's avatar Adrien Crovato
Browse files

LinearSolver::getError returns -1 for direct solver

parent 348dbe9e
No related branches found
No related tags found
1 merge request!11amfe v1.0.7
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
#include "wLinearSolver.h" #include "wLinearSolver.h"
#include <mkl_dss.h> #include <mkl_dss.h>
#include <Eigen/Sparse> #include <Eigen/Sparse>
#include <limits>
namespace tbox namespace tbox
{ {
...@@ -48,7 +47,7 @@ public: ...@@ -48,7 +47,7 @@ public:
virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual double getError() override { return std::numeric_limits<double>::epsilon(); } virtual double getError() override { return -1.; }
virtual int getIterations() override { return 1; } virtual int getIterations() override { return 1; }
virtual void write(std::ostream &out) const override; virtual void write(std::ostream &out) const override;
......
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
#include "wLinearSolver.h" #include "wLinearSolver.h"
#include <dmumps_c.h> #include <dmumps_c.h>
#include <Eigen/Sparse> #include <Eigen/Sparse>
#include <limits>
namespace tbox namespace tbox
{ {
...@@ -61,7 +60,7 @@ public: ...@@ -61,7 +60,7 @@ public:
virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual double getError() override { return std::numeric_limits<double>::epsilon(); } virtual double getError() override { return -1.; }
virtual int getIterations() override { return 1; } virtual int getIterations() override { return 1; }
virtual void write(std::ostream &out) const override; virtual void write(std::ostream &out) const override;
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
#include "wLinearSolver.h" #include "wLinearSolver.h"
#include <Eigen/PardisoSupport> #include <Eigen/PardisoSupport>
#include <limits>
namespace tbox namespace tbox
{ {
...@@ -46,7 +45,7 @@ public: ...@@ -46,7 +45,7 @@ public:
virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual double getError() override { return std::numeric_limits<double>::epsilon(); } virtual double getError() override { return -1.; }
virtual int getIterations() override { return 1; } virtual int getIterations() override { return 1; }
virtual void write(std::ostream &out) const override; virtual void write(std::ostream &out) const override;
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include "tbox.h" #include "tbox.h"
#include "wLinearSolver.h" #include "wLinearSolver.h"
#include <Eigen/Sparse> #include <Eigen/Sparse>
#include <limits>
namespace tbox namespace tbox
{ {
...@@ -46,7 +45,7 @@ public: ...@@ -46,7 +45,7 @@ public:
virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override; virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
virtual double getError() override { return std::numeric_limits<double>::epsilon(); } virtual double getError() override { return -1.; }
virtual int getIterations() override { return 1; } virtual int getIterations() override { return 1; }
virtual void write(std::ostream &out) const override; virtual void write(std::ostream &out) const override;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment