I need to use a Discrete-time Algebraic Riccati Equation (DARE) solver for an embedded controller (with limited processing power) in a research project and sadly, I can't find any implementation of it in C++ that I can understand. I use C++ since it is faster than higher-level languages.
I found various libraries online that offer Riccati equation or LQR solvers such as the Control Toolbox or Drake, but I can't understand the language and I think they are full of unnecessary functions and things for the simple job of solving DARE.
I would like the implementation to use basic open-source C++ libraries or header files such as Eigen, Armadillo, etc. with a lot of documentation, tutorials, or an active online community using them so that I can learn the syntax on my own. I'm looking for a simple code like Arash's C++ implementation of the Continuous-time Algebraic Riccati Equation (CARE) solver on Math SE.
If you don't have a personal C++ code, can you please refer me to a library or something that can help me implement DARE in C++? I attempted to write my own solver but when I read papers of the Riccati solver, I was dumbfounded by the math and terminologies since I am an undergraduate engineering student with only basic knowledge in linear algebra.