線性代數與Python

2022-03-02 15:18:38 字數 2537 閱讀 8192

1.向量

1.1向量例子

1.2向量加法與減法

1.3向量的乘法

2.矩陣

2.1矩陣例子

2.2矩陣的形狀

2.3矩陣的建立函式

向量是指可以加總(以生成新的向量),可以乘以標量(即數字),也可以生成新的向量的物件。

向量是有限維空間的點。

向量以分量方式(componentwise)做運算。這意味著,如果兩個向量v 和w 長度相同,那它們的和就是乙個新的向量,其中向量的第乙個元素等於v[0] + w[0],第二個元素等於v[1] + w[1],以此類推。(如果兩個向量長度不同,則不能相加。)

def vector_add(v, w):

retrun [v_i + w_i for v_i, w_i in zip(v,w)]

def vector_add(v, w):

retrun [v_i - w_i for v_i, w_i in zip(v,w)]

def vector_sum(*vectors):

result = vectors[0]

for vector in vectors[1:]:

result = vector_add(result, vector)

return result

#方法2

import functools import reduce

def vector_sum(*vectors):

return reduce(vector_add, vectors)

def scalar_multiply(c,v):

return [c * v_i for v_i in v]

def vector_mean(*vectors):

n = len(vectors)

return scalar_multiply(1/n, vector_sum(vectors))

def dot(v,w):

return sum(v_i * w_i for v_i, w_i in zip(v,w))

def sum_of_squares(v)

return dot(v,v)

import math

def magnitude(v)

return math.sqrt(sum_of_squares(v))

def squared_distance(v,w):

return sum_of_squares(vector_subtract(v,w))

def distance(v,w):

return math.squrt(squared_distance(v,w))

# return magnitude(vector_subtract(v,w))

矩陣是乙個二維的資料集合。我們將矩陣表示為列表的列表,每個內部列表的大小都一樣,表示矩陣的一行。如果a是乙個矩陣,那麼a[i][j]就表示第i行第j列的元素。按照數學表達的慣例,我們通常用大寫字母表示矩陣。

如果乙個矩陣有n 行k 列,則可以記為n×k 矩陣。我們可以把這個n×k 矩陣的每一行都當作乙個長度為k 的向量,把每一列都當作乙個長度為n 的向量:

參考《資料科學入門》

python與線性代數 線性變換

矩陣變換由r n r n到rm r m的乙個變換 或稱函式,對映 t t 是乙個規則,它把rn role presentation style position relative rnr n中每個向量 x x 對應以rm role presentation style position relati...

線性代數 線性代數的本質

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

python與線性代數 向量方程

r2 r 2所有兩個元素的向量的集記為r2 r 2,r r 表示向量中的元素是實數,而指數2表示每個向量包含兩個元素.元素用w1 w2 role presentation style position relative w1,w2w1 w2表示,代表任意實數.r2 r 2中兩個向量相等,當且僅當對應...