李鈞濤,梁聰,湯永
(1.河南師范大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,河南 新鄉(xiāng) 453007;2.新鄉(xiāng)航空工業(yè)(集團(tuán))有限公司,河南 新鄉(xiāng) 453003)
線性方程組已廣泛應(yīng)用于計(jì)算機(jī)科學(xué)、工程科學(xué)等諸多領(lǐng)域[1-2].許多科學(xué)領(lǐng)域中的難題,比如分?jǐn)?shù)階積分微分方程的求解,機(jī)器人的控制方案設(shè)計(jì)等均能簡(jiǎn)化為線性方程組的求解問(wèn)題[3-4].一般而言,線性方程組的求解方法主要有直接法和迭代法.在線性方程組有解的情況下,可以通過(guò)直接法,如對(duì)線性方程組的系數(shù)矩陣進(jìn)行Gauss消元或Cholesky分解等來(lái)求解[5-6].迭代法具有節(jié)省大量存儲(chǔ)和計(jì)算資源的優(yōu)點(diǎn),對(duì)于大規(guī)模線性方程組,一般選擇迭代法求解[7-8].
在現(xiàn)實(shí)科學(xué)研究中,線性方程組系數(shù)矩陣的元素是由物理測(cè)量或科學(xué)儀器收集得到的,這使得系數(shù)矩陣中可能含有一定的擾動(dòng)[9].例如一些網(wǎng)絡(luò)系統(tǒng)不可避免地存在網(wǎng)絡(luò)誘導(dǎo)時(shí)延、數(shù)據(jù)包丟失和環(huán)境干擾等問(wèn)題[10].由于擾動(dòng)的不確定性,導(dǎo)致無(wú)法利用直接法求解系數(shù)矩陣中含有擾動(dòng)的線性方程組.經(jīng)典的迭代法,如Jacobi,Gauss-Seidel等方法是基于系數(shù)矩陣分裂所發(fā)展的迭代法[11].當(dāng)系數(shù)矩陣中含有擾動(dòng)時(shí),通過(guò)系數(shù)矩陣分裂得到的迭代式無(wú)法進(jìn)行迭代更新.文獻(xiàn)[12-13]利用隨機(jī)Kaczmarz迭代法分別給出了當(dāng)線性方程組右端向量含有擾動(dòng)時(shí)的迭代解與真實(shí)解的期望誤差界.Kaczmarz迭代法通過(guò)利用系數(shù)矩陣的行向量進(jìn)行迭代更新,其不能應(yīng)用于系數(shù)矩陣中含有擾動(dòng)的線性方程組的求解.
從控制理論的角度研究線性方程組求解是當(dāng)前信息科學(xué)領(lǐng)域的一個(gè)熱門研究問(wèn)題.文獻(xiàn)[14-15]利用控制理論研究數(shù)值分析中一些基本的線性及非線性迭代方法,并從控制的角度說(shuō)明了如何設(shè)計(jì)求解線性或非線性方程組的標(biāo)準(zhǔn)迭代方法.文獻(xiàn)[16]通過(guò)最優(yōu)控制設(shè)計(jì),得到了線性方程組的全局收斂算法.文獻(xiàn)[17]引入迭代學(xué)習(xí)控制(Iterative Learning Control,ILC)的思想,通過(guò)線性離散系統(tǒng)的狀態(tài)反饋設(shè)計(jì)出迭代更新律,并最終得到線性方程組的所有解.以上文獻(xiàn)表明,控制設(shè)計(jì)與分析已成功運(yùn)用于線性方程組的迭代求解.然而,上述方法均未考慮系數(shù)矩陣中含有擾動(dòng)的線性方程組求解問(wèn)題.
本文針對(duì)一類系數(shù)矩陣中含有擾動(dòng)的線性方程組,通過(guò)構(gòu)建確定和不確定ILC系統(tǒng),將擾動(dòng)線性方程組的求解問(wèn)題轉(zhuǎn)化為線性離散不確定系統(tǒng)的可鎮(zhèn)定性問(wèn)題,進(jìn)而設(shè)計(jì)出迭代學(xué)習(xí)控制律,獲得了擾動(dòng)線性方程組的近似解.
對(duì)于如下形式的線性方程組
BU=Y,
(1)
其中系數(shù)矩陣B∈Rn×m,向量U,Y分別屬于Rm,Rn.本文考慮一類系數(shù)矩陣含有擾動(dòng)的線性方程組
B(I+ΔB)U=Y,
(2)
其中ΔB∈Rm×m為擾動(dòng)矩陣.
線性方程組(1)解的存在性可根據(jù)代數(shù)學(xué)方法來(lái)判定.在有解的情況下,可通過(guò)直接法或迭代法來(lái)獲得線性方程組的解.由于系數(shù)矩陣存在擾動(dòng),上述方法難以用來(lái)探討擾動(dòng)線性方程組(2)的解的存在性及求解過(guò)程.
為了解決上述問(wèn)題,構(gòu)建如下不確定迭代學(xué)習(xí)控制(ILC)系統(tǒng):
B(I+ΔB)Uk=Yk,
(3)
其中Uk為輸入,Yk為輸出.那么擾動(dòng)線性方程組(2)有解等價(jià)于設(shè)計(jì)輸入序列{Uk:k∈Z+},使得輸出序列{Yk:k∈Z+}達(dá)到跟蹤目標(biāo)
(4)
令系統(tǒng)(3)的跟蹤誤差為xk=Y-Yk,輸入序列與輸出序列差值分別為ΔUk=-uk=Uk+1-Uk,ΔYk=Yk+1-Yk.根據(jù)文獻(xiàn)[17],不確定ILC系統(tǒng)(3)達(dá)到跟蹤目標(biāo)(4)等價(jià)于線性不確定離散系統(tǒng)
xk+1=xk+B(I+ΔB)uk
(5)
是可鎮(zhèn)定的.
本文致力于探究線性不確定離散系統(tǒng)(5)的可鎮(zhèn)定性條件,獲得擾動(dòng)線性方程組(2)有解的判定條件,并設(shè)計(jì)迭代學(xué)習(xí)控制律來(lái)求其近似解.
以下是本文推導(dǎo)過(guò)程中所用到的一些引理.
利用定義的H和F,有如下引理1和2.
引理1[17]span(B)?span(F2)=Rn.
注1引理2表明,對(duì)于不含擾動(dòng)的線性方程組,利用確定ILC系統(tǒng)的學(xué)習(xí)律得到的輸入序列{Uk:k∈Z+}收斂于線性方程組的解,并通過(guò)任意選取初始向量U0,得到線性方程組的所有解.
引理3[18]設(shè)A∈Rn×n是非奇異矩陣.若‖A-1‖2‖D‖2<1,則A+D是非奇異矩陣.
由于線性不確定離散系統(tǒng)(5)的狀態(tài)矩陣是單位矩陣,所以其能控型矩陣C=[B(I+ΔB)B(I+ΔB) …B(I+ΔB)]的秩等于矩陣B(I+ΔB)的秩.當(dāng)矩陣C行滿秩(即rank(C)=rank(B(I+ΔB))=n)時(shí)系統(tǒng)(5)完全能控.接下來(lái)探討擾動(dòng)矩陣ΔB滿足的條件,進(jìn)而通過(guò)矩陣B的秩來(lái)判定系統(tǒng)(5)的能控性,即擾動(dòng)方程組(2)解的存在性.
定理1若Y∈span(B),且‖ΔB‖2<1,則擾動(dòng)線性方程組(2)有解.
(6)
于是系統(tǒng)(5)可鎮(zhèn)定,擾動(dòng)線性方程組(2)有解.
注2對(duì)于一個(gè)不完全能控的線性離散系統(tǒng),當(dāng)其不能控部分穩(wěn)定時(shí),則該系統(tǒng)是可鎮(zhèn)定的.本文中的線性不確定離散系統(tǒng)(5)的狀態(tài)矩陣是單位矩陣,故只需讓不能控部分的狀態(tài)始終為0即可保證系統(tǒng)是穩(wěn)定的.
(7)
(8)
通過(guò)不含擾動(dòng)的確定ILC系統(tǒng)(7)來(lái)研究不確定ILC系統(tǒng)(3).Lyapunov函數(shù)是分析系統(tǒng)漸近穩(wěn)定的有力工具[19].當(dāng)系統(tǒng)(8)可鎮(zhèn)定時(shí),通過(guò)Lyapunov函數(shù)設(shè)計(jì)迭代學(xué)習(xí)控制律,從而得到不確定ILC系統(tǒng)(3)的學(xué)習(xí)律.
定理2當(dāng)Y∈span(B)時(shí),狀態(tài)反饋控制
確保線性離散系統(tǒng)(8)漸近穩(wěn)定,并且迭代學(xué)習(xí)律
(9)
其中U0為任意選取的初始向量,0<γ<2是一個(gè)常數(shù).
(10)
注3定理2表明,在學(xué)習(xí)律(9)下,輸入序列{Uk:k∈Z+}與輸出序列{Yk:k∈Z+}分別收斂于U,Y.對(duì)確定ILC系統(tǒng)(7)兩邊取極限,有BU=Y.可見(jiàn)U恰為線性方程組(1)的解.
針對(duì)不確定ILC系統(tǒng)(3),采用學(xué)習(xí)律(9),考察輸出序列{Yk:k∈Z+}與擾動(dòng)方程組(2)的右端向量Y之間的誤差.
定理3若Y∈span(B),且‖ΔB‖2
其中U為線性方程組(1)的解.
推論1若Y∈span(B),且‖ΔB‖2足夠小時(shí),則線性方程組(1)的解U為擾動(dòng)方程組(2)的近似解.
考慮如下擾動(dòng)線性方程組
B(I+ΔB)U=Y,
其中ΔB是未知的擾動(dòng)矩陣,
顯然rank(B)=3,選擇系數(shù)矩陣B的前3列構(gòu)成行滿秩矩陣
(11)
為了驗(yàn)證所提方法的有效性,在系數(shù)矩陣B中分別加入服從標(biāo)準(zhǔn)高斯分布和區(qū)間(0,1)上均勻分布的隨機(jī)擾動(dòng).
例1利用MATLAB生成由標(biāo)準(zhǔn)高斯分布的隨機(jī)數(shù)組成的矩陣,以其0.001的倍數(shù)作為擾動(dòng)矩陣
可計(jì)算出‖ΔB1‖2=0.002 4.選擇初始輸入向量U0=[1 0 0 1]T,在學(xué)習(xí)律(11)下,輸入序列{Uk:k∈Z+}各分量的變化曲線及輸出序列{Yk:k∈Z+}與擾動(dòng)線性方程組(2)右端向量Y之間的跟蹤誤差變化的仿真結(jié)果如圖1和圖2所示.
圖1給出了在學(xué)習(xí)律(11)下輸入序列Uk的各個(gè)分量隨迭代次數(shù)的變化曲線.從圖1中可以看出,隨著迭代次數(shù)的增加,輸入序列{Uk:k∈Z+}收斂于U1=[1.75 0.25 -0.75 -0.25]T,而U1恰為線性方程組BU=Y的解.圖2給出了不確定ILC系統(tǒng)(3)的跟蹤誤差‖Y-Yk‖隨迭代次數(shù)的變化曲線.從中可以看出,經(jīng)過(guò)多次迭代后,其跟蹤誤差逐漸減小,且第15次的迭代輸出為
Y15=[0.998 4 2.000 2 3.000 2 -0.001 4 1.996 8 2.995 2]T.
此時(shí)不確定ILC系統(tǒng)(3)的跟蹤誤差為‖Y-Y15‖2=0.006 1,小于定理2所提的誤差界,即‖Y-Y15‖2=0.006 1<‖ΔB1‖2‖B‖2‖U1‖2=0.030 2.
例2利用Matlab生成由區(qū)間(0,1)上均勻分布的隨機(jī)數(shù)組成的矩陣,以其0.001的倍數(shù)作為擾動(dòng)矩陣
可計(jì)算出‖ΔB2‖2=0.001 7.選擇初始輸入向量U0=[1 0 1 0]T,在學(xué)習(xí)律(11)下,輸入序列{Uk:k∈Z+}各分量的變化曲線及輸出序列{Yk:k∈Z+}與擾動(dòng)線性方程組(2)右端向量Y之間的跟蹤誤差變化的仿真結(jié)果如圖3和圖4所示.
從圖3中可以看出,隨著迭代次數(shù)的增加,輸入序列{Uk:k∈Z+}收斂于U2=[1.25 0.75 -0.25 -0.75]T,而U2也為線性方程組BU=Y的一個(gè)解.從圖4中可以看出,經(jīng)過(guò)多次迭代后,其跟蹤誤差也逐漸減小,并且第18次的迭代輸出為
Y18=[0.998 4 2.000 2 3.000 2 -0.001 4 1.996 8 2.995 2]T.
此時(shí)不確定ILC系統(tǒng)(3)的跟蹤誤差為‖Y-Y18‖2=0.005 3,仍然小于定理2所提的誤差界,即‖Y-Y18‖2=0.005 3<‖ΔB2‖2‖B‖2‖U2‖2=0.017 7.
本文基于迭代學(xué)習(xí)控制的思想,探討了一類擾動(dòng)線性方程組解的存在性判定條件,并給出了其迭代求解算法.利用系數(shù)矩陣的列向量與常數(shù)項(xiàng)的關(guān)系以及擾動(dòng)矩陣的上界,給出了擾動(dòng)線性方程組有解的充分條件.設(shè)計(jì)迭代學(xué)習(xí)控制律,獲得不確定ILC系統(tǒng)跟蹤誤差的上界及擾動(dòng)線性方程組的近似解.