python线性代数 一

这个系列是Gilbert Strang的麻省理工公开课:线性代数 的python实现
课程地址:http://open.163.com/special/opencourse/daishu.html

课二:矩阵消元

如何解线性方程组Ax=b:
用numpy库的linalg.solve方法,也可以用scipy.linalg.solve

import numpy as np
A= np.array([[1,2,1],[3,8,1],[0,4,1]])
b = np.array([2,12,2])
x = np.linalg.solve(a,b)
print(c)

A是矩阵A,b是右侧矩阵,x是向量

课三:矩阵乘法与逆矩阵

numpy当中有两种矩阵,array与matrix,一般情况都用array


python线性代数 一_第1张图片
9f50bad8602b35063c81451e866e418.png

当对array进行乘法运算时,直接a*b得到的是数量积,即矩阵各个位置的元素分别相乘。


af0c8c7a493cfc5c95e695284ec880b.png

而MIT公开课里讲的矩阵乘法需要用到numpy.dot()
python线性代数 一_第2张图片
3e7e5e34a92d8c489d46cb81269ea83.png

注意矩阵乘法中两个矩阵的左右位置不同运算结果也不同
当用matrix进行矩阵乘法运算时则不同,a*b和numpy.dot()都是遵循矩阵乘法运算规则。


python线性代数 一_第3张图片
c81ee113fca437d4fc5ff086f09d446.png

你可能感兴趣的:(python线性代数 一)