#-*- coding: utf-8 -*-
import numpy as np
from numpy import *
m1 = mat([[1,2,3],[4,5,6],[7,8,9]])
m2 = mat([[1],[2],[3]])
m3 = mat([[6,2],[8,5]])
#矩阵转置
print('---------转置---------')
print(m1.T)
print('----------------------')
print(m1.transpose())
#矩阵乘法
print('---------乘法---------')
print(m1*m2)
#矩阵行列数、切片、复制、比较
[m,n]=shape(m1)
print('---------行列---------')
print(m,n)
print('---------行切片---------')
print(m1[0])
print('---------列切片---------')
print(m1.T[0])
print('---------复制---------')
c1=m1.copy()
print(c1)
print('---------比较---------')
print(m1>m1.T)
#行列式、逆、对称、秩、可逆求解线性方程组 Linalg库
print('---------行列式---------')
print(format(linalg.det(m3),'.1f'))
print('---------逆---------')
print(linalg.inv(m3))
print('---------对称---------')
AT=m1.T
print(m1*AT)
print('---------秩---------')
print(linalg.matrix_rank(m1))
print('---------可逆矩阵求解线性方程组---------')
m4=mat([[1,2,4,5,7],[9,12,11,8,2],[6,4,3,2,1],[9,1,3,4,5],[0,2,3,4,1]])
b=[1,0,1,0,1]
print(linalg.solve(m4,transpose(b)))