2021-07-13

  • (1)np.linalg.inv():矩阵求逆
  • (2)np.linalg.det():矩阵求行列式(标量)
  • >>> x = np.array([3, 4])
    >>> np.linalg.norm(x)
    5.
    >>> np.linalg.norm(x, ord=2)
    5.
    >>> np.linalg.norm(x, ord=1)
    7.
    >>> np.linalg.norm(x, ord=np.inf)
    4
    # -*- coding: utf-8 -*-
    """
    Created on Mon Oct  8 16:02:57 2018
    Python 3.6
    scipy 1.1.0
    @author: hanzi5
    """
    import numpy as np
    import scipy as sc
    from scipy import linalg
    
    #A=np.mat([[4,-2],[3,-1]])
    A=np.mat([[4,2,-5],[6,4,-9],[5,3,-7]],dtype=int)
    
    A.A # 返回自身数据的2维数组的一个视图(没有做任何的拷贝);矩阵->数组变换
    A.T # 返回自身的转置
    A.H # 返回自身的共轭转置,实数等同于T
    A.I # 返回自身的逆矩阵
    B=np.linalg.inv(A) # 返回自身的逆矩阵(np中的函数)
    A_abs=np.linalg.det(np.round(A)) #使用linalg.det求得方阵的行列式
    A_bansui=B*A_abs # 求A矩阵的伴随矩阵
    
    A.trace() #计算A的迹,方阵的迹就是主对角元素之和
    np.linalg.det(A) #返回的是矩阵a的行列式
    np.linalg.norm(A,ord=None) #计算矩阵a的范数
    np.linalg.eig(A) #矩阵a的特征值和特征向量
    np.linalg.cond(A,p=None) #矩阵a的条件数
    np.linalg.inv(A) #矩阵a的逆矩阵
    np.linalg.matrix_rank(A) #矩阵的秩,矩阵排除线性相关后不为0的行
    求解矩阵的特征值及特种向量,检测计算结果是否正确
    
    # 矩阵的特征值及特征向量求解
    x = np.diag((1, 2, 3))#创建一个对角矩阵!
    a,b = np.linalg.eig(x)#特征值保存在a中,特征向量保存在b中
    np.linalg.eigvals(A) # 特征值
    
    #根据公式 Ax = λx 检验特征值与特征向量是否正确:
    for i in range(3):#方法一
        if np.allclose(np.dot(a[i], b[:, i]), x[:, i]):#np.allclose()
            print( 'Right')
        else:
            print( 'Error')
    
    for i in range(3):#方法二
        if (np.dot(a[i], b[:, i]) == x[:, i]).all():
            print( 'Right')
        else:
            print( 'Error')
    
    # 矩阵LU分解
    l,u = sc.linalg.lu(A,True)
    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值