国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于貪婪隨機(jī)Kaczmarz方法的算法研究

2020-03-08 14:19:49張選靜何清龍陳敏范芷萍劉麗霞
關(guān)鍵詞:線性方程組

張選靜 何清龍 陳敏 范芷萍 劉麗霞

【摘要】貪婪隨機(jī)Kaczmarz算法(GRKM)是一種求解大型稀疏矩陣方程組的有效方法.基于GRKM方法和Nesterov加速策略,本文給出了一種求解線性方程組的快速AGREK迭代方法.AGREK算法的主要思想是在每步迭代中依據(jù)更有效的概率準(zhǔn)則進(jìn)行隨機(jī)正交投影并采用Nesterov技術(shù)進(jìn)行加速.為了驗(yàn)證AGREK算法的有效性,針對(duì)隨機(jī)矩陣線性方程組進(jìn)行數(shù)值實(shí)驗(yàn),數(shù)值實(shí)驗(yàn)表明本文給出的AGREK方法是可行和高效的.

【關(guān)鍵詞】線性方程組;Kaczmarz方法;AGREK方法

【基金項(xiàng)目】貴州大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目資助,項(xiàng)目編號(hào):2018520067.

一、引?言

在理論研究和實(shí)際工程問(wèn)題中,Kaczmarz方法是一種有效的迭代方法,該方法每次迭代將當(dāng)前點(diǎn)投影到選取行所形成的超平面上.經(jīng)過(guò)多次迭代,從而達(dá)到逐漸接近線性方程組的真實(shí)解的目的.若初始估計(jì)量為x0,則求解線性方程組Ax=b的Kaczmarz方法迭代過(guò)程為:

xk+1=xk+(b(i)-A(i)xk)‖A(i)‖22(A(i))T,

其中,i=kmodm+1,A(i)表示系數(shù)矩陣A的第i行,b(i)表示右端項(xiàng)b的第i個(gè)元素,(·)T表示轉(zhuǎn)置,‖·‖2表示歐幾里得范數(shù).

基于Kaczmarz方法的研究一直是數(shù)值代數(shù)理論研究的熱點(diǎn).Strohmer和Vershynin提出具有指數(shù)收斂速度的隨機(jī)化Kaczmarz方法,使用隨機(jī)選取系數(shù)矩陣A的行進(jìn)行投影,大大提高Kaczmarz方法的收斂速度[1].Zhong基于更加有效的隨機(jī)選取行的準(zhǔn)則,建立了貪婪隨機(jī)Kaczmarz方法(Greedy Randomized Kaczmarz Method,GRKM)[2].向徐提出了基于Nesterov加速技術(shù)的AREK算法[3].本文基于GRKM算法中提出的引入指標(biāo)集的概率選擇準(zhǔn)則和Nesterov加速的AREK算法,給出了一種快速高效的AGREK算法并給出數(shù)值試驗(yàn)以驗(yàn)證方法的有效性.

二、AGREK算法

輸入:m×n系數(shù)矩陣A,向量b,迭代次數(shù)l,初始化v0=x0=0,z0=b,w-1=0.

輸出:xl

for k=0,1,…,l-1 do

STEP 1.求解方程w2k=w2k+w2k-1λ-1mwk-w2k-1=0,令wk的值為方程組的較大根.

計(jì)算βk=m-wkλwk(m2-λ),tk=1-wkλm.

STEP 2.選擇jk∈{1,2,…,n}列的概率為:

pr(jk)=‖A(j)‖22‖A‖2F.

STEP 3.隨機(jī)正交投影:zk+1=zk-(A(jk)T,zk)‖A(jk)‖22A(jk).

STEP 4.計(jì)算

εk=121‖b-Axk‖22max1≤ik≤m|b(ik)-A(ik)xk|2‖A(ik)‖22+1‖A‖2F.

STEP 5.定義正整數(shù)指標(biāo)集uk={ik||b(ik)-A(ik)xk|2≥εk‖b-Axk‖22‖A(ik)‖22}.

STEP 6.根據(jù)

r(i)k=b(i)-A(i)xk,if?i∈uk,0,otherwise,

計(jì)算向量rk中的第i個(gè)分量r(i)k.

STEP 7.選擇ik∈uk行的概率為:pr(ik)=|r(ik)k|2‖rk‖22.

STEP 8.Nesterov加速過(guò)程

yk=βkvk+(1-βk)xk,

xk+1=yk-(A(ik)T(A(ik)yk-(b(ik)-z(ik)k)))‖A(ik)‖22,

vk+1=tkvk+(1-tk)yk-wk(A(ik)T(A(ik)yk-(b(ik)-z(ik)k)))‖A(ik)‖22

end for.

三、數(shù)值實(shí)驗(yàn)

(一)適定方程組

本節(jié)中的數(shù)值實(shí)驗(yàn)均以零向量為初始值,即x0=(0,0,…,0),使用隨機(jī)生成的矩陣A∈Rm×n(m=n)和向量x∈Rn 進(jìn)行數(shù)值實(shí)驗(yàn),右端項(xiàng)b=Ax,程序每運(yùn)行100次對(duì)應(yīng)1次迭代次數(shù).對(duì)當(dāng)前迭代xk,若滿足相對(duì)誤差RSE<10-6或已經(jīng)達(dá)到最大運(yùn)行次數(shù),算法停止運(yùn)行,將其視為一次數(shù)值實(shí)驗(yàn).為了避免隨機(jī)性結(jié)果,求解同一個(gè)線性方程組的數(shù)值實(shí)驗(yàn)重復(fù)進(jìn)行5次,最終實(shí)驗(yàn)結(jié)果取5次數(shù)值實(shí)驗(yàn)的均值.實(shí)驗(yàn)結(jié)果如下.

由表1、圖1、圖2顯示的實(shí)驗(yàn)結(jié)果可以看出,求解適定方程組時(shí),當(dāng)達(dá)到最大迭代次數(shù)時(shí),GRKM方法仍不能得到滿足相對(duì)誤差條件的有效解,AREK方法、AGREK方法均收斂得比GRKM方法快,AGREK方法比AREK方法收斂得更快.

(二)超定方程組

求解超定線性方程組Ax=b,A∈Rm×n(m>n).我們利用該方程的最小二乘解作為該方程的廣義解,于是廣義解等價(jià)于求解線性方程組ATAx=ATb.程序每運(yùn)行1次對(duì)應(yīng)1次迭代次數(shù).對(duì)當(dāng)前迭代xk,仍為了避免隨機(jī)性結(jié)果,求解同一個(gè)線性方程組的數(shù)值實(shí)驗(yàn)每次進(jìn)行5次,實(shí)驗(yàn)結(jié)果取5次數(shù)值實(shí)驗(yàn)的均值.實(shí)驗(yàn)結(jié)果如表2所示.

由表2可知,當(dāng)求解超定方程組時(shí),三種方法隨著方程數(shù)目的增加,求解隨機(jī)矩陣所需的迭代時(shí)間和迭代次數(shù)呈現(xiàn)減小的趨勢(shì).當(dāng)求解超定矩陣時(shí),GRKM方法收斂得比AREK和AGREK方法快,AGREK方法收斂得比AREK方法快.

四、結(jié)?語(yǔ)

針對(duì)求解線性方程組問(wèn)題,本文基于GRKM方法和AREK方法,提出了一種更加快速有效的AGREK方法.AGREK方法兼具GRKM方法的概率準(zhǔn)則優(yōu)點(diǎn)和Nesterov加速特性,因此,能夠快速求解線性方程組.數(shù)值試驗(yàn)表明,當(dāng)求解線性方程組時(shí),AGREK方法的收斂速度優(yōu)于AREK方法和GRKM方法,驗(yàn)證了AGREK算法的高效性.

【參考文獻(xiàn)】

[1]T.Strohmer and R.Vershynin.A randomized Kaczmarz algorithm with exponential convergence[J].Journal of Fourier Analysisand Applications,2008(15):262.

[2]Zhong Zhi Bai,Wen Ting Wu.On greedy randomized Kaczmarz method for solving large sparse linear systems[J],SIAM J.Sci.Comput.,2018(40):A592-A606.

猜你喜歡
線性方程組
一類整系數(shù)齊次線性方程組的整數(shù)解存在性問(wèn)題
求解非線性方程組的Newton迭代與Newton-Kazcmarz迭代的吸引域
H-矩陣線性方程組的一類預(yù)條件并行多分裂SOR迭代法
Cramer法則推論的幾個(gè)應(yīng)用
求解單調(diào)非線性方程組的非精確正則化牛頓法及其局部收斂性
線性方程組解的判別
線性方程組解的逆向問(wèn)題的一種解法分析
保護(hù)私有信息的一般線性方程組計(jì)算協(xié)議
關(guān)于兩個(gè)線性方程組同解條件的再思考
基于Matlab實(shí)現(xiàn)線性方程組的迭代解法
武平县| 安康市| 铜川市| 涿州市| 衡阳县| 克什克腾旗| 桂东县| 科技| 安仁县| 吉安市| 南投县| 宁南县| 武宁县| 汨罗市| 且末县| 英德市| 利津县| 华容县| 济宁市| 万宁市| 东安县| 莒南县| 慈溪市| 垣曲县| 穆棱市| 五寨县| 龙川县| 扎兰屯市| 乌拉特中旗| 民乐县| 华蓥市| 天峻县| 永福县| 乡宁县| 会昌县| 永州市| 纳雍县| 墨玉县| 自贡市| 泉州市| 泌阳县|