12 extern "C" void dtrsen_(
const char* JOB,
45 template <
size_t STATE_DIM,
size_t CONTROL_DIM>
49 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
64 bool solve(
const state_matrix_t& Q,
65 const control_matrix_t& R,
66 const state_matrix_t& A,
67 const control_gain_matrix_t& B,
70 control_matrix_t& R_inverse,
71 bool useIterativeSolver =
false);
74 const control_matrix_t& R,
75 const state_matrix_t& A,
76 const control_gain_matrix_t& B,
77 const bool RisDiagonal =
false,
78 const bool useIterativeSolver =
false);
81 bool solveSchurIterative(
const schur_matrix_t& M,
83 double epsilon = 1e-6,
84 int maxIterations = 100000);
86 bool solveSchurDirect(
const schur_matrix_t& M, state_matrix_t& P);
88 Eigen::RealSchur<schur_matrix_t> schur_;
89 Eigen::FullPivLU<factor_matrix_t> FullPivLU_;
95 Eigen::VectorXd WORK_;
96 Eigen::VectorXi IWORK_;
state_matrix_t computeSteadyStateRiccatiMatrix(const state_matrix_t &Q, const control_matrix_t &R, const state_matrix_t &A, const control_gain_matrix_t &B, const bool RisDiagonal=false, const bool useIterativeSolver=false)
Definition: CARE-impl.hpp:80
CARE()
Definition: CARE-impl.hpp:12
Eigen::Matrix< double, CONTROL_DIM, STATE_DIM > control_state_matrix_t
Definition: CARE.hpp:53
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< double, STATE_DIM, STATE_DIM > state_matrix_t
Definition: CARE.hpp:51
Continuous-Time Algebraic Riccati Equation.
Definition: CARE.hpp:46
Eigen::Matrix< double, 2 *STATE_DIM, 2 *STATE_DIM > schur_matrix_t
Definition: CARE.hpp:57
Eigen::Matrix< double, CONTROL_DIM, STATE_DIM > control_feedback_t
Definition: CARE.hpp:55
Eigen::Matrix< double, CONTROL_DIM, CONTROL_DIM > control_matrix_t
Definition: CARE.hpp:52
bool solve(const state_matrix_t &Q, const control_matrix_t &R, const state_matrix_t &A, const control_gain_matrix_t &B, state_matrix_t &P, bool RisDiagonal, control_matrix_t &R_inverse, bool useIterativeSolver=false)
Definition: CARE-impl.hpp:51
Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > control_gain_matrix_t
Definition: CARE.hpp:54
Eigen::Matrix< double, 2 *STATE_DIM, STATE_DIM > factor_matrix_t
Definition: CARE.hpp:58