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

Python求矩陣的范數(shù)和行列式

 更新時(shí)間:2023年04月09日 11:43:21   作者:微小冷  
這篇文章主要介紹了Python求矩陣的范數(shù)和行列式,文章中有詳細(xì)的代碼實(shí)例,感興趣的同學(xué)可以參考閱讀

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

范數(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ù)-
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-范數(shù)(最大奇異值)
-2最小奇異值

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

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

Frobenius范數(shù)可定義為

 

其實(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為偏移量,表示相對(duì)于主對(duì)角線的偏移
  • 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ù)和行列式的文章就介紹到這了,更多相關(guān)Python求矩陣范數(shù)和行列式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論