LMI(线性矩阵不等式)工具箱介绍学习
LMI:Linear Matrix Inequality,就是线性矩阵不等式。
在Matlab当中,我们可以采用图形界面的lmiedit命令,来调用GUI接口,但是我认为采用程序的方式更方便(也因为我不懂这个lmiedit的GUI)。
对于LMI Lab,其中有三种求解器(solver): feasp,mincx和gevp。每个求解器针对不同的问题:
feasp:解决可行性问题(feasibility problem),例如:A(x)
mincx:在线性矩阵不等式的限制下解决最小化问题(Minimization of a linear objective under LMI constraints),例如最小化c'x,在限制条件A(x) < B(x)下。
gevp:解决广义特征值最小化问题。例如:最小化lambda,在0
要解决一个LMI问题,首要的就是要把线性矩阵不等式表示出来。对于以下类型的任意的LMI问题
N' * L(X1, . . . , XK) * N < M' * R(X1, . . . , XK) * M
其中X1, . . . , XK是结构已经事先确定的矩阵变量。左侧和右侧的外部因子(outer factors)N和M是给定的具有相同维数的矩阵。
左侧和右侧的内部因子(inner factors)L(.)和R(.)是具有相同结构的对称块矩阵。每一个块由X1, . . . , XK以及它们的转置组合而成形成的。解决LMI问题的步骤有两个:
1、定义维数以及每一个矩阵的结构,也就是定义X1, . . . , XK。
2、描述每一个LMI的每一项内容(Describe the term content of each LMI)此处介绍两个术语:
矩阵变量(Matrix Variables):例如你要求解X满足A(x)
项(Terms):项是常量或者变量(Terms are either constant or variable)。常项(Constant Terms)是确定的矩阵。可变项(Variable Terms)是哪些含有矩阵变量的项,例如:X*A, X*C'。如果是X*A + X*C',那么记得要把它当成两项来处理。好了废话不说了,让我们来看个例子吧(下面是一线性时滞系统)。 500)this.width=500;" border=0>
针对这个式子,如果存在满足如下LMI的正矩阵(positive-define)的Q,S1,S2和矩阵M,那么我们就称作
该系统为H-inf渐进稳定的,并且gammar是上限。 500)this.width=500;" border=0> 算例为:
500)this.width=500;" border=0>
我们要实现的就利用LMI进行求解,验证论文结果。
首先我们要用setlmis([])命令初始化一个LMI系统。
接下来,我们就要设定矩阵变量了。采用函数为lmivar
语法:X = lmivar(type,struct)
type=1: 定义块对角的对称矩阵。每一个对角块或者是全矩阵<任意对称矩阵>,标量<单位矩阵的乘积>,或者是零阵。
如果X有R个对角块,那么后面这个struct就应该是一个Rx2阶的的矩阵,在此矩阵中,struct(r,1)表示第r个块的大小,struct(r,2) 表示第r个块的类型<1--全矩阵,0--标量,-1--零阵)。
比如一个矩阵有两个对角块,其中一个是2x2的全对称矩阵,第二个是1x1的一个标量,那么该矩阵变量应该表示为X = lmivar(1, [2 1; 1 0]) 。 type=2: mxn阶的矩阵,只需要写作struct = [m,n]即可。
type=3: 其它类型。针对类型3,X的每一个条目(each entry of X)被定义为0或者是+(-)xn,
此处xn代表了第n个决策变量。
那么针对我们的例子,我们如此定义变量:
% Q is a symmetric matrix, has a block size of 2 and this block is symmetric
Q = lmivar(1, [2 1]);
% S1 a symmeric matrix, size 2 S1 = lmivar(1, [2 1]); % S2 is 1 by 1 matrix S2 = lmivar(1, [1 0]) ; % Type of 2, size 1 by 2 M = lmivar(2, [1 2]);
定义完成变量之后,我们就该用lmiterm来描述LMI中的每一个项了。Matlab的官方文档提示我们,如果要描述一个LMI只需要描述上三角或者下三角元素就可以了,否则会描述成另一个LMI。
When describing an LMI with several blocks, remember to specify only the terms in the bloc ks on or below the diagonal (or equivalently, only the terms in blocks on or above the diagonal).
语法为:lmiterm(termID,A,B,flag)
termID是一个四维整数向量,来表示该项的位置和包含了哪些矩阵变量。
termID(1)可以为+p或者-p,+p代表了这个项位于第p个线性矩阵不等式的左边,-p代表了这个项位于第p个线性矩阵不等式的右边。注意:按照惯例来讲,左边通常指较小的那边。 termID(2:3):
1、对于外部变量来说,取值为[0,0];
2、对于左边或者右边的内部变量来说,如果该项在(i,j)位置,取值[i,j] termID(4):
1、对于外部变量,取值为0
2、对于A*X*B,取值X
3、对于A*X'*B,取值-X flag(可选,值为s):
因为:(A*X*B) + (A*X*B)T = A*X*B + B'*X'*A',所以采用s来进行简写。比如:针对A*X + X'*A' 我们采用笨方法:
lmiterm([1 1 1 X],A,1) lmiterm([1 1 1 -X],1,A')
那么简写就是lmiterm([1 1 1 X],A,1,'s')
接下来我们就看该论文中的算例吧:(1,1)位置是 -Q+Bd*S2*Bd'+Ad*S1*Ad'; 我们应该表示为: % pos in (1, 1)
lmiterm([1 1 1 Q], -1, 1); lmiterm([1 1 1 S2], Bd, Bd'); lmiterm([1 1 1 S1], Ad, Ad');
其它位置仿照写就行了,不懂了多看帮助文档。把每一个项都定义以后,要记得 lmis = getlmis;
[tmin, feas] = feasp(lmis)
getlmis:是在完成定义变量和项之后,LMI系统的内部表示就可以通过此命令获得(After completing the description of a given LMI system with lmivar and lmiterm, its internal rep resentation lmisys is obtained with the command)。 feasp是调用feasp求解器,看有没有可行解。feas就是可行解。下面我把代码贴上去,那些常数矩阵都在此源程序中定义了。 A = [2 1; 0 1]; Ad = [0.2 0.1; 0 0.1]; B1 = [0.1 0.1]'; B2 = [1 1]'; Bd = [0.1 0.1]'; C = [1, 1]; Cd = [ 0.1, 0.1]; D11 = 0.1;
D12 = 1; Dd = 0.1; gammar = 1;
% Initial a LMI system setlmis([]); % Define Variables
% Q is a symmetric matrix, has a block size of 2 and this block is symmetric Q = lmivar(1, [2 1 ]);
% S1 a symmeric matrix, size 2 S1 = lmivar(1, [2 1]); % S2 is 1 by 1 matrix S2 = lmivar(1, [1 0]) ; % Type of 2, size 1 by 2 M = lmivar(2, [1 2]); % Q, S1, S2 > 0 lmiterm([-2 1 1 Q], 1, 1); lmiterm([-3 1 1 S1], 1, 1); lmiterm([-4 1 1 S2], 1, 1); % pos in (1, 1)
lmiterm([1 1 1 Q], -1, 1); lmiterm([1 1 1 S2], Bd, Bd'); lmiterm([1 1 1 S1], Ad, Ad'); % pos (1, 2
)
lmiterm([1 1 2 Q], A, 1); lmiterm([1 1 2 M], B2, 1); % pos(1, 3)
lmiterm([1 1 3 0], B1);
% pos(1, 4)
lmiterm([1 1 4 S2], Bd, Dd'); lmiterm([1 1 4 S1], Ad, Cd'); % pos(2, 2)
lmiterm([1 2 2 Q], -1, 1); % pos(2, 4)
lmiterm([1 2 4 Q], 1, C'); lmiterm([1 2 4 -M], 1, D12'); % pos(2, 5)
lmiterm([1 2 5 -M], 1, 1); % pos(2, 6)
lmiterm([1 2 6 Q], 1, 1); % pos(3, 3)
lmiterm([1 3 3 0], -(gammar^2)); % pos(3, 4)
lmiterm([1 3 4 0], D11'); % pos(4, 4)
lmiterm([1 4 4 0], -1); lmiterm([1 4 4 S1], Cd, Cd'); lmiterm([1 4 4 S2], Dd, Dd'); lmiterm([1 5 5 S2], -1, 1); lmiterm([1 6 6 S1], -1, 1); lmis = getlmis;
[tmin, feas] = feasp(lmis)
运行后,就调用dec2mat把决策变量转化为矩阵形式。
Q = dec2mat(lmis, feas, Q) Q =
1.9253 -
2.2338 -2.2338 9.1054
《矩阵的秩的等式及不等式的证明》
摘要 矩阵的秩是矩阵的一个重要特征,它具有许多的重要性质.本文总结归纳出了有关矩阵的秩的等式和不等式命题,以及证明这些命题常用的证明方法,即从向量组、线性方程组、线性空间同构、矩阵分块、矩阵初等变换等角度给出多种证明方法.本文主要解决以下几个问题:用矩阵已知的秩的理论证明矩阵秩的等式和不等式问题;用线性空间的方法证明矩阵秩的等式和不等式问题;用向量组秩的理论证明矩阵秩的等式和不等式问题;用矩阵分块法证明秩的等式和不等式问题.
目录 第一章绪论 (1) 第二章预备知识 (2) 第三章用矩阵的秩的理论证明秩的等式和不等式 (3) 第四章用线性空间的理论证明秩的等式和不等式 (6) 第五章用向量组秩的理论证明秩的等式和不等式 (10) 第六章用矩阵分块法证明秩的等式和不等式 (15) 第七章小结 (23) 参考文献 (24) 致谢 (25)
第一章绪论 矩阵的秩是矩阵的一个重要特征,是矩阵理论中研究的一个重要内容,它具有许多的重要性质.研究矩阵的秩对于解决矩阵的很多问题具有重要意义.矩阵的秩的等式及不等式的证明对于学习矩阵也是重点和难点,初学者在做这方面的题目往往不知如何下手.笔者归纳了矩阵的秩的常见等式和不等式以及与之相关的一些结论,并从向量组、线性方程组、矩阵分块、矩阵初等变换等角度探索了多种证明方法,它有助于学习者加深对秩的理解和知识的运用,也方便教师教学. 目前对矩阵秩的研究已经比较成熟了,但是由于秩是矩阵论里的一个基本而重要的概念,它仍然有着重要的研究价值,有关它的论文时见报端.很多国内外的有关数学书籍杂志对矩阵的秩都有讲述,如苏育才、姜翠波、张跃辉在《矩阵论》(科学出版社、2006年5月出版)中较完整地给出了矩阵秩的理论.北京大学数学系前代数小组编写的《高等代数》(高等教育出版社,2003年7月出版)也介绍了秩的一些性质.但是对秩的等式及不等式的介绍都比较分散,不全面也没有系统化,不方便初学者全面掌握秩的性质.因此有必要对矩阵的秩的等式和不等式进行一个归总,便于学习和掌握. 本文通过查阅文献资料,总结归纳出有关矩阵的秩的等式和不等式命题,以及证明这些命题常用的证明方法,从向量组、线性方程组、线性空间同构、矩阵分块、矩阵初等变换等角度给出多种证明方法.主要内容有:(1)用矩阵已知的秩的理论证明矩阵秩的等式和不等式问题;(2)用线性空间的方法证明矩阵秩的等式和不等式问题;(3)用向量组秩的理论证明矩阵秩的等式和不等式问题;(4)用矩阵分块法证明秩的等式和不等式问题.
矩阵秩重要知识点总结_考研必看
一. 矩阵等价 行等价:矩阵A 经若干次初等行变换变为矩阵B 列等价:矩阵A 经若干次初等列变换变为矩阵B 矩阵等价:矩阵A 经若干次初等行变换可以变为矩阵B ,矩阵B 经若干次初等行变换可以变成矩阵A ,则成矩阵A 和B 等价 矩阵等价的充要条件 1. 存在可逆矩阵P 和Q,PAQ=B 2. R(A)=R(B) 二. 向量的线性表示 Case1:向量b r 能由向量组A 线 性表示: 充要条件: 1.线性方程组A x r =b 有解 (A)=R(A,b) Case2:向量组B 能由向量组A 线性表示 充要条件: R(A)=R(A,B) 推论 ∵R(A)=R(A,B),R(B) ≤R(A,B) ∴R(B) ≤R(A) Case3:向量组A 能由向量组B 线性表示 充要条件: R(B)=R(B,A) 推论 ∵R(B)=R(A,B),R(A) ≤R(A,B) ∴R(A) ≤R(B) Case4:向量组A 和B 能相互表示,即向量组A 和向量组B 等价 充要条件: R(A)=R(B)=R(A,B)=R(B,A) Case5:n 维单位坐标向量组能由矩阵A 的列向量组线性表示 充要条件是: R(A)=R(A,E)
n=R(E)<=R(A),又R(A)>=n ,所以R(A)=n=R(A,E) 三. 线性方程组的解 1. 非齐次线性方程组 (1) R(A)=R(A,B),方程有解. (2) R(A)=R(A,B)=n ,解唯一. (3) R(A)=R(A,B) 1 矩阵秩的基本不等式 定理1:设,m n A R ∈,,n s B R ∈,则{}()()()min (),()r A r B n r AB r A r B +-≤≤。 证明:由于0Bx =的解一定是0ABx =的解,因此0Bx =的基础解系为0ABx =的基础解系的一部分。于是,()()s r B s r AB -≤-,即()()r AB r B ≤。 ()()()()()()T T T T r AB r AB r B A r A r A ==≤=。 这样,我们就证明了()()r AB r A ≤,()()r AB r B ≤,故{}()min (),()r AB r A r B ≤。 我们假设1x ,2x ,……,()s r B x -,()1s r B x -+,……,()s r AB x -为0ABx =的基础解系。其中,0i Bx =,1()i s r B ≤≤-;0j Bx ≠,()1()s r B j s r AB -+≤≤-。 下面,我们来证明向量组{} ()()1 s r AB j j s r B Bx -=-+是线性无关的。事实上,假设数j k , ()1()s r B j s r AB -+≤≤-,使得 ()()1 ()s r AB j j j s r B k Bx -=-+∑ ,于是() ()1 0s r AB j j s r B B x -=-+=∑ 。 这样, () ()1 0s r AB j j s r B x -=-+=∑ 为0Bx =的解。于是,存在数j k ,1()j s r B ≤≤-,使得 ()() ()1 1 ()s r AB s r B j j j j s r B j x k x --=-+== -∑ ∑,即()1 0s r AB j j j k x -==∑ 。由于向量组{} ()1 s r AB j j x -=线性无关,因 此,0j k =,()1()s r B j s r AB -+≤≤-。于是,向量组{}() ()1 s r AB j j s r B Bx -=-+线性无关。 又由于()0j j A Bx ABx ==,()1()s r B j s r AB -+≤≤-,因此{}() ()1 s r AB j j s r B Bx -=-+为 0Ax =的基础解系的一部分。于是, []()()11()()()s r AB s r B r B r AB n r A ---++=-≤- 即()()()r AB r A r B n ≥+-。 推论1:若,m n A R ∈,,n s B R ∈满足0AB =,则()()r A r B n +≤。 证明:0()()()r AB r A r B n =≥+-,于是()()r A r B n +≤。 LMI:Linear Matrix Inequality,就是线性矩阵不等式。 在Matlab当中,我们可以采用图形界面的lmiedit命令,来调用GUI接口,但是我认为采用程序的方式更方便(也因为我不懂这个lmiedit的GUI)。 对于LMI Lab,其中有三种求解器(solver):feasp,mincx和gevp。 每个求解器针对不同的问题: feasp:解决可行性问题(feasibility problem),例如:A(x) 矩阵的秩的相关不等式的归 纳小结 -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII 矩阵的秩的相关不等式的归纳小结 林松 (莆田学院数学系,福建,莆田) 摘要:利用分块矩阵,证明一些矩阵的秩的相关不等式,观察矩阵在运算后秩的变化,归纳出常见的有关矩阵的秩的不等式,由此引出等式成立的条件。 关键词:矩阵的秩,矩阵的初等变换 引言:矩阵的秩是指矩阵中行(或列)向量组的秩,与之等价的说法通常是指矩阵中不为零的子式的最高阶数,是矩阵最重要的数字特征之一。利用分块矩阵,把子式看成元素,可将高阶矩阵的运算化为较低阶矩阵的运算,也为矩阵的秩的一些常见不等式的证明带来了方便。本文将讨论矩阵的秩的一些常见不等式,并由此引出一些秩的不等式等号成立的等价条件。 一基本的定理 1 设A是数域P上n m ?矩阵,于是 ?矩阵,B是数域上m s 秩(AB)≤min [秩(A),秩(B)],即乘积的秩不超过个因子的秩 2设A与B是m n ?矩阵,秩(A±B)≤秩(A)+秩(B) 二常见的秩的不等式 1 设A与B为n阶方阵,证明若AB = 0,则 r(A) + r(B) ≤ n 证:设r(A) = r,r(B )= s,则由AB = 0,知,B的每一列向量都是以A为系数方阵的齐次线性方程组的解向量。 当r = n时,由于该齐次方程组只要零解,故此时 B = 0,即此时r(A) = n,r(B) = 0,结论成立。 当r〈 n 时,该齐次线性方程组的基础解系中含n-r个向量, 从而B 的列向量组的秩≤n-r,即r (B )≤ n-r 所以 r(A) + r(B) ≤ n 2设A 为m n ?矩阵,B 为n s ?矩阵,证明不等式r(AB)≤r(A)+r(B)-n 证:设E 为n 阶单位矩阵, S E 为S 阶单位方阵,则由于 000S E B A AB A E E E B ??????= ? ? ?-?????? 而 0S E B E ?? ?-?? 可逆,故 r(A)+r(B) ≥ 秩 0A E B ?? ? ?? =秩 0A AB E ?? ???=秩 0 0AB E ?? ??? =r(AB)+r(E) =r(AB)+n 从而r(AB) ≥ r(A) + r(B) - n 3设A ,B 都是n 阶方阵,E 是n 阶单位方阵,证明 秩(AB-E )≤秩(A-E )+秩(B-E ) 证:因为0A E B E B E --?? ? -??00B E ?? ???00AB E B E -?? = ?-?? 故秩(AB-E )≤秩00AB E B E -?? ?-??≤秩0A E B E B E --?? ?-?? =秩(A-E )+秩(B-E ) 因此 秩(AB-E )≤秩(A-E )+秩(B-E ) 4 设A ,B ,C 依次为,,m n n s s t ???的矩阵,证明 r(ABC) ≥ r(AB) + r(BC) - r(B) 一、线性矩阵不等式的LMI 工具箱求解 (一)可行性问题(LMIP ) 1、可行性问题描述 系统状态方程: []11223301000210-4014x x x x u x x ????????????????=-+????????????????-???????? &&& 在判断系统的稳定性时,根据线性定常系统的雅普诺夫稳定性判据,需要判断是否存在实对称矩阵P ,使得: T A P+PA=Q - 成立,其中Q 为正定矩阵。 那么判断系统稳定性的问题,可以转化为下面不等式是否存在解的问题: T A P+PA<0 这种不等式解是否存在的问题可以用MATLAB 的LMI 工具箱进行判断。 2、仿真所需要用到的命令 setlmis([]) :开始一个线性矩阵不等式系统的描述; X= lmivar(TYPE,STRUCT):定义一个新的矩阵变量; lmiterm(TERMID,A,B,FLAG):确定线性矩阵不等式的一个项的容; LMISYS = getlmis :结束一个线性矩阵不等式系统的描述,返回这个现行矩阵不等式系统的部表示向量LMISYS ; X = dec2mat(LMISYS,DECV ARS,XID):由给定的决策变量得到相应的矩阵变量值。 [tmin,xfeas]=feasp(lmisys):可行性问题的求解器函数,tmin大于0时,表明LMI系统不可行,P阵无解,系统不稳定,tmin小于0时,便可以用dec2mat函数求解出P矩阵。 3、仿真结果 可以看到,仿真结果tmin<0,因此P阵存在,系统是稳定的。进一步用dec2mat函数求解出P矩阵。得: 第五节:矩阵的秩及其求法 一、矩阵秩的概念 1. k 阶子式 定义1 设 在A 中任取k 行k 列交叉处元素按原相对位置组成的 阶行列式,称为A 的一个k 阶子式。 例如 共有 个二阶子式,有 个三阶子式 矩阵A 的第一、三行,第二、四列相交处的元素所构成的二阶子式为 而 为 A 的一个三阶子式。显然, 矩阵 A 共有 个 k 阶子式。 2. 矩阵的秩 定义2 设 有r 阶子式不为0,任何r +1阶子式(如果存在的话)全 为0 , 称r 为矩阵A 的秩,记作R (A )或秩(A )。 规定: 零矩阵的秩为 0 . 注意:(1) 如 R ( A ) = r ,则 A 中至少有一个 r 阶子式 所有 r + 1 阶子式为 0,且更高阶子式均为 0,r 是 A 中不为零的子式的最高阶数,是唯一的 . (2) 有行列式的性质, (3) R(A ) ≤m , R (A ) ≤n , 0 ≤R (A ) ≤min { m , n } . (4) 如果 An ×n , 且 则 R ( A ) = n .反之,如 R ( A ) = n ,则 因此,方阵 A 可逆的充分必要条件是 R ( A ) = n . 二、矩阵秩的求法 1、子式判别法(定义)。 例1 设 为阶梯形矩阵,求R (B )。 解 由于 存在一个二阶子式不为0,而任何三阶子式全为0,则 R (B ) = 2. 结论:阶梯形矩阵的秩=台阶数。 例如 一般地,行阶梯形矩阵的秩等于其“台阶数”—— 非零行的行数。 () n m ij a A ?={}),min 1(n m k k ≤≤? ? ??? ??----=1 10145641321A 182423=C C 43334=C C 101 22--= D 1 0156 43213-=D n m ?k n k m c c () n m ij a A ?=0, r D ≠()(). T R A R A =0,A ≠0.A ≠??? ? ? ??=000007204321B 0 2 021≠????? ??=010*********A ????? ??=001021B ???? ? ??=100010011C 125034000D ?? ? = ? ? ??2 123508153000720 000 0E ?? ? ?= ? ??? ()3=A R ()2=B R ()3=C R ()2R D =()3 R E =矩阵秩的基本不等式
LMI(线性矩阵不等式)工具箱
矩阵的秩的相关不等式的归纳小结
线性矩阵不等式的LMI工具箱求解
矩阵的秩及其求法
矩阵不等式的扩充与某些性质