1. 程式人生 > >python diag函式詳解

python diag函式詳解

 

線性代數是代數學的一個分支,主要處理線性關係問題。線性關係意即數學物件之間的關係是以一次形式來表達的。例如,在解析幾何裡,平面上直線的方程是二元一次方程;空間平面的方程是三元一次方程,而空間直線視為兩個平面相交,由兩個三元一次方程所組成的方程組來表示。含有n個未知量的一次方程稱為線性方程。關於變數是一次的函式稱為線性函式。線性關係問題簡稱線性問題。解線性方程組的問題是最簡單的線性問題。

所謂“線性”,指的就是如下的數學關係:  

其中, 叫線性運算元或線性對映。所謂“代數”,指的就是用符號代替元素和運算,也就是說:我們不關心上面的x,y是實數還是函式,也不關心f是多項式還是微分,我們統一把他們都抽象成一個記號,或是一類矩陣。合在一起,線性代數研究的就是:滿足線性關係     的線性運算元f都有哪幾類,以及他們分別都有什麼性質。來源:百度百科

np.linalg.norm:

基本語法:norm(x, ord=None, axis=None, keepdims=False)
#x表示要度量的向量,ord表示範數的種類
引數    說明    計算方法
預設    二範數:ℓ2    x21+x22+…+x2n−−−−−−−−−−−−−−−√
ord=2    二範數:ℓ2    同上
ord=1    一範數:ℓ1    |x1|+|x2|+…+|xn|
ord=np.inf    無窮範數:ℓ∞    max(|xi|)
比如:
import numpy as np
x=np.array([3,4])
print(np.linalg.norm(x))
#5    根號(3^2+4^2)
print(np.linalg.norm(x,ord=1))
#7  3+4=7
print(np.linalg.norm(x,ord=np.inf))
#4    4是最大值

##使用inv函式計算逆矩陣
inv = np.linalg.inv(A)
print(inv)
# 檢查原矩陣和求得的逆矩陣相乘的結果為單位矩陣
print(A*inv)
# 注:矩陣必須是方陣且可逆,否則會丟擲LinAlgError異常