Go to the documentation of this file. 1 #ifndef HOPS_PROBLEM_HPP
2 #define HOPS_PROBLEM_HPP
9 template<
typename Model,
typename Proposal>
12 template<
typename Model>
23 Problem(
const Eigen::MatrixXd& A,
const Eigen::VectorXd& b) :
29 Problem(
const Eigen::MatrixXd& A,
const Eigen::VectorXd& b,
const Model& model) :
40 void setA(
const Eigen::MatrixXd& A) {
42 this->dimension = A.cols();
45 void setB(
const Eigen::VectorXd& b) {
49 const Eigen::MatrixXd&
getA()
const {
53 const Eigen::VectorXd&
getB()
const {
62 if (startingPoint.rows() > 0) {
63 this->startingPoint = startingPoint;
64 useStartingPoint =
true;
66 this->startingPoint = startingPoint;
67 useStartingPoint =
false;
72 return this->startingPoint;
76 if (unroundingTransformation.size() > 0) {
77 this->unroundingTransformation = unroundingTransformation;
80 this->unroundingTransformation = unroundingTransformation;
86 return this->unroundingTransformation;
90 if (unroundingShift.size() > 0) {
91 this->unroundingShift = unroundingShift;
94 this->unroundingShift = unroundingShift;
100 return this->unroundingShift;
115 bool unround =
false;
116 Eigen::MatrixXd unroundingTransformation;
117 Eigen::VectorXd unroundingShift;
119 bool useStartingPoint =
false;
120 Eigen::VectorXd startingPoint;
122 template<
typename,
typename>
friend class RunBase;
126 #endif // HOPS_PROBLEM_HPP
void setB(const Eigen::VectorXd &b)
Definition: Problem.hpp:45
Problem(const Eigen::MatrixXd &A, const Eigen::VectorXd &b)
Definition: Problem.hpp:23
Definition: Problem.hpp:10
const Eigen::VectorXd & getStartingPoint()
Definition: Problem.hpp:71
void setUnroundingShift(const Eigen::MatrixXd &unroundingShift)
Definition: Problem.hpp:89
Definition: Problem.hpp:13
const Eigen::MatrixXd & getA() const
Definition: Problem.hpp:49
const Model & getModel() const
Definition: Problem.hpp:57
void setStartingPoint(const Eigen::VectorXd &startingPoint)
Definition: Problem.hpp:61
Problem(const Model &model)
Definition: Problem.hpp:19
const Eigen::VectorXd & getB() const
Definition: Problem.hpp:53
Definition: CsvReader.hpp:8
void setA(const Eigen::MatrixXd &A)
Definition: Problem.hpp:40
void setUnroundingTransformation(const Eigen::MatrixXd &unroundingTransformation)
Definition: Problem.hpp:75
long getDimension()
Definition: Problem.hpp:36
bool isConsistentProblem()
Definition: Problem.hpp:103
const Eigen::MatrixXd & getUnroundingTransformation()
Definition: Problem.hpp:85
Problem(const Eigen::MatrixXd &A, const Eigen::VectorXd &b, const Model &model)
Definition: Problem.hpp:29
const Eigen::VectorXd & getUnroundingShift()
Definition: Problem.hpp:99