利用Python来解决线性代数之矩阵及其运算
2018-03-06 00:42
429 查看
import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([[1, 2], [3, 4]]) C = 3 # 矩阵的加法 print(A+B) [[2 4] [6 8]] print(np.linalg.det(A)) -2.0000000000000004 # 数与矩阵相乘 print(3*A) [[ 3 6] [ 9 12]] # 矩阵与矩阵相乘 A = np.array([[4, -1, 2], [1, 0, 3], [3, 1, 4]]) B = np.array([[1, 2], [0, 1], [3, 0]]) print(np.dot(A, B)) [[10 7] [10 2] [15 7]] # 矩阵的转置 print(A.T) [[ 4 1 3] [-1 0 1] [ 2 3 4]] # 逆矩阵,不是方阵会出错 print(np.linalg.inv(A)) [[ 0.2 -0.4 0.2 ] [-0.33333333 -0.66666667 0.66666667] [-0.06666667 0.46666667 -0.06666667]] # 矩阵分块法 A = np.random.randint(0,9,size=(9,9)) print(A) [[1 3 5 3 7 6 4 5 2] [5 3 2 2 8 4 6 7 0] [1 0 4 3 5 8 0 7 1] [6 7 1 6 1 6 1 0 6] [7 6 6 8 5 4 2 7 0] [4 7 4 6 7 7 8 7 5] [2 7 2 8 6 6 3 2 2] [4 4 2 0 8 1 8 1 0] [0 0 3 1 7 8 4 8 3]] strides = A.itemsize * np.array([27, 3, 9, 1]) #这一步需要好好理解下 A = np.lib.stride_tricks.as_strided(A, shape=(3, 3, 3, 3), strides=strides) print(A) [[[[1 3 5] [5 3 2] [1 0 4]] [[3 7 6] [2 8 4] [3 5 8]] [[4 5 2] [6 7 0] [0 7 1]]] [[[6 7 1] [7 6 6] [4 7 4]] [[6 1 6] [8 5 4] [6 7 7]] [[1 0 6] [2 7 0] [8 7 5]]] [[[2 7 2] [4 4 2] [0 0 3]] [[8 6 6] [0 8 1] [1 7 8]] [[3 2 2] [8 1 0] [4 8 3]]]]
相关文章推荐
- 线性代数 矩阵及其运算
- 利用Python来解决线性代数问题之行列式
- 线性代数-【2-(3-4)】矩阵及其运算 (未完)
- Python 机器学习——线性代数和矩阵运算:从matlab迁移到python
- Python解决线性代数问题之矩阵的初等变换
- 利用python做矩阵的简单运算(行列式、特征值、特征向量等的求解)
- 利用Python来解决线性代数问题之行列式
- 线性代数-【2-1】矩阵及其运算
- 十个利用矩阵乘法解决的经典题目
- 利用python的numpy创建矩阵并对其赋值
- Python Code: 利用QQ邮箱发送邮件,解决SMTPAuthenticationError:530错误
- python对象类型及其运算
- sqlite3 jdbc、c接口、python接口处理中文时遇到的问题及其解决方法
- 利用python中的PIL进行矩阵与图像之间的转换
- 解决Windows系统下python利用matplotlib绘图时中文乱码的问题
- 利用Anaconda完美解决Python 2与python 3的共存问题
- 线性代数-矩阵及其运算(总结)
- 线性代数复习-矩阵及其运算
- opencv 矩阵运算(与python的numpy库略有差异)
- 十个利用矩阵乘法解决的经典题目