from sympy.matrices import *
from sympy import symbols
一.向量的内积,长度和正交性
1.向量的内积
a1,a2,a3=symbols('a1,a2,a3')
b1,b2,b3=symbols('b1,b2,b3')
a=Matrix([a1,a2,a3])
b=Matrix([b1,b2,b3])
a.dot(b)
2.向量的长度(模)
a.norm()
3.向量的夹角
a1,a2,a3=symbols('a1,a2,a3')
b1,b2,b3=symbols('b1,b2,b3')
a=Matrix([a1,a2,a3])
b=Matrix([b1,b2,b3])
ab_=a.dot(b)
a_=a.norm()
b_=b.norm()
cosab=ab_/(a_*b_)
cosab
4.向量正交
a1,a2,a3=symbols('a1,a2,a3')
b1,b2,b3=symbols('b1,b2,b3')
a=Matrix([a1,a2,a3])
b=Matrix([b1,b2,b3])
a.cross(b) #返回与a,b向量都相交的向量
5.向量的单位化(单位向量)
a1,a2,a3=symbols('a1,a2,a3')
b1,b2,b3=symbols('b1,b2,b3')
a=Matrix([a1,a2,a3])
b=Matrix([b1,b2,b3])
a.normalized() #向量除以模
6.投影向量
a1,a2,a3=symbols('a1,a2,a3')
b1,b2,b3=symbols('b1,b2,b3')
a=Matrix([a1,a2,a3])
b=Matrix([b1,b2,b3])
a.project(b) #向量a在b中的投影向量
7.正交矩阵
若矩阵A的 逆矩阵等于其转置矩阵A.inv=A.T 或者A*A.T=E,则称A为正交矩阵.
a1,a2,a3=symbols('a1,a2,a3')
b1,b2,b3=symbols('b1,b2,b3')
c1,c2,c3=symbols('c1,c2,c3')
I=[Matrix([1,2,-1]),Matrix([-1,3,1]),Matrix([4,1,0])]
O=GramSchmidt(I,True)
O
二.方阵的特征值和特征向量
1.特征值
A=Matrix([[1,0,2],[0,3,0],[2,0,1]])
A.eigenvals()
2.特征向量
A=Matrix([[1,0,2],[0,3,0],[2,0,1]])
A.eigenvects()
三.相似矩阵
1.矩阵相似对角化
A=Matrix([[1,0,2],[0,3,0],[2,0,1]])
A.jordan_form() #返回两个矩阵: P对角化矩阵和对角矩阵A_
或者A.diagonalize()
2.矩阵的LU分解
A=Matrix([[1,3,4,6],[3,5,7,8],[9,2,1,6],[3,4,5,7]])
A.LUdecomposition() #返回下三角和上三角矩阵
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务