如何用Python求矩陣的范數和行列式

本篇內容介紹了“如何用Python求矩陣的范數和行列式”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創(chuàng)新互聯建站憑借在網站建設、網站推廣領域領先的技術能力和多年的行業(yè)經驗,為客戶提供超值的營銷型網站建設服務,我們始終認為:好的營銷型網站就是好的業(yè)務員。我們已成功為企業(yè)單位、個人等客戶提供了成都做網站、成都網站設計服務,以良好的商業(yè)信譽,完善的服務及深厚的技術力量處于同行領先地位。

scipy.linalg的函數中,往往會提供兩種參數,其一是check_finite,當為True時將進行有限檢查,另一類是overwrite_xxxx,表示xxxx在計算過程中是否可以被覆寫。簡潔起見,后文中說a提供覆寫開關,就表示存在一個參數overwrite_a,當其為True時,a允許計算過程中被覆寫;若說提供有限檢查開關,則代表提供check_finite參數。

范數

scipy.linalg中提供了函數norm用來求范數,其定義為

norm(a, ord=None, axis=None, keepdims=False, check_finite=True)

其中ord用于聲明范數的階

ord矩陣范數向量范數



None弗羅貝尼烏斯范數2-范數
'fro'弗羅貝尼烏斯范數-
'nuc'核范數-
infmax(sum(abs(a), axis=1))max ? ( ∣ a ∣ )
-infmin(sum(abs(a), axis=1))min ? ( ∣ a ∣ )
0-sum(a!=0)
1max(sum(abs(a), axis=0))
-1min(sum(abs(a), axis=0))
22-范數(最大奇異值)
-2最小奇異值

a為向量,若ord為非零整數,記作n nn,設a i a_iai為矩陣a aa中的元素,則矩陣的n nn范數為

如何用Python求矩陣的范數和行列式

核范數又稱“跡范數” (trace norm),表示矩陣的所有奇異值之和。

Frobenius范數可定義為

如何用Python求矩陣的范數和行列式

其實質是向量的2-范數在矩陣中的自然推廣。

除了scipy.linalg之外,numpy.linalg中也提供了norm,其參數為

norm(x, ord=None, axis=None, keepdims=False)

其中order的可選參數與scipy.linalg中的norm函數相同。

行列式

scipy.linalg中,行列式函數為det,其定義非常簡單,除了待求矩陣a之外,就只有a的覆寫開關和有限檢查。

示例如下

import numpy as np
from scipy import linalg
a = np.array([[1,2,3], [4,5,6], [7,8,9]])
linalg.det(a)
# 0.0
a = np.array([[0,2,3], [4,5,6], [7,8,9]])
linalg.det(a)
# 3.0

scipy.linalg不提供trace函數,但是numpy提供,其定義為

umpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)

其中

  • offset為偏移量,表示相對于主對角線的偏移

  • axis1, axis2 表示坐標軸

  • dtype 用于調整輸出值的數據類型

>>> x = np.random.rand(3,3)
>>> print(x)
[[0.26832187 0.64615363 0.09006217]
 [0.63106319 0.65573765 0.35842304]
 [0.66629322 0.16999836 0.92357658]]
>>> np.trace(x)
1.8476361016546932

“如何用Python求矩陣的范數和行列式”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯網站,小編將為大家輸出更多高質量的實用文章!

本文標題:如何用Python求矩陣的范數和行列式
地址分享:http://muchs.cn/article12/jejegc.html

成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站制作、網站設計公司、虛擬主機、網站改版網站設計、云服務器

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

網站托管運營