WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
DARE.hpp File Reference
#include <string_view>
#include <Eigen/Cholesky>
#include <Eigen/Core>
#include <Eigen/LU>
#include "wpi/math/system/LinearSystemUtil.hpp"
#include "wpi/util/expected"

Go to the source code of this file.

Namespaces

namespace  wpi
namespace  wpi::math
namespace  wpi::math::detail

Enumerations

enum class  wpi::math::DAREError {
  wpi::math::QNotSymmetric , wpi::math::QNotPositiveSemidefinite , wpi::math::RNotSymmetric , wpi::math::RNotPositiveDefinite ,
  wpi::math::ABNotStabilizable , wpi::math::ACNotDetectable
}
 Errors the DARE solver can encounter. More...

Functions

constexpr std::string_view wpi::math::to_string (const DAREError &error)
 Converts the given DAREError enum to a string.
template<int States, int Inputs>
Eigen::Matrix< double, States, States > wpi::math::detail::DARE (const Eigen::Matrix< double, States, States > &A, const Eigen::Matrix< double, States, Inputs > &B, const Eigen::Matrix< double, States, States > &Q, const Eigen::LLT< Eigen::Matrix< double, Inputs, Inputs > > &R_llt)
 Computes the unique stabilizing solution X to the discrete-time algebraic Riccati equation:
template<int States, int Inputs>
wpi::util::expected< Eigen::Matrix< double, States, States >, DAREErrorwpi::math::DARE (const Eigen::Matrix< double, States, States > &A, const Eigen::Matrix< double, States, Inputs > &B, const Eigen::Matrix< double, States, States > &Q, const Eigen::Matrix< double, Inputs, Inputs > &R, bool checkPreconditions=true)
 Computes the unique stabilizing solution X to the discrete-time algebraic Riccati equation:
template<int States, int Inputs>
wpi::util::expected< Eigen::Matrix< double, States, States >, DAREErrorwpi::math::DARE (const Eigen::Matrix< double, States, States > &A, const Eigen::Matrix< double, States, Inputs > &B, const Eigen::Matrix< double, States, States > &Q, const Eigen::Matrix< double, Inputs, Inputs > &R, const Eigen::Matrix< double, States, Inputs > &N, bool checkPreconditions=true)
 Computes the unique stabilizing solution X to the discrete-time algebraic Riccati equation: