nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
state.hpp
Go to the documentation of this file.
1
3// toolboxes/control/include/nk/control/state/state.hpp
4//
5// State-space structural primitives: controllability and
6// observability matrices, plus rank-based "is" predicates.
7
8#pragma once
9
10#include <memory_resource>
11#include <nk/value/value.hpp>
12
13namespace nk::control {
14
17
18
34Value ctrb_AB(const Value &A, const Value &B,
35 std::pmr::memory_resource *mr = nullptr);
36
48Value ctrb_sys(const Value &sys, std::pmr::memory_resource *mr = nullptr);
49
63Value obsv_AC(const Value &A, const Value &C,
64 std::pmr::memory_resource *mr = nullptr);
65
75Value obsv_sys(const Value &sys, std::pmr::memory_resource *mr = nullptr);
76
93Value gram(const Value &sys, const std::string &type,
94 std::pmr::memory_resource *mr = nullptr);
95
100};
101
118CovarResult covar(const Value &sys, const Value &W,
119 std::pmr::memory_resource *mr = nullptr);
120
121
123} // namespace nk::control
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value ctrb_AB(const Value &A, const Value &B, std::pmr::memory_resource *mr=nullptr)
Controllability matrix from raw (A, B) (Co = ctrb(A, B)).
CovarResult covar(const Value &sys, const Value &W, std::pmr::memory_resource *mr=nullptr)
Steady-state covariance under white-noise excitation ([P, Q] = covar(sys, W)).
Value ctrb_sys(const Value &sys, std::pmr::memory_resource *mr=nullptr)
Controllability matrix from a system struct (Co = ctrb(sys)).
Value obsv_AC(const Value &A, const Value &C, std::pmr::memory_resource *mr=nullptr)
Observability matrix from raw (A, C) (O = obsv(A, C)).
Value obsv_sys(const Value &sys, std::pmr::memory_resource *mr=nullptr)
Observability matrix from a system struct (O = obsv(sys)).
Value gram(const Value &sys, const std::string &type, std::pmr::memory_resource *mr=nullptr)
Controllability / observability gramian (W = gram(sys, type)).
Output and state covariance of an LTI system driven by white noise.
Definition state.hpp:97
Value P
Steady-state output covariance.
Definition state.hpp:98
Value Q
Steady-state state covariance.
Definition state.hpp:99