state-space model🚧
state-space system
internal state
⎰ x[n+1] = fₙ(x[n], u[n]) ⎱ y[n] = gₙ(x[n], u[n]) u: input signal y: output signal x: internal state
u是輸入訊號 y是輸出訊號 g是系統(開迴路) x是內部狀態 f是另一個系統(閉迴路) x是追加的第二道輸入訊號。 複製一份u,套用另一個系統f,當作第二道輸入訊號x。 符號意義被更動,u和x地位對調,f和g地位對調。 阿就古人當初沒有考慮清楚。成為歷史共業。
discrete-time system / continuous-time system
discrete-time system: ⎰ x[n+1] = fₙ(x[n], u[n]) ⎱ y[n] = gₙ(x[n], u[n]) continuous-time system: ⎰ x′(t) = f(t, x(t), u(t)) ⎱ y(t) = g(t, x(t), u(t))
causal system / time-invariant system / linear system
time-variant causal system with internal state: ⎰ x[n+1] = fₙ(x[n], u[n]) ⎱ y[n] = gₙ(x[n], u[n]) time-invariant causal system with internal state: ⎰ x[n+1] = f(x[n], u[n]) ⎱ y[n] = g(x[n], u[n]) linear time-variant causal system with internal state: ⎧ x[n+1] = aₙ₀ x[n] + aₙ₁ x[n-1] + ... + aₙₚ x[n-p] ⎨ + bₙ₀ u[n] + bₙ₁ u[n-1] + ... + bₙ₉ u[n-q] ⎪ y[n] = cₙ₀ x[n] + cₙ₁ x[n-1] + ... + cₙᵣ x[n-r] ⎩ + dₙ₀ u[n] + dₙ₁ u[n-1] + ... + dₙₛ u[n-s] linear time-invariant causal system with internal state: ⎧ x[n+1] = a₀ x[n] + a₁ x[n-1] + ... + aₚ x[n-p] ⎨ + b₀ u[n] + b₁ u[n-1] + ... + b₉ u[n-q] ⎪ y[n] = c₀ x[n] + c₁ x[n-1] + ... + cᵣ x[n-r] ⎩ + d₀ u[n] + d₁ u[n-1] + ... + dₛ u[n-s]
LTI system
state-space system:
╭╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╮
╎ ┌───┐ ╎
╎ ┌──→│ f │ ╎
╎ │ ┌→└───┘─┐ ╎
╎ │ ├── x ←─┘ ╎
╰╌│╌│╌╌╌╌╌╌╌╌─╌╌╯
│ └→┌───┐
u ──┴──→│ g │─────→ y
└───┘
LTI state-space system:
╭╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╮
╎ ┌───┐ ╎
╎ ┌─│ a │─┐ ╎
╎ │ └───┘ │ ╎
╎ ┌───┐ ↓+ │ ┌───┐ ╎
╎ ┌─→│ b │─→⊕─→ x ──┴─→│ c │──┐ ╎
╎ │ └───┘ + └───┘ │ ╎
╰╌│╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌│╌╯
│ ┌───┐ ↓+
u ──┴──────────→│ d │──────────→⊕─→ y
└───┘ +
系統模型畫成方塊圖,形成新觀點。 一、內部狀態x,自迴歸a。不斷改變自身,不受外界影響。 二、接著讓x受到外界影響。 引入輸入訊號。進來之前先過b,出去之前先過c。 三、線性非時變系統,只有三種運算,位移、倍率、加法。 因此可以直接把兩道輸入訊號加在一起。 因此可以直接將輸入訊號改成輸出訊號。 出去之前先過c再過d,兩者複合當作新c。 阿就前饋看起來比較爽快啊。 維基百科的方塊圖,畫成其他造型。看你喜歡哪種都行。 https://commons.wikimedia.org/wiki/File:Typical_State_Space_model.svg
system representation🚧
引言
system representation / system realization
訊號學家自創一個同義詞彙realization。 硬要區分的話嘛: representation是表示法本身。 realization是表示法轉換過程。
使用impulse response。 輸入是脈衝函數,輸出稱作脈衝響應。 LTI系統當中,脈衝響應恰是卷積核。 最後,卷積核進一步改寫成矩陣。
system realization原義是指找到系統模型、系統參數,然後實作系統。 訊號學家沒有考慮清楚,胡亂用詞。 system realization演變為完全不相干的意義:系統參數改寫成矩陣。 成為歷史共業。
LTI system
state-space representation
線性函數(狹義版本)、線性遞迴函數,可以改寫成矩陣。 線性非時變系統的系統參數也可以改寫成矩陣,有兩種方式: 一、MIMO系統、線性非時變系統、一階。 改寫成矩陣,外觀仍是MIMO系統、一階。 將一個時刻的每種訊號併成向量。此向量是狀態。 經典應用是數值模擬的數值方案。 二、SISO系統、線性非時變系統、n階。 改寫成矩陣,外觀變成MIMO系統、一階。 將連續n個訊號數值併成向量。此向量是滑動視窗。 經典應用是遞迴數列的快速冪演算法。 此處使用二。 然而訊號學家卻將二稱作狀態空間表示法。成為歷史共業。
companion matrix realization
高階差分方程式,化作一階差分方程組。 高階微分方程式,化作一階微分方程組。 數學的差分方程式, 一個未知函數:對應到AR model。 兩個未知函數:對應到ARMA model。 統計學與訊號學的差分方程式, 兩個未知函數(輸入訊號和輸出訊號):對應到ARMA model。
| mathmetics | signal processing
-----------|----------------------------------------------
AR model | x⃗[n+1] = A x⃗[n] | y⃗[n+1] = A y⃗[n]
ARMA model | x⃗[n+1] = A x⃗[n] + b | y⃗[n+1] = A y⃗[n] + B y⃗[n]
我思忖著通通改成b和y。【尚待確認】
3rd-order linear constant-coefficient difference equation: x[n+3] + a₂ x[n+2] + a₁ x[n+1] + a₀ x[n] = 0 => x[n+3] = - a₂ x[n+2] - a₁ x[n+1] - a₀ x[n] => x+⃡3 = - a₂(x+⃡2) - a₁(x+⃡1) - a₀x number -> sequence ⎧ (x )+⃡1 = x+⃡1 3rd-order equation => ⎨ (x+⃡1)+⃡1 = x+⃡2 -> 1st-order system ⎩ (x+⃡2)+⃡1 = - a₂(x+⃡2) - a₁(x+⃡1) - a₀x ⎧ x₀+⃡1 = x₁ => ⎨ x₁+⃡1 = x₂ rename variables ⎩ x₂+⃡1 = -a₂x₂ - a₁x₁ - a₀x₀ ⎡ x₀+⃡1 ⎤ ⎡ 0 1 0 ⎤ ⎡ x₀ ⎤ matrix representation => ⎢ x₁+⃡1 ⎥ = ⎢ 0 0 1 ⎥ ⎢ x₁ ⎥ (companion matrix) ⎣ x₂+⃡1 ⎦ ⎣ -a₀ -a₁ -a₂ ⎦ ⎣ x₂ ⎦ => x⃗+⃡1 = A x⃗ rename variables => x⃗[n+1] = A x⃗[n] sequence -> number
5th-order linear constant-coefficient difference equation: ⎡ x₀+⃡1 ⎤ ⎡ 0 1 0 0 0 ⎤ ⎡ x₀ ⎤ ⎢ x₁+⃡1 ⎥ ⎢ 0 0 1 0 0 ⎥ ⎢ x₁ ⎥ ⎢ x₂+⃡1 ⎥ = ⎢ 0 0 0 1 0 ⎥ ⎢ x₂ ⎥ ⎢ x₃+⃡1 ⎥ ⎢ 0 0 0 0 1 ⎥ ⎢ x₃ ⎥ ⎣ x₄+⃡1 ⎦ ⎣ -a₀ -a₁ -a₂ -a₃ -a₄ ⎦ ⎣ x₄ ⎦
3rd-order linear constant-coefficient differential equation: d³ d² d ——— x(t) + a₂ ——— x(t) + a₁ —— x(t) + a₀ x(t) = 0 dt³ dt² dt => x‴(t) + a₂ x″(x) + a₁ x′(x) + a₀ x(t) = 0 => x‴(t) = - a₂ x″(t) - a₁ x′(t) - a₀ x(t) ⎧ (x )′ = x′ 3rd-order equation => ⎨ (x′)′ = x″ -> 1st-order system ⎩ (x″)′ = -a₂x″ - a₁x′ - a₀x ⎧ x₀′ = x₁ => ⎨ x₁′ = x₂ rename variables ⎩ x₂′ = -a₂x₂ - a₁x₁ - a₀x₀ ⎡ x₀′ ⎤ ⎡ 0 1 0 ⎤ ⎡ x₀ ⎤ matrix representation => ⎢ x₁′ ⎥ = ⎢ 0 0 1 ⎥ ⎢ x₁ ⎥ (companion matrix) ⎣ x₂′ ⎦ ⎣ -a₀ -a₁ -a₂ ⎦ ⎣ x₂ ⎦ => x⃗′ = A x⃗ rename variables
similarity transformation
拿任意一種可逆矩陣T做相似變換。 decomposition A = TA'T⁻¹ => similarity transformation A' = T⁻¹AT 對角化也是一種相似變換。變換矩陣是特徵向量。
minimal realization
數學稱作正則化canonicalization。 物理學稱作解耦合decoupling。 訊號學稱作最小實現minimal realization。 三者概念相同,只是著重的事情稍微有點差別。 總之一句話:矩陣對角化。 eigendecomposition A = EΛE⁻¹ => diagonalization Λ = E⁻¹AE 變換矩陣A實施相似變換成為對角矩陣A' = Λ = E⁻¹AE。 對角線就是特徵值。將零集中在右下角。 最後去掉特徵值是零的多餘維度。
當A是同伴矩陣companion matrix。
特徵向量E恰是多項式內插矩陣Vandermonde matrix的轉置。
companion matrix:
⎡ 0 1 0 ⋯ 0 ⎤
⎢ 0 0 1 ⋯ 0 ⎥
A = ⎢ 0 0 0 ⋯ 0 ⎥
⎢ 0 0 0 ⋯ 1 ⎥
⎣ -a₀ -a₁ -a₂ ⋯ -aₙ₋₁ ⎦
eigenproblem:
Ax = λx
eigendecomposition:
A = EΛE⁻¹
eigenvalues:
λ₁, λ₂, ⋯, λₙ
eigenvectors:
⎡ λ₁⁰ λ₂⁰ ⋯ λₙ⁰ ⎤
⎢ λ₁¹ λ₂¹ ⋯ λₙ¹ ⎥ transpose of
E = ⎢ λ₁² λ₂² ⋯ λₙ² ⎥ Vandermonde matrix
⎢ : : : ⎥
⎣ λ₁ⁿ⁻¹ λ₂ⁿ⁻¹ ⋯ λₙⁿ⁻¹ ⎦
表格
AR model
╭────────────────────────────┬────────────────────────────╮
│ polynomial representation │ matrix representation │
╞════════════════════════════╧════════════════════════════╡
│ time domain │
│ impulse response representation │
╞════════════════════════════╤════════════════════════════╡
│ sequence │ companion matrix │
│ b = (b[0], b[1], b[2], ⋯) │ ⎡ 0 1 0 ⋯ ⎤│
│ │ ⎢ 0 0 1 ⋯ ⎥│
│ │ A = ⎢ 0 0 0 ⋯ ⎥│
│ │ ⎢ : : : ⎥│
│ │ ⎣ -b[0] -b[1] -b[2] ⋯ ⎦│
├────────────────────────────┤────────────────────────────┤
│ linear recurrence │ linear recurrence │
│ y[n] = b[1] y[n-1] │ y⃗[n] = A y⃗[n-1] │
│ + b[2] y[n-2] │ |
│ + ... │ │
├────────────────────────────┤────────────────────────────┤
│ expansion │ expansion │
│ y[n] = ....... │ y⃗[n] = Aⁿ y⃗[0] │
├────────────────────────────┤────────────────────────────┤
│ convolution │ Toeplitz matrix │
│ (y+⃡1) = b * y │ (y⃗+⃡1) = 𝐺 y⃗ │
│ │ │
│ │ ⎡ b[0] 0 0 ⋯ ⎤ │
│ │ ⎢ b[1] b[0] 0 ⋯ ⎥ │
│ │ 𝐺 = ⎢ b[2] b[1] b[0] ⋯ ⎥ │
│ │ ⎢ b[3] b[2] b[1] ⋯ ⎥ │
│ │ ⎣ : : : ⎦ │
├────────────────────────────┤────────────────────────────┤
│ solution │ solution │
│ f[n] = C₀ 𝑝₀ⁿ │ f[n] = C₀ Aⁿ │
│ + C₁ 𝑝₁ⁿ │ │
│ + ... │ │
╞════════════════════════════╧════════════════════════════╡
│ frequency domain │
│ transfer function representation │
╞════════════════════════════╤════════════════════════════╡
│ generating function │ matrix pencil │
│ F(z) = f[0] z │ zI-A │
│ + f[1] z⁻¹ │ │
│ + ... │ │
├────────────────────────────┤────────────────────────────┤
│ characteristic equation │ characteristic equation │
│ F(λ) = 0 │ det(λI-A) = 0 │
| | |
│ λⁿ = f[1] λⁿ⁻¹ │ │
│ + f[2] λⁿ⁻¹ │ │
│ + ... │ │
├────────────────────────────┤────────────────────────────┤
│ roots (poles) │ eigenvalues (poles) │
│ λ₁, λ₂, ... │ λ₁, λ₂, ... │
╰────────────────────────────┴────────────────────────────╯
LTI state-space system
專著《Filtering and System Identification: A Least Squares Approach》。
state-space representation
polynomial representation: ⎧ x[n+1] = a₀ x[n] + a₁ x[n-1] + ... + aₚ x[n-p] ⎨ + b₀ u[n] + b₁ u[n-1] + ... + b₉ u[n-q] ⎪ y[n] = c₀ x[n] + c₁ x[n-1] + ... + cᵣ x[n-r] ⎩ + d₀ u[n] + d₁ u[n-1] + ... + dₛ u[n-s] matrix representation: ⎰ x⃗[n+1] = A x⃗[n] + B u⃗[n] ⎱ y⃗[n] = C x⃗[n] + D u⃗[n]
LTI state-space system的四串系統參數可以改寫成四個矩陣ABCD。 教科書一律直接寫成矩陣。
state-space model
訊號學家自創一個詞彙state-space model。 嚴格來說是三件事情,但是整包稱作state-space model: 一、系統追加內部狀態(internal state)。 二、多項式推廣為矩陣(polynomial -> matrix)。 多項式可以視作矩陣的特例。 三、多項式等價地改寫成矩陣(matrix representation)。 藉由companion matrix。。 state原義是指特定時刻,各個變數的數值,所組成的數組。 state space原義是指所有時刻,全部的數組。 訊號學家沒有考慮清楚,胡亂用詞。 上述三件事情與state space完全無關。 成為歷史共業。
companion matrix realization
ARMA model可以進一步變成state-space model,湊出矩陣ABCD。
https://people.duke.edu/~hpgavin/SystemID/CourseNotes/LTI.pdf
similarity transformation
A' = T⁻¹AT B' = T⁻¹B C' = CT D' = D x' = T⁻¹x u' = u y' = y
eigensystem realization
eigensystem realization (Ho–Kálmán realization)
1. get (g[1], ⋯, g[n]) by impulse response 2. get 𝑂,𝐶 by compact SVD of Hankel((g[1], ⋯, g[n])) 3. get A,B,C,D A: extract from Hankel((g[2], ⋯, g[k+1])) B: first column of 𝐶 C: first row of 𝑂 D: orignal D (by similarity transformation)
https://math.stackexchange.com/questions/3275985/ https://par.nsf.gov/servlets/purl/10312038
reachability matrix / observability matrix
可到達性矩陣:x[n+1]遞迴函數,改寫成矩陣。 可觀察性矩陣:y[n]遞迴函數,改寫成矩陣。
藉由同伴矩陣, 訊號從數值x[n] y[n] z[n]推廣為向量u⃗[n] x⃗[n] y⃗[n]。 k是向量維度。k也是差分方程式的階數。 rank(A) = k,那麼A的直條的線性組合,得以形成每一種k維向量。 注意到,數列索引值n/數列長度n、向量維度k,兩者意義不同。 簡單起見,這個小節的u x y不添加向量符號、也不使用粗體字。
expansion of x (polynomial representation):
⎧ x[1] = A x[0] + B u[0]
⎨ x[2] = A² x[0] + AB u[0] + B u[1]
⎪ :
⎩ x[k] = Aᵏ x[0] + Aᵏ⁻¹B u[0] + ⋯ + AB u[k-2] + B u[k-1]
formula of x (matrix representation):
⎡ u[0] ⎤
x[k] = Aᵏ x[0] + [ Aᵏ⁻¹B ⋯ A²B AB B ] ⎢ : ⎥
⎣ u[k-1] ⎦
Ɔ
reachability matrix (controllability matrix):
𝐶 = [ A⁰B ⋯ Aᵏ⁻¹B ]
reachability:
any y can be generated by x[0] and u
<=> any x[k] can be generated by x[0] and u[0⋯k-1]
<=> any (x[k] - Aᵏ x[0]) can be generated by u[0⋯k-1]
<=> rank(𝐶) = k
expansion of y (polynomial representation):
⎧ y[0] = C x[0] + D u[0]
⎨ y[1] = CA x[0] + CB u[0] + D u[1]
⎪ :
⎩ y[k-1] = CAᵏ⁻¹ x[0] + CAᵏ⁻²B u[0] + ... + CAB u[k-1] + D u[k-1]
expansion of y (matrix representation):
⎡ y[0] ⎤ ⎡ C ⎤ ⎡ D 0 ⋯ ⎤ ⎡ u[0] ⎤
⎢ : ⎥ = ⎢ CA ⎥ x[0] + ⎢ CB D ⋯ ⎥ ⎢ : ⎥
⎢ : ⎥ ⎢ : ⎥ ⎢ CAB CB ⋯ ⎥ ⎢ : ⎥
⎣ y[k-1] ⎦ ⎣ CAᵏ⁻¹ ⎦ ⎣ : : ⎦ ⎣ u[k-1] ⎦
𝑂 𝐺
observability matrix:
⎡ CA⁰ ⎤
𝑂 = ⎢ : ⎥
⎣ CAᵏ⁻¹ ⎦
observability:
unique x can be reconstructed by y and u
<=> unique x[0] can be reconstructed by y[0⋯k-1] and u[0⋯k-1]
<=> unique x[0] can be reconstructed by (y[0⋯k-1] - 𝐺 u[0⋯k-1])
<=> rank(𝑂) = k
Krylov subspace:湊足k種連續次方,得以構成k維空間。 一、可到達性矩陣、可觀察性矩陣至少需要列出0次方到k-1次方。 二、訊號長度至少是k個數字,得以檢查可到達性、可觀察性。
minimal realization
minimal realization is both controllable and observable.
Markov parameters
卷積核(脈衝響應)改寫成矩陣。然後省略g[0]。
Markov parameters: (CA⁰B, CA¹B, ...) theorem: Hankel((g[1], ⋯, g[k])) = Hankel((CA⁰B, ⋯, CAᵏ⁻¹B)) = 𝑂𝐶 ⎡ g[1] g[2] ⋯ g[k] ⎤ ⎡ CA⁰B CA¹B ⋯ CAᵏ⁻¹B ⎤ ⎢ g[2] g[3] ⋯ g[k+1] ⎥ ⎢ CA¹B CA²B ⋯ CAᵏB ⎥ ⎢ : : : ⎥ = ⎢ : : : ⎥ = 𝑂𝐶 ⎢ : : : ⎥ ⎢ : : : ⎥ ⎣ g[k] g[k+1] ⋯ g[2k-1] ⎦ ⎣ CAᵏ⁻¹B CAᵏB ⋯ CA²ᵏ⁻²B ⎦
Toeplitz matrix = constant diagonal matrix Hankel matrix = constant skew-diagonal matrix
可到達性矩陣故意被左右顛倒,就是為了產生常反對角矩陣。 如果我沒搞錯,這與卷積互相呼應。 卷積的其中一個數列也是需要左右顛倒。
Hankel singular values
Hankel((g[1], ⋯, g[n])) 做共軛分解conjugate decomposition,得到𝑂與𝐶。 從中間剖開一人分一半。 共軛分解採用compact SVD,順便降維,以便形成minimal realization。 去掉奇異值是零的多餘維度。 方便起見,新維度還是標記成k,新矩陣則追加下標k。 A = UΣVᵀ = U√Σ√ΣVᵀ compact singular value decomposition Aₖ = Uₖ√Σₖ√ΣₖVₖᵀ minimal realization (rank k) 𝑂 = Uₖ√Σₖ 𝐶 = √ΣₖVₖᵀ
A = BᵀB。
對稱半正定矩陣A,分解成矩陣內積。
沒有正式學術名稱。
少數文獻稱作共軛分解conjugate decomposition。
概念宛如將一個平方值,分解成共軛複數相乘。
分解方式有無限多種。其中有兩種知名方式:
一、Cholesky decomposition,分解成上三角矩陣。
A = LLᵀ and B = Lᵀ
二、eigendecomposition。特徵分解。
A = EΛE⁻¹ = EΛEᵀ = E√Λ√ΛEᵀ and B = √ΛEᵀ
對稱半正定矩陣的情況下,特徵分解EVD等同奇異值分解SVD!
不是對稱半正定矩陣的情況下,只好改用SVD。
Hankel((g[1], ⋯, g[k]))是對稱矩陣,但是通常不是半正定矩陣。
system matrices
算A:移位一個時刻,湊出A。然後𝑂和𝐶移項即得。 ⎡ g[2] g[3] ⋯ g[k+1] ⎤ ⎡ CA¹B CA²B ⋯ CAᵏB ⎤ ⎢ g[3] g[4] ⋯ g[k+2] ⎥ ⎢ CA²B CA²B ⋯ CAᵏ⁺¹B ⎥ ⎢ : : : ⎥ = ⎢ : : : ⎥ = 𝑂A𝐶 ⎢ : : : ⎥ ⎢ : : : ⎥ ⎣ g[k+1] g[k+2] ⋯ g[2k] ⎦ ⎣ CAᵏB CAᵏ⁺¹B ⋯ CA²ᵏ⁻¹B ⎦ let Hₖ = Hankel((g[1], ⋯, g[k])) Aₖ = 𝑂ₖ⁺(Hₖ+⃡1)𝐶ₖ⁺ 算B:𝐶ₖ第零個直條就是Bₖ。 算C:𝑂ₖ第零個橫條就是Cₖ。 算D:原本的D降維。【尚待確認】
balanced realization
balanced realization
四個矩陣ABCD的方程組,對角化比較複雜。 四個矩陣不能一起對角化。 只能以𝐶為主、或者以𝑂為主。 有人發現取平方(矩陣內積和外積)再開根號,𝐶和𝑂就可以一起對角化。 宛如SVD的背後原理。SVD即是EVD取平方(矩陣內積和外積)再開根號。
1. get P,Q by Lyapunov equation AP + PAᵀ + BBᵀ = 0 AᵀQ + QA + CᵀC = 0 2. get 𝑂 by Cholesky decomposion Q = 𝑂ᵀ𝑂 3. get U,Σ by eigendecomposition 𝑂P𝑂ᵀ = 𝑂𝐶𝐶ᵀ𝑂ᵀ= HHᵀ = UΣ²Uᵀ 4. get T by conjugate decomposition T = 𝑂⁻¹U√Σ T⁻¹ = √ΣUᵀ𝑂 其實步驟1和2是多餘的。 H = Hankel((g[1], ⋯, g[k])) 使用矩陣內積HᵀH、矩陣外積HHᵀ,即可完成平衡實現。 步驟1和2主要是為了介紹Lyapunov equation。
https://ocw.mit.edu/courses/6-241j-dynamic-systems-and-control-spring-2011/7f6754029d6945bd3bdc745080890bf8_MIT6_241JS11_chap26.pdf
image
線性代數當中, image:一個矩陣,嘗試各種輸入向量,所能得到的各種輸出向量。輸出向量的集合。 theorem: image(AAᵀ) = image(A) 直觀解讀: 一、Aᵀx是輸入向量x實施變換,獲得一部分的輸入向量。比原本少。 再經過A變換,獲得一部分的輸出向量。比原本少。 因此image(AAᵀ) ⊆ image(A)。 二、Aᵀ是垂直投影。Aᵀ消滅的維度,A消滅的維度,基本相等。 換句話說,rank(Aᵀ) = rank(A)。 即便額外套用Aᵀ,剩下的維度還是一樣多。 因此image(AAᵀ) = image(A)。 嚴謹證明,分成三個階段: (1) AᵀAx = 0 <=> Ax = 0 (2) kernel(AᵀA) = kernel(A) (3) image(AᵀA) = image(Aᵀ) (1)(⟹) 等號兩邊同乘xᵀ AᵀAx = 0 => xᵀAᵀAx = 0 => ‖Ax‖² = 0 => Ax = 0 (1)(⟸) 等號兩邊同乘Aᵀ。 Ax = 0 => AᵀAx = 0 (2) 因為兩個方程式等價,所以兩個解集合也等價。 (3) 線性代數基本定理:kernel(A) = image(Aᵀ)⟂ kernel(AᵀA) = kernel(A) => image((AᵀA)ᵀ)⟂ = image(Aᵀ)⟂ => image(AᵀA)⟂ = image(Aᵀ)⟂ => image(AᵀA) = image(Aᵀ)
https://math.stackexchange.com/questions/2411508
reachability
圖論當中, reachable:從一個起點可以到達一個終點。 connected:從各種起點可以到達各種終點。 訊號學當中, reachable set:從各種起點所能到達的各種終點。終點的集合。 使用矩陣來描述相鄰關係, 訊號學的reachable set=線性代數的image。
先備知識請見本站文件「adjacency matrix」。 圖論當中,A是圖。Aᵀ是反向圖(顛倒所有邊)。 套用Aᵀ:順走1步。 套用A:逆走1步。 套用AAᵀ:先順走1步、再逆走1步(矩陣乘法由右往左讀)。 考慮所有可能的起點,以及所有可以到達的終點。 套用A、套用AAᵀ,所有可以到達的終點一樣多。 套用R = (A⁰+A¹+⋯+Aᵏ): 逆走0步到k步,所到之處通通聯集。 套用RRᵀ = (A⁰+A¹+⋯+Aᵏ)(A⁰+A¹+⋯+Aᵏ)ᵀ: 先順走再逆走(矩陣乘法由右往左讀)。 展開式子,變成兩兩相乘,得到各種情況。例如順1逆2。 套用P = A⁰(A⁰)ᵀ+A¹(A¹)ᵀ+⋯+Aᵏ(Aᵏ)ᵀ: 順0逆0、順1逆1、……、順k逆k,所到之處通通聯集。 考慮所有可能的起點,以及所有可以到達的終點。 套用R、套用P,所有可以到達的終點一樣多。
reachability Gramian
Gram matrix MᵀM
k-step Aᵏ⁻¹B
outer product (Aᵏ⁻¹B)(Aᵏ⁻¹B)ᵀ = Aᵏ⁻¹BBᵀ(Aᵏ⁻¹)ᵀ
image image(Aᵏ⁻¹B) = image((Aᵏ⁻¹B)(Aᵏ⁻¹B)ᵀ)
k-reachability matrix 𝐶ₖ = [ A⁰B ⋯ Aᵏ⁻¹B ]
k-reachability Gramian matrix [ A⁰BBᵀ(A⁰)ᵀ ⋯ Aᵏ⁻¹BBᵀ(Aᵏ⁻¹)ᵀ ]
k-reachability R[k] = sum Aᵏ⁻¹B
k=0⋯∞
k-reachability Gramian P[k] = sum Aᵏ⁻¹BBᵀ(Aᵏ⁻¹)ᵀ = sum 𝐶ₖ 𝐶ₖᵀ
k=0⋯∞ k=0⋯∞
k-reachable set image(R[k]) = image(P[k])
https://control.asu.edu/Classes/MAE507/507Lecture06.pdf https://control.asu.edu/Classes/MAE507/507Lecture17.pdf
Lyapunov equation
k-reachability Gramian P[k+1] = A P[k] Aᵀ + BBᵀ
Lyapunov stability image(P[k+1]) = image(P[k]) when k→∞
Lyapunov equation M = AMAᵀ + BBᵀ
where M = P[k] and k→∞
Lyapunov theorem Lyapunov stability <=> Lyapunov equation
Hankel singular value
reachability Gramian P = 𝐶𝐶ᵀ => AP + PAᵀ + BBᵀ = 0 observability Gramian Q = 𝑂ᵀ𝑂 => AᵀQ + QA + CᵀC = 0 Hankel singular value Σ = sqrt(eigenvalue(PQ)) balanced realization P' = Q' = Σ
similarity transformation
P' = T⁻¹P(Tᵀ)⁻¹ Q' = TᵀQT
延伸閱讀:dual system
rank / nullity
矩陣邊長是n,而實際維度不足n。 套用此矩陣、實施變換,有些維度完全消失。 例如投影矩陣,有些維度完整保留,有些維度完全消失。 消失的維度,特徵值是零,特徵向量未定義。 (數學家規定必須湊滿n個特徵值。但是不必湊滿n個特徵向量。)
stability / instability
繼續深入。 實際維度是k,其中包含了縮小、不變、放大。 矩陣邊長是n,其中包含了消失、縮小、不變、放大。 特徵值,其中包含了等於0,絕對值小於1、絕對值等於1、絕對值大於1。 不斷套用此矩陣、不斷實施變換, 有些維度完全消失、趨近消失、保持不變、變成正負無限大。 消失、縮小、不變,最終形成穩態。 放大,最終不會形成穩態。
reachability / controllability / stabilizability
可到達性:總是存在控制訊號,各種初始狀態都可以得到各種狀態。 可控制性:總是存在控制訊號,可以得到各種狀態。 可穩定性:總是存在控制訊號,讓系統穩定。
可到達性:每種狀態皆可抵達。 所有初始條件,皆可抵達特定一種狀態。 可控制性:每種狀態皆可抵達。 存在初始條件,可以抵達特定一種狀態。 可穩定性:每種狀態不見得皆可抵達。 所有初始條件,輸出訊號皆可抵達穩態。
可到達性:已知初始狀態x[0]、當前狀態x[n], 總是存在控制訊號u, 可以從初始狀態x[0]得到當前狀態x[n]。 (可以得到狀態數列x、輸出數列y。畢竟已知系統公式。) 可控制性:已知當前狀態x[n]。 總是存在控制訊號u、初始狀態x[0], 可以得到當前狀態x[n]。 (可以得到狀態數列x。畢竟已知系統公式。) 可穩定性:已知初始狀態x[0], 總是存在控制訊號u, 使得每種輸出訊號y到達穩態。 (即便不滿足可控制性。例如ABCD矩陣全是零。)
上述定義經過推導得到下述結論。 可到達性:初始狀態x[0] = 0可以到達所有狀態。 可控制性:存在初始狀態x[0]可以到達狀態x[n] = 0。
連續時間系統,可到達性<=>可控制性。 離散時間系統,可到達性=>可控制性。 離散時間系統,A有反矩陣,可到達性<=>可控制性。
observability / constructability / detectability
可觀察性:已知控制訊號u、輸出訊號y, 總是存在唯一一種初始狀態x[0]。 可以用控制訊號u得到輸出訊號y。 (可以得到唯一一種狀態數列x。畢竟已知系統公式。) 可建設性:已知控制訊號u、輸出訊號y, 總是存在一種初始狀態x[0]。 可以用控制訊號u得到輸出訊號y。 (可以得到一種狀態數列x。畢竟已知系統公式。) 可偵測性:已知控制訊號u、輸出訊號y, 可以讓輸出訊號y到達穩態。 (即便不滿足可觀察性。例如不知道狀態但知道會穩定。)
連續時間系統,可觀察性<=>可建設性。 離散時間系統,可觀察性=>可建設性。 離散時間系統,C有反矩陣,可觀察性<=>可建設性。
output controllablility
output controllable if and only if the output controllability Gramian is positive definite. https://arxiv.org/pdf/2306.08523
dual system
四個矩陣ABCD通通轉置,仍然是LTI state-space system。 四個矩陣ABCD通通轉置,reachability與observability恰好對調。 原理是線性代數基本定理:kernel(A) = image(Aᵀ)⟂ 就這樣。
┌──────────────────┐ dual ┌──────────────────┐
│ reachability │←────→│ observability │
└──────────────────┘ └──────────────────┘
⇓ ⇓
┌──────────────────┐ dual ┌──────────────────┐
│ controllability │←────→│ constructability │
└──────────────────┘ └──────────────────┘
controllable canonical form / observable canonical form
以矩陣A為主角, 實施companion matrix realization, 得到controllable canonical form。 四個矩陣ABCD通通轉置,得到observable canonical form。 即是dual system。
http://www.dii.unimo.it/~zanasi/didattica/Teoria_dei_Sistemi/Luc_TDS_ING_2016_Reachability_and_Controllability.pdf http://www.dii.unimo.it/~zanasi/didattica/Teoria_dei_Sistemi/Luc_TDS_ING_2016_Observability_and_Constructability.pdf
表格
專著《Linear Optimal Control: H₂ and H∞ Methods》。
LTI state-space system
╭────────────────────────────┬────────────────────────────╮
│ polynomial representation │ matrix representation │
╞════════════════════════════╧════════════════════════════╡
│ time domain │
│ impulse response representation │
╞════════════════════════════╤════════════════════════════╡
│ sequence │ companion matrix │
│ a,b,c,d │ A,B,C,D │
│ a = (a[0], a[1], ...) │ │
│ b = (b[0], b[1], ...) │ │
│ c = (c[0], c[1], ...) │ │
│ d = (d[0], d[1], ...) │ │
├────────────────────────────┤────────────────────────────┤
│ linear recurrence │ linear recurrence │
│ ⎧ x[n+1] = a[0] x[n] + ⋯ │ ⎰ x⃗[n+1] = A x⃗[n] + B u⃗[n] │
│ ⎨ + b[0] u[n] + ⋯ │ ⎱ y⃗[n] = C x⃗[n] + D u⃗[n] │
│ ⎪ y[n] = c[0] x[n] + ⋯ │ │
│ ⎩ + d[0] u[n] + ⋯ │ │
├────────────────────────────┤────────────────────────────┤
│ expansion │ expansion │
│ x[n+1] = ...... | x[n+1] = Aⁿ⁺¹ x[0] + Ɔ u⃗[n]|
│ y[n] = ...... │ y⃗[n] = 𝑂 x[0] + 𝐺 u⃗[n] │
├────────────────────────────┤────────────────────────────┤
│ convolution │ Hankel matrix │
│ ⎰ x+⃡1 = a ∗ x + b ∗ u │ 𝑂𝐶 │
│ ⎱ y = c ∗ x + d ∗ u │ │
├────────────────────────────┤────────────────────────────┤
│ impulse response │ Markov parameters │
│ g[n] = ...... │ g[n] = CAⁿ⁻¹B + D δ[n] │
│ │ = ⎰ D , if n = 0 │
│ │ ⎱ CAⁿ⁻¹B , if n > 0 │
├────────────────────────────┤────────────────────────────┤
│ solution │ solution │
│ y[n] = ...... │ y[n] = C Aⁿ x[0] │
│ │ + sum CAⁿ⁻¹⁻ⁱB u[i] │
│ │ i=0⋯n-1 │
│ │ + D u[0] │
╞════════════════════════════╧════════════════════════════╡
│ frequency domain │
│ transfer function representation │
╞════════════════════════════╤════════════════════════════╡
│ generating function │ resolvent │
│ A(z) = a[0]z + a[1]z⁻¹ + ⋯ │ G(z) = C(zI-A)⁻¹B + D │
│ B(z) = b[0]z + b[1]z⁻¹ + ⋯ │ adj(zI-A) │
│ C(z) = c[0]z + c[1]z⁻¹ + ⋯ │ = C ————————— B + D │
│ D(z) = d[0]z + d[1]z⁻¹ + ⋯ │ det(zI-A) │
├────────────────────────────┤────────────────────────────┤
│ BIBO stability │ BIBO stability │
│ A(λ) = 0 │ det(λI-A) = 0 │
├────────────────────────────┤────────────────────────────┤
│ roots (poles) │ eigenvalues (poles) │
│ λ₁, λ₂, ... │ λ₁, λ₂, ... │
╰────────────────────────────┴────────────────────────────╯
system identification🚧
system identification
專著《Numerical Methods for Linear Control Systems》。
擁有內部狀態的系統,需要找到四串系統參數。 訊號學家不在乎多項式表示法。訊號學家非矩陣表示法不可。 搞出了一大堆演算法,只為了一併完成indentification和realization。 但是也沒有什麼創見,只是在那裡微調矩陣格式、微調計算流程。 更何況系統參數頂多也才幾十個數字,計算時間頂多也只改進不到1秒。 多項式表示法有哪裡不好嗎?多項式表示法既容易理解又容易實作。 矩陣表示法的唯一優點是minimal realization。 但是訊號學家卻不打算一併完成minimal realization。 這群人腦子有病。
min ║⎡x[n+1]⎤ _ ⎡ A B ⎤ ⎡x[n]⎤║² A,B,C,D ║⎣y[n] ⎦ ⎣ C D ⎦ ⎣u[n]⎦║ꜰ linear least squares有三種解法 1. normal equation 2. QR decomposition 3. singular value decomposition 大家習慣使用SVD,時間複雜度最低。
subspace identification method N4SID past signal / future signal
system functionality🚧
system functionality
verb | action noun | agent noun ---------|-------------|----------- observe | observation | observer control | control | controller
觀測器:系統輸出之後,追加一個系統,用來觀測系統內部狀態。 輸入訊號需要前饋。 控制器:系統輸入之前,追加一個系統,用來調整輸入訊號暨輸出訊號。 輸出訊號需要回饋。
┌──────────┐
u ──┬─→│ system │──┬──────────────────→ y
│ └──────────┘ └─→┌──────────┐
╰──────────────────→│ observer │────→ x̂
└──────────┘
┌──────────┐ u ┌──────────┐
r ────→│controller│────→│ system │──┬─→ y
╭─→└──────────┘ └──────────┘ │
╰─────────────────────────────────╯
system functionality — observer🚧
Luenberger observer
Luenberger observer
x̂[n+1] = A x̂[n] + B u[n] + L (y[n] - ŷ[n]) 找到一個幾乎一樣的LTI state-space system。 觀測器輸入訊號是輸入訊號u[n]、輸出訊號誤差y[n] - ŷ[n]。 觀測器輸出訊號是狀態估計值x̂[n+1]。 如果知道四個矩陣ABCD,即可遞推計算內部狀態x。不必繞圈子。 如果不知道四個矩陣ABCD,Luenberger observer不可靠。
┌──────────┐
u ──┬─→│ system │──┬───────────────────┬─→ y
│ └──────────┘ └─→┌──────────┐ ŷ │+
╰──────────────────→│ observer │────→╰─→ y - ŷ
└──────────┘ -
┌──────────┐
u ──┬───→│ system │──┬─────────┬─→ y
│ └──────────┘ │ +↓
│ ╭────────────────╯ ├─→ y - ŷ
│ ╰─→┌─────────────────┐ -↑
└───→│ model estimator │─────┴─→ ŷ
└─────────────────┘
https://commons.wikimedia.org/wiki/File:Luenberger_Observer.svg https://www.researchgate.net/figure/Schematic-diagram-of-the-Luenberger-observer_fig1_352751281
追加u[n] = Fx̂[n]形成閉迴路系統。
整體也得滿足穩定性。
特徵值變成A+BF和A+LC。
u ┌──────────┐
┌───────┬───→│ system │──┬─→ y
│ │ └──────────┘ │
│ │ ╭────────────────╯
u│ │ ╰─→┌──────────┐ x̂
│ └───→│ observer │──┐
│ ┌───┐ └──────────┘ │
└─│ F │←───────────────────┘
└───┘
https://www.columbia.edu/~ja3451/courses/E6602/9_observers.pdf https://control.asu.edu/Classes/MAE507/507Lecture09.pdf
Kalman observer
recursive least squares estimation
專著《Optimal State Estimation: Kalman, H∞ and Nonlinear Approaches》。
least squares estimation weighted least squares estimation constrained least squares estimation recursive least squares estimation
雖然是sequential,但是原始作者取名recursive。 畢竟當時sequential這個詞彙尚未流行。
Kalman filter (linear quadratic estimator)
專著《Kalman Filter for Beginners: with MATLAB Examples》。
Kalman filter extended Kalman filter error-state Kalman filter unscented Kalman filter particle Kalman filter
雖然是observer,但是原始作者取名filter。 畢竟當時observer這個詞彙尚未流行。
LTI state-space system: ⎰ x[n+1] = A x[n] + B u[n] ⎱ y[n] = C x[n] + D u[n]
使用測量儀器h,時時收集數據y,時時推敲現況x。推定現況是自迴歸系統f,合乎自然規律。自創測量儀器是系統h,合乎電路原理。根據結果,推敲原因,此行為稱作「線性二次估計linear quadratic estimation」。
未知因:ARMA model 已知業:state-space model 已知果:output signal 未知輸入(因)已知函數(業)已知輸出(果),求因。 精髓:果的誤差,通過反濾波器,用以修正因。
遞迴數列作為系統的輸入。 求解。求得原本遞迴數列。
resolution: ⎰ f(?) = ? +⃡ 1 , find x
⎱ h(?) = y
輸出誤差,通過反系統,得到輸入誤差,用以修正輸入。
為什麼要大費周章,將觀察值的誤差通過反系統,而不是直截了當,將觀察值通過反系統?我也不清楚。
h(x) = y
狀態 x₀ x₁ x₂ ... 未知(線性遞迴數列)
函數 h₀ h₁ h₂ ... 已知(數列每一項皆有一個函數)
觀察 y₀ y₁ y₂ ... 已知(數列每一項皆有一個輸出)
狀態是自迴歸模型 xₙ = f(xₙ₋₁, xₙ₋₂, ..., xₙ₋ₖ)
xₙ = a₁xₙ₋₁ + a₂xₙ₋₂ + ... + aₚxₙ₋ₖ
函數是平均值移動模型 yₙ = hₙ(xₙ, xₙ₋₁, xₙ₋₂, ..., xₙ₋ₚ)
yₙ = bₙ₀xₙ + bₙ₁xₙ₋₁ + ... + bₙₚxₙ₋ₚ
函數可以一樣 h₀ = h₁ = h₂ = ...
從 x₁ 開始一個一個算到 xᵢ,現在要算 xᵢ 是多少:
1. x̂ᵢ = f(xᵢ₋₁) x 數列估計下一項。 (x₀ = 0)
此處以一階函數為例。
2. ŷᵢ = hᵢ(x̂ᵢ) y 數列估計下一項。
盜版 ŷᵢ 通常不等於正版 yᵢ。
這表示 x̂ᵢ 不夠準,需要修正。
3. kᵢ⁻¹ 求得誤差的反系統 kᵢ⁻¹。稱作Kalman gain。
kᵢ(x̂ᵢ - xᵢ) = (ŷᵢ - yᵢ)
(1) pᵢ = (x̂ᵢ - xᵢ)² 為了計算反系統,需要 xᵢ 的誤差的平方。
= cov(x̂ᵢ - xᵢ) 即是誤差的covariance。
sᵢ = (ŷᵢ - yᵢ)² 不過由於我們還沒求出 xᵢ,所以不能這樣算。
= cov(ŷᵢ - yᵢ)
(2) p̂ᵢ = f²(pᵢ₋₁) p 數列估計下一項。 (p₀ = 0)
= f pᵢ₋₁ fᵀ 原理是 Var[k⋅X] = k² ⋅ Var[X]。
(3) ŝᵢ = hᵢ²(p̂ᵢ) s 數列估計下一項。
= hᵢ p̂ᵢ hᵢᵀ 如果 f h 各有誤差項:常態分布 q r,平均數0。
那麼 p̂ᵢ ŝᵢ 各加上 var(q) var(r)。
(4) kᵢ⁻¹ = p̂ᵢ hᵢᵀ ŝᵢ⁻¹ 反系統是變異數的比值。這是什麼鬼啦?
4. xᵢ = x̂ᵢ - kᵢ⁻¹(ŷᵢ - yᵢ) 修正 x。
yᵢ 的誤差,通過反系統,還原成 xᵢ 的誤差。
x̂ᵢ 補上誤差,答案就對了。
5. pᵢ = p̂ᵢ - kᵢ⁻²(ŝᵢ) 修正 p。
= p̂ᵢ - kᵢ⁻¹ ŝᵢ kᵢ⁻¹ᵀ
system functionality — controller🚧
controller
topics
(1) 系統名稱:LTI system
控制器名稱:PID controller
數學工具:Laplace transform
主題名稱:feedback control
(2-1) 系統名稱:LTI state-space system
觀測器名稱:linear quadratic estimator (Kalman filter)
數學工具:linear least squares
主題名稱:optimal estimation
(2-2) 系統名稱:LTI state-space system
控制器名稱:linear quadratic regulator/tracker
數學工具:quadratic optimization
主題名稱:optimal control
optimal control
系統:state-space model。 參考訊號:無、步進函數、自訂函數、state-space model。 觀測器:Kalman filter。 控制器:P controller、PID controller。 目標函數:二次型、凸函數。 約束條件:自訂。 最佳化演算法:梯度下降法、牛頓法、線性規劃、動態規劃。 優點:為所欲為。想到什麼條件,都可以放進來。 缺點:難以控制收斂速度,甚至不會收斂。 不即時得到最佳解,甚至不確定得到最佳解。 上個世紀,最佳控制曾經搞到噴射機失事。 大家研判這種作法行不通,導致最佳控制發展停滯。 現在教科書只會介紹linear quadratic control: state-space model、無視參考訊號、P controller、二次型。 然後推導其公式解。
linear quadratic control
separation principle: optimal feedback controller = optimal observer + optimal controller
observer: linear quadratic estimator (Kalman filter) controller: linear quadratic regulator/tracker (LQR/LQT)
linear quadratic control: PD controller linear quadratic integral control: PID controller linear quadratic Gaussian control: noise
linear quadratic regulator
Hamilton–Jacobi–Bellman equation / algebraic Riccati equation
⎰ x⃗[n+1] = A x⃗[n] + B u⃗[n] ⎱ y⃗[n] = C x⃗[n] + D u⃗[n] 沒有D u⃗[n],容易推導公式解。 擁有D u⃗[n],目標函數有交叉項,使用配方法求得公式解。 簡單起見,教科書讓D = 0。
多目標最佳化:同時最佳化輸入訊號的成本、輸出訊號的成本。
二次型最佳化:方便尋找公式解。
每個時刻加總。
目標函數格式如下,其中Q和R是對稱半正定矩陣:
V(n) = sum { u[n]ᵀ Q u[n] + y[n]ᵀ R y[n] }
n=1⋯k
利用y⃗[n] = C x⃗[n]
輸出訊號y改寫成內部狀態x和輸入訊號u。
目標函數格式如下:
V(n) = sum { x[n]ᵀ Q x[n] + u[n]ᵀ R u[n] }
n=1⋯k
利用u = -K x
輸入狀態u改寫成內部訊號x,其中K未知待求。
二次型相加仍是二次型。
目標函數格式如下,其中P未知待求:
V(n) = sum { x[n]ᵀ P x[n] }
n=1⋯k
兩種解法:
(1) Lagrange multiplier
https://math.stackexchange.com/questions/3119575/
(2) Hamilton–Jacobi–Bellman equation
https://math.stackexchange.com/questions/3776909/
解法一直截了當但是冗長。
解法二旁門左道但是簡潔。
教科書採用解法二。
公式解
u[n] = -(BᵀP[n+1]B+R)⁻¹(BᵀP[n+1]A) x[n]
P[n-1] = AᵀP[n]A - (AᵀP[n]B)(BᵀP[n]B+R)⁻¹(BᵀP[n]A) + Q
當無窮時間k=∞且趨近穩態P[n] = P[n+1]
u = -(BᵀPB+R)⁻¹(BᵀPA) x[n]
P = AᵀPA - (AᵀPB)(R+BᵀPB)⁻¹(BᵀPA) + Q
discrete-time linear quadratic regulator: P = AᵀPA - (AᵀPB)(R+BᵀPB)⁻¹(BᵀPA) + Q K = -(BᵀPB+R)⁻¹(BᵀPA) u = -Kx[n] x[n+1] = A x[n] + B u[n] = (A-BK)x[n] continuous-time linear quadratic regulator: P has no closed-form K = R⁻¹BᵀP u = -Kx dx/dt = (A-BK)x
線性非時變系統:公式解。二次函數的最小值位於一次微分等於零的地方。 線性時變系統:動態規劃。從表格當中找到最小值。 需要反向代入/反向查表,找到每個時刻的最佳解。 如果目標函數的時間區間很長,那麼反向代入/反向查表需要很久。 沒有辦法馬上得到當前時刻的最佳解。
訊號學家自創一個詞彙Hamilton–Jacobi–Bellman equation。 Hamilton-Jacobi equation源自物理學。它是辛動態系統的一個關係式。 作用量,恰好符合目標函數的格式。 一次微分,恰好符合極值所在之處。 我感覺有點牽強就是了。 Bellman's equation源自應用數學。它是最佳化的一種演算法。 目標函數改寫成遞迴公式,藉由線性化(一階泰勒近似)。 Hamilton是辛動態系統發明人。 Bellman是動態規劃發明人。
訊號學家自創一個詞彙algebraic Riccati equation。 Riccati equation源自數學。它是一種二階微分方程式。 推導HJE equation的公式解,推導過程出現Riccati equation。 我感覺有點牽強就是了。
Sylvester equation / Lyapunov equation
矩陣方程式,常見的最佳化問題的解。
system design🚧
control system design
專著《Control System Design》。
theorem / principal / criterion
separation principle certainty equivalence principle internal model principle Kalman decomposition
internal model principle feedback control use internal state x instead of output y A control system can perfectly track a reference signal or completely reject a disturbance only if the controller contains an internal model of that signal or disturbance. https://en.wikipedia.org/wiki/Internal_model_(motor_control)
NP-hardness of some linear control design problems https://web.mit.edu/jnt/www/Papers/J067-97-vb-contr.pdf