最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

因為對角矩陣的對角線元素為其特征值,則用對角矩陣討論較為方便
代碼

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)容,更多關于python共軛梯度法迭代的資料請關注腳本之家其它相關文章!

相關文章

  • Python CVXOPT模塊安裝及使用解析

    Python CVXOPT模塊安裝及使用解析

    這篇文章主要介紹了Python CVXOPT模塊安裝及使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python字典創(chuàng)建 遍歷 添加等實用基礎操作技巧

    Python字典創(chuàng)建 遍歷 添加等實用基礎操作技巧

    字段是Python是字典中唯一的鍵-值類型,本文講述了Python中字典如何創(chuàng)建 遍歷 添加等實用基礎操作技巧,內(nèi)容非?;A但非常重要,一定要熟練掌握
    2018-09-09
  • Tensorflow實現(xiàn)卷積神經(jīng)網(wǎng)絡用于人臉關鍵點識別

    Tensorflow實現(xiàn)卷積神經(jīng)網(wǎng)絡用于人臉關鍵點識別

    這篇文章主要介紹了Tensorflow實現(xiàn)卷積神經(jīng)網(wǎng)絡用于人臉關鍵點識別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 使用Python編寫一個桌面便簽應用

    使用Python編寫一個桌面便簽應用

    ChatGPT的編程能力也不差,本文將一步一步提出要求,讓ChatGPT根據(jù)我們的要求,編寫出一個可用的,可打包運行的桌面便簽,感興趣的可以了解一下
    2023-06-06
  • Python函數(shù)之zip函數(shù)的介紹與實際應用

    Python函數(shù)之zip函數(shù)的介紹與實際應用

    zip() 函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的對象(python2 返回的是這些元組組成的列表 ),下面這篇文章主要給大家介紹了關于Python函數(shù)之zip函數(shù)實際應用的相關資料,需要的朋友可以參考下
    2022-03-03
  • 使用Python操作excel文件的實例代碼

    使用Python操作excel文件的實例代碼

    這篇文章主要介紹了使用Python操作excel文件的實例代碼,需要的朋友可以參考下
    2017-10-10
  • Python多線程threading join和守護線程setDeamon原理詳解

    Python多線程threading join和守護線程setDeamon原理詳解

    這篇文章主要介紹了Python多線程threading join和守護線程setDeamon原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • PyQt5中向單元格添加控件的方法示例

    PyQt5中向單元格添加控件的方法示例

    這篇文章主要介紹了PyQt5中向單元格添加控件的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • python3爬蟲中引用Queue的實例講解

    python3爬蟲中引用Queue的實例講解

    在本篇內(nèi)容里小編給大家整理的是一篇關于python3爬蟲中引用Queue的實例講解內(nèi)容,有興趣的朋友們可以學習下。
    2020-11-11
  • Python如何爬取微信公眾號文章和評論(基于 Fiddler 抓包分析)

    Python如何爬取微信公眾號文章和評論(基于 Fiddler 抓包分析)

    這篇文章主要介紹了Python如何爬取微信公眾號文章和評論(基于 Fiddler 抓包分析),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06

最新評論

鹤山市| 荣昌县| 浮山县| 阿荣旗| 黔西| 清镇市| 镶黄旗| 蒙自县| 健康| 黄平县| 班玛县| 新民市| 保康县| 定兴县| 三都| 额尔古纳市| 饶河县| 桐乡市| 乾安县| 天等县| 德昌县| 昂仁县| 防城港市| 凤翔县| 云安县| 安康市| 泾川县| 申扎县| 当阳市| 中阳县| 西青区| 武胜县| 偃师市| 隆林| 古丈县| 金寨县| 渭南市| 资溪县| 庄河市| 壤塘县| 伊春市|