# coding=utf-8
import numpy as np# 矩阵加法 Matrix addition ,同型矩阵可以加减操作,即行列数相等
A = np.array([[3, 2, 1], [1, 2, 3]])
B = np.array([[3, 2, 1], [1, 2, 3]])
print(A + B)# 矩阵数乘 Matrix multiplication
C = np.array([3, 2, 1])
print (C * 2)# 矩阵乘法,A矩阵的列数==B矩阵的行数时可以相乘,结果矩阵的行列数为A矩阵的行数,B矩阵的列数
# 2 x 3
A = np.array([[2, 1, 0], [1, 0, 1]])
# 3 x 2
B = np.array([[1, 0, 1], [0, 1, 1], [0, 1, 1]])
two_multi_res = np.dot(A, B)
print(two_multi_res)# 单位矩阵 Identity matrix
D = np.eye(3)
print(D)# 矩阵的应用 ----> 二维图形的矩阵变换(一)# 缩放
p1 = np.array([[2, 1]])
p2 = np.array([[3, 0], [0, 1]])
p3 = np.dot(p1,p2)
print (p3)# 旋转90度
p1 = np.array([[2, 1]])
p2 = np.array([[0, 1], [-1, 0]])
p3 = np.dot(p1, p2)
print (p3)# 镜像# X轴对称
p1 = np.array([[2, 1]])
p2 = np.array([[1, 0], [0, -1]])
p3 = np.dot(p1, p2)
print (p3)#矩阵的幂运算
from numpy import *
a = mat([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print (power(a, 2))#矩阵转置
from numpy import *
a = mat ( [ [1,2,3],[4,5,6],[7,8,9] ] )
print (a.T)