線性代數應用

2021-08-20 08:38:11 字數 2692 閱讀 2081

np.linalg.inv(a)

a=np.mat(np.array([[0,1,2],

[1,0,3],

[4,-3,8]]))

print("a:\n",a)-------------------->a:

[[ 0 1 2]

[ 1 0 3]

[ 4 -3 8]]

a_=np.linalg.inv(a)

print("a的逆矩陣:\n",a_)----------->a的逆矩陣:

[[-4.5 7. -1.5]

[-2. 4. -1. ]

[ 1.5 -2. 0.5]]

#驗證a*a_結果是否為乙個單位矩陣

print(a*a_)------------------------>[[1. 0. 0.]

[0.1.0.]

[0.0.1.]]

result=np.linalg.solve(a,b)

x-2y+z=0

2y-8z=8

-4x+5y+9z=-9

a=np.mat("1 -2 1;0 2 -8;-4 5 9")

print("方程組係數:\n",a)----------->方程組係數:

[[ 1 -2 1]

[ 0 2 -8]

[-4 5 9]]

b=np.array([0,8,-9])

# b=np.mat("0 8 -9")

print("常數項:\n",b)-------------->常數項:

[ 08 -9]

#呼叫numpy的solve方法求解

result=np.linalg.solve(a,b)

print("x={},y={},z={}".format(result[0],result[1],result[2]))

--------------->x=29.0,y=16.0,z=3.0

特徵值(eigenvalue)即方程 ax = ax 的根,是乙個標量。其中,a 是一

個二維矩陣,x 是乙個一維向量。特徵向量(eigenvector)是關於特徵值的

向量。在 numpy.linalg 模組中, eigvals 函式可以計算矩陣的特徵值,而

eig 函式可以返回乙個包含特徵值和對應的特徵向量的元組。

vector=np.mat("3 -2;1 0")

print("vector:\n",vector)------------->vector:

[[ 3 -2]

[ 1 0]]

eigenvalues,eigvector=np.linalg.eig(vector)

print("向量的特徵值:\n",eigenvalues)--->向量的特徵值:

[2.1.]print("特徵向量:\n",eigvector)-------->特徵向量:

[[0.89442719 0.70710678]

[0.4472136 0.70710678]]

呼叫numpy中的svd方法對矩陣進行svd(奇異值分解)

svd是一種因子分解運算,將乙個矩陣分解為3個矩陣的乘積在numpy.linalg模組

中的svd函式可以對矩陣進行奇異值分解。該函式返回3個矩陣—— u 、

sigma和 v ,其中 u 和 v 是正交矩陣,sigma包含輸入矩陣的奇異值。

vector=np.mat("4 11 14;8 7 -2")

print(vector)------------------------>[[ 4 11 14]

[ 87 -2]]

u,sigma,v=np.linalg.svd(vector,full_matrices=false)

print("u:\n",u)---------------------->u:

[[-0.9486833 -0.31622777]

[-0.31622777 0.9486833 ]]

print("sigma:\n",sigma)-------------->sigma:

[18.97366596

9.48683298]

print("v:\n",v)---------------------->v:

[[-0.33333333 -0.66666667 -0.66666667]

[ 0.66666667 0.33333333 -0.66666667]]

#將svd分解出的值相乘

print("vector:\n",u*np.diag(sigma)*v)

---------------------->vector:

[[ 4. 11. 14.]

[ 8. 7. -2.]]

vector=np.mat("3 4;5 6 ")

print

(vector)------------------------>[[3

4] [5

6]]value=np.linalg.det(vector)

print

("矩陣行列式的值:\n",value)------>矩陣行列式的值:-2.0000000000000004

線性代數及其應用 《線性代數及其應用》概念筆記

矩陣 乙個陣列。它的核心作用是它是線性方程組的一種判斷解和求解的方法。係數矩陣 線性方程的所有係數構成的乙個陣列。增廣矩陣 係數和引數共同構成的陣列。階梯型矩陣 每一行的第乙個不為零的元素的左邊及其所在列以下全為零。約束變元與自由變元 非零行的首個非零元為約束變元 基本變數 其他的都是自由變元 自由...

《線性代數及其應用》

0.1 以下內容 1.2 讀完這本書之後才覺得以前學習的 線性代數 工程矩陣 什麼的到底是如何用的。以前學這些的時候就是做題,記下公式,定理,幹嘛用的?是怎麼來的,統統不管。而且很多書名都帶有 應用 兩個字,其實內容還是一堆的理論推導,沒有看見半點的應用。這讓我這個學工科的很是頭疼,學了很多的數學知...

線性代數 線性代數的本質

線性代數在機器學習的領域中扮演者十分重要的角色,所以這裡岔開先整理一些線性代數的基本概念和計算方法。這裡是3blue1brown的線性代數課程的截圖和筆記。作為快速複習的網路筆記。本課程的特點 通過影象展現線性代數計算在幾何圖形上意義。這樣能更好的理解線性代數為什麼叫做線性代數。線性代數為什麼採用這...