[고등자동제어] Lyapunov's Direct Method (5) - Solving Lyapunov equation

2021. 1. 24. 17:38·연구 Research/제어 Control

이것 때문에 글을 5개나 쓸 줄은 몰랐는데.. 글이 길어지면 점점 내용을 세부적으로 찾을 때, 찾기 어려워지는 것 같아서

좀 더 잘게 쪼개서 올리려고 합니다.

 

 

 


Lyapunov equation 풀기

 

 

$A^{T}P+PA=-Q\text{, where }A\in R^{2\times 2}$ 인 문제를 생각해봅시다.

 

$A=\begin{bmatrix} a_{11} & a_{12}\\  a_{21} & a_{22} \end{bmatrix}$

$P=\begin{bmatrix} a_{11} & a_{12}\\  a_{21} & a_{22} \end{bmatrix}$

$Q = \begin{bmatrix} q_{11} & q_{12}\\  q_{21} & q_{22} \end{bmatrix}$

 

으로 두고 Lyapunov equation을 정리하겠습니다.

 

그림에서 위 내용은 lyapunov equation을 4 by 4 matrix로 바꿔놓은 것이고, 아래 내용은 이 식에서 앞서 본 예시들 중 unstable한 case를 대입해본 것입니다.

위의 4 by 4 matrix에서 알 수 있는 것은, 만약 Q가 symmetric matrix라면 (즉 $q_{21}=q_{12}$라면) P도 symmetric matrix라는 것입니다. $p_{21}=p_{12}$

 

또 $\begin{bmatrix} 2a_{11} & a_{21} & a_{21} & 0 \\  a_{12} & a_{11}+a_{22} & 0 & a_{21}\\  a_{12} & 0 & a_{11}+a_{22} & a_{21}\\  0 & a_{12} & a_{12} & 2a_{22} \end{bmatrix}$ 이 matrix를 $L_{A}$라고 할 때 $L_{A}$ matrix가 nonsingular해야, Q를 만족하는 P가 존재함을 알 수 있습니다.

 

$L_{A}$가 nonsingular하다는 것은 곧, invertible이므로 양변에 $L_{A}^{-1}$를 곱해주면 되기 때문입니다.

 

한편, 그림의 아래 부분처럼 unstable한 경우에도 $L_{A}$이 nonsingular일 수도 있다는 것을 확인했습니다.

 

 

이제 이 $L_{A}$ matrix를 sylvester matrices로 알려진 형태로 표현하겠습니다.

 

 


# 참고 Kronecker product $\bigotimes$

 

 


$L_{A}=\{A^{T}\otimes I +I\otimes A^{T}\}\in R^{n^{2}\times n^{2}}$

$\text{There is a unique solution P iff }L_{A}\text{ is nonsingular.}$

 

따라서 $L_{A}$가 nonsingular인지 아닌지가 중요합니다.

 

위 식은 A의 차원이 $R^{2\times 2}$으로 제한되어 있으므로 일반화하기는 어렵습니다. 따라서, 이번에는 차원을 확장해서 $L_{A}$가 nonsingular하다는 것이 중요함을 보이겠습니다.

 

 

 

matrix equation : $XA+BX=C$

$\text{, where A,B,C, and X are }m\times m, n\times n, n\times m\text{ and }n\times m \text{real or complex matrics}$

 

다음과 같은 matrices가 있을 때 위에서 2 by 2 matric를 변형한 것처럼, 이번에도 각 matrix를 벡터화시키겠습니다.

 

 

각 차원을 변형한 최종 공식은 밑에 나온 $\{A^{T}\otimes I_{n}+I_{m}\otimes B\}(X)=(C)$입니다.

 

최종 차원은 $\{(mn\times mn)+(mn \times mn)\}(mn\times 1)=(mn\times 1)$

입니다.

처음에 2 by 2 matrix를 4 by 1 matrix 로 바꾼 것과 동일한 과정입니다.

이 과정들을 통해서 결국에는 $\{A^{T}\otimes I_{n}+I_{m}\otimes B\}$가 nonsingular일 때, 즉 determinant가 0이 아닐 때 unique solution을 구할 수 있습니다. (singular라고 해서 solution이 아예 없다고 볼 수는 없습니다. 다만 unique solution이 아니라 solution이 여러 개입니다.) 또한 이 말 곧, $\{A^{T}\otimes I_{n}+I_{m}\otimes B\}$의 eigenvalues 중 0이 포함되어 있지 않다는 뜻입니다.

 

따라서 lyapunov equation의 solution은 $\{A^{T}\otimes I_{n}+I_{m}\otimes B\}$의 eigenvalue를 확인하는 문제로 넘어갑니다.

 


그렇다면 $\{A^{T}\otimes I_{n}+I_{m}\otimes B\}$의 eigenvalues는 어떻게 구할 수 있을까요?

직접 계산한다면 좋겠지만, mn by mn matrix는 매우 크기가 클 수도 있기 때문에 쉽지 않아보입니다.

 

 

$\textbf{Theorem : eigenvalues of }\{A^{T}\otimes I_{n}+I_{m}\bigotimes B\}, \eta_{l}$

$\eta_{l}=\lambda_{i}+\mu_{j}, i=1,2,\cdots \text{ and }j=1,2,\cdots,n$

$\text{where }\lambda_{i}'s\text{ and }\mu_{j}'s\text{ are the eigenvalues of A and B, respectively}$

 

이 theorem에서 우리는 $\{A^{T}\otimes I_{n}+I_{m}\otimes B\}$ matrix의 eigenvalues가 $A$와 $B$의 각 eigenvalues들의 combination임을 알 수 있습니다.

 

 

즉, $A^{T}u_{i}=\lambda_{i}u_{i}\text{, }A{ and }A^{T}\text{ have same eigenvalues}$

$Bv_{j}=\mu_{j}v_{j}$일 때 

 

$w$와 $u_{i}$를 정의하겠습니다.

 

$\underbrace{w}_{mn\times1}=\underbrace{w}_{mn\times1} \begin{bmatrix} u_{i1}\overbrace{v_{j}}^{n\times1}\\  u_{i2}v_{j}\\  \vdots\\  u_{im}v_{j} \end{bmatrix}$

$u_{i}=\begin{bmatrix} u_{i1}\\  u_{i2}\\  \vdots\\  u_{im} \end{bmatrix}$

 

$A^{T}u_{i}=\lambda_{i}u_{i}$, $\{A^{T}\otimes I_{n}\}w=\lambda_{i}w$

$Bv_{j}=\mu_{j}v_{j}$, $\{I_{m}\times B\}w=\mu_{j}w$

$\Rightarrow $

 

$\{A^{T}\otimes I_{n}+I_{m}\otimes B\}w=(\lambda_{i}+\mu_{j})w$

 

즉, $\lambda_{i}$와 $\mu_{j}$의 combination이 바로 $\{A^{T}\otimes I_{n}+I_{m}\otimes B\}$의 eigenvalues입니다.

 

그런데 실제 Lyapunov equation에서 구한 $L_{A}$이 eigenvalues은 $A$와 $B$의 eigenvalues의 조합이 아닌 $A$와 $A^{T}$의 eigenvalues의 조합이므로, 사실 상 행렬 1개의 eigenvalue로 만들 수 있는 조합입니다.

 

이를 통해서 알 수 있는 사실이 있습니다.

 

$\textbf{Theorem }$

$\text{If all the eigenvalues of A have negative real parts, then for any P.D. Q, }$

$\text{there exists a unique solution P that satisfies the Lyapunov equation, }$

$A*P+PA=-Q$ $\text{If }A\in R^{n\times n}, A^{T}P+PA=-Q$

 

당연하게도 A의 eigenvalues의 real part가 모두 음수라면 그 조합 역시 음수 밖에 나올 수 없으므로

$L_{A}$는 nonsingular(모든 eigenvalue들이 0이 아닐 때)입니다.

 

그러나 역은 성립하지 않는다는 점을 기억해둡시다.

unique solution, $P$가 존재하더라도 A의 모든 eigenvalues의 real part가 음수인 것은 아닙니다. 즉, A가 stable하다는 것이 보장되지는 않습니다.

 

 

  • 의문점

unstable하다해도 P를 구할 수 있을 때가 존재합니다. 이 때 P가 positivie definite가 아니면, unstable이라고 결론을 내리는 데요,

어떻게 항상 P가 positive definite가 아닐까요?

 

간단하게 생각을 해보면, 앞에서 본 theorem에서 (normal-engineer.tistory.com/52)

 

 

라고 했으므로, P가 positive definite가 아니면, 당연히 globally stable이 아니므로 unstable하다고 결론을 내릴 수 있습니다.

 

 


examples)

 

$L_{A}$의 eigenvalues들을 구한 것이 $\mu_{1},\mu_{2},\mu_{3},\mu_{4}$ 입니다.

이 중에서 0이 있으면 solution이 없습니다.

 

 

'연구 Research > 제어 Control' 카테고리의 다른 글

[고등자동제어] Lyapunov stability in Discrete Time  (0) 2021.02.17
[제어] Dynamic programming - Richard Bellman  (0) 2021.02.10
[고등자동제어] Lyapunov's Direct Method (4) - Lyapunov equation  (0) 2021.01.24
[고등자동제어] Lyapunov's Direct Method (3) - Lyapunov function  (0) 2021.01.23
[고등자동제어] Lyapunov's Direct Method (2) - Quadratic function  (0) 2021.01.23
'연구 Research/제어 Control' 카테고리의 다른 글
  • [고등자동제어] Lyapunov stability in Discrete Time
  • [제어] Dynamic programming - Richard Bellman
  • [고등자동제어] Lyapunov's Direct Method (4) - Lyapunov equation
  • [고등자동제어] Lyapunov's Direct Method (3) - Lyapunov function
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (468)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (27)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 실험 Experiment (1)
      • 유학 생활 Daily (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    옵시디언
    생산성
    고체역학
    딥러닝
    텝스
    MATLAB
    수치해석
    LaTeX
    Dear abby
    Statics
    teps
    IEEE
    Linear algebra
    우분투
    텝스공부
    Julia
    Python
    WOX
    JAX
    Zotero
    인공지능
    obsidian
    논문작성법
    서버
    pytorch
    에러기록
    ChatGPT
    논문작성
    Numerical Analysis
    matplotlib
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[고등자동제어] Lyapunov's Direct Method (5) - Solving Lyapunov equation
상단으로

티스토리툴바