欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年04月07日 11:44:50   作者:嵩悟空  
這篇文章主要介紹了python共軛梯度法特征值迭代次數(shù)討論,想了解共軛梯度法的同學(xué),需要著重看一下

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

輸入各種特征值聚堆與分散時的矩陣,并應(yīng)用共軛梯度法,觀察迭代次數(shù)與聚堆情況的關(guā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個元素聚堆且都為相同元素

矩陣2,特征值分散

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

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

矩陣5,三聚堆
輸出:

分析:

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

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

相關(guān)文章

  • Windows下Python使用Pandas模塊操作Excel文件的教程

    Windows下Python使用Pandas模塊操作Excel文件的教程

    Pandas是一個強大的Python數(shù)據(jù)分析模塊,這里我們先使用ANACONDA來幫助獲取Pandas所以來的一些環(huán)境,然后來初步學(xué)習(xí)Windows下Python使用Pandas模塊操作Excel文件的教程
    2016-05-05
  • Python利用字典樹實現(xiàn)獵詞游戲

    Python利用字典樹實現(xiàn)獵詞游戲

    獵詞(word hunt)是一類很常見的游戲,給你一張字母組成的表,然后讓你在這些字母中盡可能多的去尋找單詞。這類游戲用字典樹就能輕松完成,本文就來具體講講實現(xiàn)步驟,需要的可以參考一下
    2022-06-06
  • 2021年的Python 時間軸和即將推出的功能詳解

    2021年的Python 時間軸和即將推出的功能詳解

    這篇文章主要介紹了2021年的Python 時間軸和即將推出的功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù)

    詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù)

    這篇文章主要介紹了詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù),目前Python的內(nèi)建映射類型只有字典一種,需要的朋友可以參考下
    2015-08-08
  • Python實現(xiàn)身份證號碼解析

    Python實現(xiàn)身份證號碼解析

    本文給大家匯總介紹下使用Python實現(xiàn)身份證號碼驗證解析的幾個方法,有需要的小伙伴可以參考下。
    2015-09-09
  • Python輕松搞定視頻剪輯重復(fù)性工作問題

    Python輕松搞定視頻剪輯重復(fù)性工作問題

    這篇文章主要介紹了Python輕松搞定視頻剪輯重復(fù)性工作問題,大家做視頻剪輯的時候,還在重復(fù)性工作嗎?今天,小編來教大家如何利用Python幫你搞定這些重復(fù)性的剪輯工作,需要的朋友可以參考一下
    2021-12-12
  • 使用pyinstaller打包PyQt4程序遇到的問題及解決方法

    使用pyinstaller打包PyQt4程序遇到的問題及解決方法

    今天小編就為大家分享一篇使用pyinstaller打包PyQt4程序遇到的問題及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python?pandas刪除指定行/列數(shù)據(jù)的方法實例

    Python?pandas刪除指定行/列數(shù)據(jù)的方法實例

    這篇文章主要給大家介紹了關(guān)于Python?pandas刪除指定行/列數(shù)據(jù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • Python簡單實現(xiàn)詞云圖代碼及步驟解析

    Python簡單實現(xiàn)詞云圖代碼及步驟解析

    這篇文章主要介紹了Python簡單實現(xiàn)詞云圖代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 解決python問題 Traceback (most recent call last)

    解決python問題 Traceback (most recent call&n

    這篇文章主要介紹了解決python問題 Traceback (most recent call last),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論