Python--numpy 矩阵操作

  • numpy矩阵库(Matrix)

     numpy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是ndarray 对象。
     
     一个m*n的矩阵是一个由m行(row)n列(column)元素排列成的矩形阵列。
     
     矩阵里的元素可以是数字、符号或数学式。
     
     numpy 和matlab 不一样,对于多维数组的运算,缺省情况下不适用矩阵运算,如果你希望对数组进行矩阵运算的话,可以调用ndarray对象相应的函数
    
  • numpy 矩阵生成

      np.matrix()函数
    
      np.matlib.empty(shape,dtype,order)
      【shape:定义新矩阵形状的整数或整数元组; dtype:可选,数据类型;order:C(行序优先)或F(列序优先)】
      
      np.matlib.zeros()
      
      np.matlib.ones()
      
      np.matlib.eye(n,M,k,dtype)
      【返回矩阵,对角线元素为1,其他位置为0】
      【区别于identity()*单位矩阵】
      【n 行数;M 列数,默认为n ; k: 对角线的索引;dtype: 数据类型】
      
      np.matlib. identity() 
      【返回给定大小的矩阵,方阵】		
    
      np.matlib.rand()
      【创建给定大小的矩阵,数据随即填充,数据范围(0,1)】
    
  • numpy矩阵常用操作

      矩阵与二维数组相互转换:矩阵总是二维的,而ndarray是一个n维数组。(n=2时,两个对象是可互换的)
      
      矩阵转置
      
      矩阵乘法
    
    	import numpy as np
    	
    	x = np.matirx([[1,2,3],[4,5,6]])
    	y = np.matrix([1,2,3,4,5,6])
    	print(x.T,y.T,sep='\n\n')
    	
    	[[1 4]
    	 [2 5]
    	 [3 6]]
    	
    	[[1]
    	 [2]
    	 [3]
    	 [4]
    	 [5]
    	 [6]]
    	```
    	矩阵转置
    

.argmax(axis=1) 返回横向最大值
.diagonal() 返回对角线元素

  • 矩阵运算

      ###常用的numpy.linalg.函数
    
      diag 以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换为方阵(非对角线元素为0)
    
      dot 矩阵乘法
      【1.对于两个一维数组,计算的是这两个数组对应下标元素的乘积和(内积)
        2.对于二维数组,计算的是两个数组的矩阵乘积
        3.对于多维数组 (通用公式,详情见度娘)】
        
      vdot 
      【返回两个向量的点积,若第一个数是复数,那么它的共轭复数会用于计算。如果参数是多维数组,它会被展开】
      
      trace 计算对角线元素的和
      
      det 计算矩阵行列式
      
      eig 计算方阵的特征值和特征向量
      
      inv 计算方阵的逆
      【设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得AB=BA=E,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。(E为单位矩阵)】
      
      svd 计算奇异值分解
      
      solve 解线性方程组Ax=b,其中A为一个方阵
      
      lstsq 计算Ax =b 的最小二乘解
    
import numpy as np

x = np.([[1,2],[3,4]])
y = np.linalg.inv(x)
print(x)
print(y)
print(np.dot(x,y))
#检验逆矩阵
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值