scipy linalg以及矩陣相關知識學習

2021-08-18 12:27:36 字數 2325 閱讀 6371

1.det(a)行列式

行列式在數學中,是由解

線性方程組

產生的一種算式,是取自不同行不同列的n個元素的乘積的代數和。

n階行列式(定義1)設有n²個數,排成n行n列的表 ,作出表中位於不同行不同列的n個數的乘積,並冠以符號(-1)t,的形式如下的項,其中為自然數1,2,...,n的乙個排列,t為這個排列的逆序數。由於這樣的排列共有n!個,這n!項的代數和稱為n階行列式

①行列式a中某行(或列)用同一數k乘,其結果等於ka。

②行列式a等於其轉置行列式at(at的第i行為a的第i列)。

③若n階行列式|αij|中某行(或列);行列式則|αij|是兩個行列式的和,這兩個行列式的第i行(或列),乙個是b1,b2,…,bn;另乙個是с1,с2,…,сn;其餘各行(或列)上的元與|αij|的完全一樣。

④行列式a中兩行(或列)互換,其結果等於-a。 ⑤把行列式a的某行(或列)中各元同乘一數後加到另一行(或列)中各對應元上,結果仍然是a。

2.inv(a) 逆矩陣

若在相同數域上存在另乙個n階矩陣b,使得: ab=ba=e。 則我們稱b是a的逆矩陣,而a則被稱為

可逆矩陣

。a是可逆矩陣的充分必要條件是∣a∣≠0,即可逆矩陣就是非奇異矩陣。(當∣a∣=0時,a稱為奇異矩陣)

逆矩陣: 設a是數域上的乙個n階

3.eig(a)特徵值

設 a 是n階方陣,如果存在數m和非零n維

列向量x,使得 ax=mx 成立,則稱 m 是a的乙個特徵值(characteristic value)或

本徵值(eigenvalue)。非零n維列向量x稱為矩陣a的屬於(對應於)特徵值m的特徵向量或本徵向量,簡稱a的特徵向量或a的本徵向量。

ax=mx,等價於求m,使得(me-a)x=0,其中e是單位矩陣,0為零矩陣。

|me-a|=0,求得的m值即為a的特徵值。|me-a| 是乙個n次多項式,它的全部根就是n階方陣a的全部特徵值,這些根有可能相重複,也有可能是複數。

如果n階矩陣a的全部特徵值為m1 m2 ... mn,則|a|=m1*m2*...*mn

同時矩陣a的跡是特徵值之和:tr(a)=m1+m2+m3+…+mn

4.矩陣分解

(1)lu:三角分解 分解為兩個上下三角矩陣,用於簡化大矩陣行列式值的運算過程、求逆矩陣、求解聯立方程組。

(2)qr:qr

分解法是將矩陣分解成乙個正規正交矩陣與上三角形矩陣,所以稱為qr分解法,與此正規正交矩陣的通用符號q有關。

(3)svd:奇異值分解 (singular value decomposition,svd) 是另一種正交矩陣

分解法;svd是最可靠的分解法,但是它比qr 分解法要花上近十倍的計算時間。[u,s,v]=svd(a),其中u和v分別代表兩個正交矩陣,而s代表一

對角矩陣

。 和qr分解法相同, 原矩陣a不必為正方矩陣。使用svd分解法的用途是解最小平方誤差法和資料壓縮。

(4)schur:???用迭代方法進行逼近的矩陣分解

#!/usr/bin/env python

# -*- coding:utf-8 -*-

fromscipyimportlinalgaslg

importnumpyasnp

arr = np.array([[1, 2], [3, 4]]) # 定義矩陣 #

print("det:", lg.det(arr))# 求行列式 #

print("inv:", lg.inv(arr))# 求逆矩陣 #

b = np.array([6,14])

print("sol:",lg.solve(arr,b))#解方程組#

print("eig:",lg.eig(arr))#求特徵值#

print("lu:",lg.lu(arr))

print("qr:",lg.qr(arr))

print("svd:",lg.svd(arr))

print("schur:",lg.schur(arr))

演算法 矩陣以及運用

定義 在數學中,矩陣是乙個按照長方陣列排列的複數或實數集合 這是乙個很簡單的定義。矩陣加減法 對於兩個相同大小的矩陣,直接把相同位置的元素相加即可,如下圖 這個好像並沒有什麼用 對於兩個矩陣,當且僅當其中乙個矩陣的行與另乙個矩陣的列時,兩個矩陣相乘才有意義。設 a 為 p m 的矩陣,b 為 m q...

矩陣乘法 dot 以及

a1 np.array 1,2,1 2,3,4 dot在雙方是二位陣列即矩陣時為正常的矩陣運算 b1 np.array 1,2,3 則可以應用於矩陣與向量的運算,矩陣裡的元素乘以向量對應位置的元素 a1.dot b1 b1 a1 array 8,20 array 1,4,3 2,6,12 a1 np...

MATLAB特殊矩陣以及矩陣轉置

特殊矩陣 通用特殊矩陣 zeros函式 產生全0矩陣,即零矩陣。ones函式 產生.1矩陣,即么矩陣。eye函式 產生對角線為1的矩陣,當矩陣是方正時,得到單位矩陣。rand函式 產生 0,1 區間均勻分布的隨機矩陣。randn函式 產生均值為0,方差為1的標準正態分佈隨機矩陣。zeros m 產生...