栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第5章相似矩阵及二次型(4)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第5章相似矩阵及二次型(4)

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()    #返回下三角和上三角矩阵

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1033891.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号