佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > python共軛梯度法特征值迭代次數(shù)討論

python共軛梯度法特征值迭代次數(shù)討論

熱門標(biāo)簽:語音系統(tǒng) 電話運(yùn)營中心 硅谷的囚徒呼叫中心 客戶服務(wù) Win7旗艦版 呼叫中心市場需求 百度AI接口 企業(yè)做大做強(qiáng)

共軛梯度法,特征值聚堆情況下迭代次數(shù)討論

輸入各種特征值聚堆與分散時(shí)的矩陣,并應(yīng)用共軛梯度法,觀察迭代次數(shù)與聚堆情況的關(guān)系。

因?yàn)閷蔷仃嚨膶蔷€元素為其特征值,則用對角矩陣討論較為方便
代碼

import numpy as np

def cg(x0, A, b):
 r0 = np.dot(A, x0) - b
 p0 = -r0
 rk = r0
 pk = p0
 xk = x0
 t = 0 #記錄迭代次數(shù)
 while np.linalg.norm(rk) >= 1e-6:
  rr = np.dot(rk.T, rk)
  ak = rr / np.dot(np.dot(pk.T, A), pk)
  xk = xk + ak * pk
  rk = rk + ak * np.dot(A, pk)
  bk = np.dot(rk.T, rk) / rr
  pk = -rk + bk * pk
  t += 1
 return xk, t

#輸入列表,生成以列表為對角元素的對角矩陣
def Diagonal_matrix(D):
 n = len(D)
 diag = np.zeros((n,n))
 for i in range(n):
  diag[i][i] = D[i]
 return diag
#矩陣對角線元素
D_1 = [1, 1, 1, 1, 1, 6, 7, 8, 9, 10]
D_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
D_3 = [0.8, 0.9, 1, 1.1, 1.2, 6, 7, 8, 9, 10]
D_4 = [1 - 2*1e-7, 1 - 1e-7, 1, 1 + 1e-7, 1 + 2*1e-7, 6, 7, 8, 9, 10]
D_5 = [1, 1, 1, 2, 2, 2, 3, 3, 3, 10]
#初始值
x0 = np.zeros((10,1))
b = np.ones((10,1))  
#生成對角矩陣
diag1 = Diagonal_matrix(D_1)
diag2 = Diagonal_matrix(D_2)
diag3 = Diagonal_matrix(D_3)
diag4 = Diagonal_matrix(D_4)
diag5 = Diagonal_matrix(D_5)
#共軛梯度法迭代
x_1, n_1 = cg(x0, diag1, b)
x_2, n_2 = cg(x0, diag2, b)
x_3, n_3 = cg(x0, diag3, b)
x_4, n_4 = cg(x0, diag4, b)
x_5, n_5 = cg(x0, diag5, b)
n = [n_1, n_2, n_3, n_4, n_5]
#輸出
for i in range(5):
  print('矩陣',i + 1 ,'的迭代次數(shù)為: ', n[i])

矩陣1,前5個(gè)元素聚堆且都為相同元素

矩陣2,特征值分散

矩陣3,前5個(gè)特征值聚堆,但是最大差為0.4 ,而cg法精度為1e-6

矩陣4,前5個(gè)特征值聚堆,且相差最大小于1e-6

矩陣5,三聚堆
輸出:

分析:

  • 聚堆特征值可看作一個(gè)特征值
  • 特征值差小于迭代精度時(shí)被看作聚堆
  • 例如矩陣5,前三個(gè)對角元素看作一個(gè),4-6元素看作一個(gè),7-9看作一個(gè) 一共4個(gè)元素,則需要迭代4次

以上就是python共軛梯度法特征值迭代次數(shù)討論的詳細(xì)內(nèi)容,更多關(guān)于python共軛梯度法迭代的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python箱型圖繪制與特征值獲取過程解析
  • python dataframe常見操作方法:實(shí)現(xiàn)取行、列、切片、統(tǒng)計(jì)特征值
  • Python 如何讓特征值滯后一行

標(biāo)簽:長沙 海南 濟(jì)南 喀什 山西 崇左 山西 安康

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python共軛梯度法特征值迭代次數(shù)討論》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    安乡县| 莲花县| 宣恩县| 泰和县| 宁明县| 榕江县| 怀柔区| 石城县| 桂阳县| 隆子县| 筠连县| 平果县| 凤庆县| 汶川县| 高淳县| 阿巴嘎旗| 恩施市| 广元市| 平利县| 白山市| 安泽县| 兴化市| 水富县| 伊宁市| 大兴区| 阳城县| 五大连池市| 兰坪| 特克斯县| 中卫市| 南澳县| 青州市| 苏尼特左旗| 靖安县| 鸡西市| 奉贤区| 托克逊县| 孝感市| 文安县| 洪雅县| 芷江|