数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 1572|回复: 0

通过线性代数来理解李亚普诺夫方程

[复制链接]
发表于 2024-7-30 10:27 | 显示全部楼层 |阅读模式
通过线性代数来理解李亚普诺夫方程

作者:围城里的猫 MathSpark 2024 年 06 月 01 日 08:00 陕西

李雅普诺夫方程是一类很重要矩阵方程,它经常出现在工程领域,像是最优控制,或是稳定性分析之类的,或许我们暂时无法解释它的来源和动机,但纯粹求解这个方程,并不需要多么高深的知识,我们完全可以从线性代数的角度来引入,只不过在此之前需要两个工具:利用 Kronecker 积和矩阵向量化,以此建立 Lyapunov 方程与最简线性方程的联系。

不过要指出的是尽管利用这两个工具,从理论角度很容易求解李亚普诺夫方程,但克罗内克积和矩阵向量化会导致矩阵很大。解法的复杂度大概是 O(n^6) 。在实践中人们几乎不会这样做,因为由更好的算法—— Bartels-Stewart 算法来求解莱雅普诺夫方程,该算法的复杂度为 O(n^3) 。



矩阵计算中的克罗内克积

克罗内克积是矩阵计算中一个著名的运算。虽然克罗内克积的概念在线性代数中并不为人熟知,但该运算在矩阵计算中却很常用。克罗内克积的基本思想很容易理解。例如,如果我们有两个矩阵 A 和 B ,它们的大小分别为 2×2 和 2×3 ,就像这两个矩阵一样:



然后根据克罗内克积的定义,我们可以计算克罗内克积如下,



在这个运算中,我们可以用矩阵 A 中的每个元素乘以矩阵 B 。这样,得到的矩阵的数据大小 4×6 。

重新审视李雅普诺夫方程

如上所述,Lyapunov 方程是一类矩阵方程。形式上,我们可以将其写成



其中 A 和 W 都是已知矩阵,这里的问题是,如果 A 和 W 都已知,如何求出矩阵 X 。一种简单的方法是使用 Kronecker 积和矩阵向量化。矩阵向量化用于将给定矩阵转换为向量。让我们看一个关于矩阵向量化的简单示例:



这是按列矢量化。当然你也可以按行矢量化,这并没有什么本质的区别,事实上,有一个方程可以建立矩阵方程与矢量形式方程之间的联系:



因此,我们可以将 Lyapunov 方程重写为



我们将 AX 看作 AIX ,XA^T 看作 XIA^T ,化简一下得到:



其中 I 表示单位矩阵。而我们知道,这确实是线性方程问题,其解为:



李雅普诺夫方程的一个例子

我们可以使用克罗内克积和矩阵向量化来写出李雅普诺夫方程问题的闭式解。在某些情况下,如果我们想清楚地理解某个方程,可以尝试解决一些简单的例子。比方说下面这个例子:



在这个例子中,根据克罗内克积的定义(请自己尝试一下),我们有



根据矩阵向量化的原理,我们有



因此,X 的解为



以矩阵形式表示,



1892 年李亚普诺在他的博士论文《运动稳定性的一般问题》,文中给出了李亚普诺夫方程的一般性理论,可多年来,他的理论默默无闻,无人关心,无人在意,直到冷战初期开始,他的理论被认为适用于航空航天制导系统的稳定性,这类系统通常包含很强的非线性,其他方法并不适用。大量的相关出版物自那时起开始出现,而他终于也名垂青史。



MathSpark

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-2 22:08 , Processed in 0.095229 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表