Python求矩陣的范數(shù)和行列式
在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ù) | - |
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ù)可定義為
其實(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)文章希望大家以后多多支持腳本之家!
- python查看矩陣的行列號(hào)以及維數(shù)方式
- Python+numpy實(shí)現(xiàn)矩陣的行列擴(kuò)展方式
- Python3 列表,數(shù)組,矩陣的相互轉(zhuǎn)換的方法示例
- Python 實(shí)現(xiàn)取矩陣的部分列,保存為一個(gè)新的矩陣方法
- python中返回矩陣的行列方法
- python 矩陣增加一行或一列的實(shí)例
- Python的numpy庫中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法
- Python numpy 提取矩陣的某一行或某一列的實(shí)例
- Python編程給numpy矩陣添加一列方法示例
- python矩陣列的實(shí)現(xiàn)示例
相關(guān)文章
python 實(shí)時(shí)調(diào)取攝像頭的示例代碼
這篇文章主要介紹了python 實(shí)時(shí)調(diào)取攝像頭的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11詳談python read readline readlines的區(qū)別
下面小編就為大家?guī)硪黄斦刾ython read readline readlines的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09python讀取查看npz/npy文件數(shù)據(jù)以及數(shù)據(jù)完全顯示方法實(shí)例
前兩天從在GitHub下載了一個(gè)代碼,其中的數(shù)據(jù)集是.npz結(jié)尾的文件,之前沒有見過不知道如何處理,下面這篇文章主要給大家介紹了關(guān)于python讀取查看npz/npy文件數(shù)據(jù)以及數(shù)據(jù)完全顯示方法的相關(guān)資料,需要的朋友可以參考下2022-04-04基于Django ORM、一對(duì)一、一對(duì)多、多對(duì)多的全面講解
今天小編就為大家分享一篇基于Django ORM、一對(duì)一、一對(duì)多、多對(duì)多的全面講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python退出While循環(huán)的3種方法舉例詳解
在每次循環(huán)結(jié)束后,我們需要檢查循環(huán)條件是否滿足。如果條件滿足,則繼續(xù)執(zhí)行循環(huán)體內(nèi)的代碼,否則退出循環(huán),這篇文章主要給大家介紹了關(guān)于Python退出While循環(huán)的3種方法,需要的朋友可以參考下2023-10-10python 遞歸深度優(yōu)先搜索與廣度優(yōu)先搜索算法模擬實(shí)現(xiàn)
這篇文章主要介紹了python 遞歸深度優(yōu)先搜索與廣度優(yōu)先搜索算法模擬實(shí)現(xiàn) ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10