久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Python 如何求矩陣的逆

瀏覽:53日期:2022-06-25 13:56:15

我就廢話不多說了,大家還是直接看代碼吧~

import numpy as np kernel = np.array([1, 1, 1, 2]).reshape((2, 2))print(kernel)print(np.linalg.inv(kernel))

Python 如何求矩陣的逆

注意,Singular matrix奇異矩陣不可求逆

Python 如何求矩陣的逆

補(bǔ)充:python+numpy中矩陣的逆和偽逆的區(qū)別

定義:

對于矩陣A,如果存在一個(gè)矩陣B,使得AB=BA=E,其中E為與A,B同維數(shù)的單位陣,就稱A為可逆矩陣(或者稱A可逆),并稱B是A的逆矩陣,簡稱逆陣。(此時(shí)的逆稱為凱利逆)

矩陣A可逆的充分必要條件是|A|≠0。

偽逆矩陣是逆矩陣的廣義形式。由于奇異矩陣或非方陣的矩陣不存在逆矩陣,但可以用函數(shù)pinv(A)求其偽逆矩陣。

基本語法為X=pinv(A),X=pinv(A,tol),其中tol為誤差,pinv為pseudo-inverse的縮寫:max(size(A))*norm(A)*eps。

函數(shù)返回一個(gè)與A的轉(zhuǎn)置矩陣A’ 同型的矩陣X,并且滿足:AXA=A,XAX=X.此時(shí),稱矩陣X為矩陣A的偽逆,也稱為廣義逆矩陣。

pinv(A)具有inv(A)的部分特性,但不與inv(A)完全等同。

如果A為非奇異方陣,pinv(A)=inv(A),但卻會耗費(fèi)大量的計(jì)算時(shí)間,相比較而言,inv(A)花費(fèi)更少的時(shí)間。

代碼如下:

1.矩陣求逆

import numpy as npa = np.array([[1, 2], [3, 4]]) # 初始化一個(gè)非奇異矩陣(數(shù)組)print(np.linalg.inv(a)) # 對應(yīng)于MATLAB中 inv() 函數(shù)# 矩陣對象可以通過 .I 求逆,但必須先使用matirx轉(zhuǎn)化A = np.matrix(a)print(A.I)2.矩陣求偽逆

import numpy as np# 定義一個(gè)奇異陣 AA = np.zeros((4, 4))A[0, -1] = 1A[-1, 0] = -1A = np.matrix(A)print(A)# print(A.I) 將報(bào)錯(cuò),矩陣 A 為奇異矩陣,不可逆print(np.linalg.pinv(A)) # 求矩陣 A 的偽逆(廣義逆矩陣),對應(yīng)于MATLAB中 pinv() 函數(shù)

這就是矩陣的逆和偽逆的區(qū)別

截至2020/10/4,matrix函數(shù)還可以使用,但已經(jīng)過時(shí),應(yīng)該是mat函數(shù)這種。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 东乌珠穆沁旗| 阿勒泰市| 徐闻县| 洪泽县| 谷城县| 桃源县| 上饶市| 北海市| 泾川县| 福清市| 怀仁县| 黑水县| 古田县| 莎车县| 泰和县| 尼勒克县| 聊城市| 精河县| 定兴县| 通城县| 丰台区| 湘潭市| 金川县| 普安县| 青海省| 阿尔山市| 泾川县| 师宗县| 平昌县| 隆昌县| 得荣县| 宜良县| 玉溪市| 治县。| 江山市| 额济纳旗| 宣威市| 舒城县| 西青区| 于都县| 秀山|