task09 線性代數

2021-10-10 23:24:23 字數 2348 閱讀 5523

矩陣的定義、矩陣的加法、矩陣的數乘、矩陣的轉置與二維陣列完全一致,但矩陣的乘法有不同的表示。numpy.dot(a, b[, out])計算兩個矩陣的乘積,如果是一維陣列則是它們的內積。

import numpy as np

x = np.array([1

,2,3

,4,5

])y = np.array([2

,3,4

,5,6

])z = np.dot(x, y)

print

(z)# 70

x = np.array([[

1,2,

3],[

3,4,

5],[

6,7,

8]])

print

(x)# [[1 2 3]

# [3 4 5]

# [6 7 8]]

y = np.array([[

5,4,

2],[

1,7,

9],[

0,4,

5]])

print

(y)# [[5 4 2]

# [1 7 9]

# [0 4 5]]

z = np.dot(x, y)

print

(z)# [[ 7 30 35]

# [ 19 60 67]

# [ 37 105 115]]

z = np.dot(y, x)

print

(z)# [[ 29 40 51]

# [ 76 93 110]

# [ 42 51 60]]

numpy.linalg.eig(a)計算方陣的特徵值和特徵向量。

numpy.linalg.ei**als(a)計算方陣的特徵值。

【例1】求方陣的特徵值特徵向量

import numpy as np

# 建立乙個對角矩陣!

x = np.diag((1

,2,3

))print

(x)# [[1 0 0]

# [0 2 0]

# [0 0 3]]

print

(np.linalg.ei**als(x)

)# [1. 2. 3.]

a, b = np.linalg.eig(x)

# 特徵值儲存在a中,特徵向量儲存在b中

print

(a)# [1. 2. 3.]

print

(b)# [[1. 0. 0.]

# [0. 1. 0.]

# [0. 0. 1.]]

# 檢驗特徵值與特徵向量是否正確

for i in

range(3

):if np.allclose(a[i]

* b[

:, i]

, np.dot(x, b[

:, i]))

:print

('right'

)else

:print

('error'

)# right

# right

# right

【例2】判斷對稱陣是否為正定陣(特徵值是否全部為正)。

import numpy as np

a = np.arange(16)

.reshape(4,

4)print

(a)# [[ 0 1 2 3]

# [ 4 5 6 7]

# [ 8 9 10 11]

# [12 13 14 15]]

a = a + a.t # 將方陣轉換成對稱陣

print

(a)# [[ 0 5 10 15]

# [ 5 10 15 20]

# [10 15 20 25]

# [15 20 25 30]]

b = np.linalg.ei**als(a)

# 求a的特徵值

print

(b)# [ 6.74165739e+01 ‐7.41657387e+00 1.82694656e‐15 ‐1.72637110e‐15]

# 判斷是不是所有的特徵值都大於0,用到了all函式,顯然對稱陣a不是正定的

if np.

all(b >0)

:print

('yes'

)else

:print

('no'

)# no

矩陣分解部分本文科生已經看不懂了…跳過不記錄了…

MIT 線性代數筆記 09

mit 公開課 gilbert strang 線性代數 課程筆記 彙總 lecture 9 independence,basis,and dimension 課程 9 線性無關性 基 維數 線性無關 向量生成的空間 基 那麼稱 v1 v2,vd 是 v的一組基。線性空間 v的任何一組基中所含向量的個...

Python程式設計基礎Task09

在函式內,或者 在引號內編寫文件。引數註解 defaccumlate x int y int return x y 返回值註解 defaccumlate x int y int int return x y 在閉包中要使用nonlocal關鍵字對需要更改的變數進行宣告 首元素從小到大排序 a 6,5...

線性代數 線性代數的本質

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