您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用Python求矩陣的范數(shù)和行列式”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“怎么用Python求矩陣的范數(shù)和行列式”文章能幫助大家解決問題。
在scipy.linalg
的函數(shù)中,往往會提供兩種參數(shù),其一是check_finite
,當(dāng)為True
時將進(jìn)行有限檢查,另一類是overwrite_xxxx
,表示xxxx
在計算過程中是否可以被覆寫。簡潔起見,后文中說a
提供覆寫開關(guān),就表示存在一個參數(shù)overwrite_a
,當(dāng)其為True
時,a允許計算過程中被覆寫;若說提供有限檢查開關(guān),則代表提供check_finite
參數(shù)。
在scipy.linalg
中提供了函數(shù)norm
用來求范數(shù),其定義為
norm(a, ord=None, axis=None, keepdims=False, check_finite=True)
其中ord
用于聲明范數(shù)的階
ord | 矩陣范數(shù) | 向量范數(shù) |
---|---|---|
None | 弗羅貝尼烏斯范數(shù) | 2-范數(shù) |
'fro' | 弗羅貝尼烏斯范數(shù) | - |
'nuc' | 核范數(shù) | - |
inf | max(sum(abs(a), axis=1)) | max ? ( ∣ a ∣ ) |
-inf | min(sum(abs(a), axis=1)) | min ? ( ∣ a ∣ ) |
0 | - | sum(a!=0) |
1 | max(sum(abs(a), axis=0)) | |
-1 | min(sum(abs(a), axis=0)) | |
2 | 2-范數(shù)(最大奇異值) | |
-2 | 最小奇異值 |
若a
為向量,若ord
為非零整數(shù),記作n nn,設(shè)a i a_iai為矩陣a aa中的元素,則矩陣的n nn范數(shù)為
核范數(shù)又稱“跡范數(shù)” (trace norm),表示矩陣的所有奇異值之和。
Frobenius范數(shù)可定義為
其實質(zhì)是向量的2-范數(shù)在矩陣中的自然推廣。
除了scipy.linalg
之外,numpy.linalg
中也提供了norm
,其參數(shù)為
norm(x, ord=None, axis=None, keepdims=False)
其中order
的可選參數(shù)與scipy.linalg
中的norm
函數(shù)相同。
在scipy.linalg
中,行列式函數(shù)為det
,其定義非常簡單,除了待求矩陣a
之外,就只有a
的覆寫開關(guān)和有限檢查。
示例如下
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
函數(shù),但是numpy
提供,其定義為
umpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)
其中
offset
為偏移量,表示相對于主對角線的偏移
axis1, axis2
表示坐標(biāo)軸
dtype
用于調(diào)整輸出值的數(shù)據(jù)類型
>>> 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
關(guān)于“怎么用Python求矩陣的范數(shù)和行列式”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。