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

     

  • 相关阅读:
    【MySql】Mysql之备份与恢复
    Spring七大组件
    【高德地图】 覆盖物/画点/画折线/画多边形/画矩形/画圆
    java计算机毕业设计基于springboo+vue的 大学生社团管理系统
    node18 vue2启动报错 error:0308010C:digital envelope routines::unsupported
    ReentrantLock源码剖析
    整理了一些免费API,分享给各位
    说说相机标定?
    好物周刊#11:远程桌面软件
    小程序--本地存储API
  • 原文地址:https://blog.csdn.net/fanxianchao_2012/article/details/126156933