当前位置:   article > 正文

python----Numpy知识总结(linalg、三种乘法、argmax)_np.linalg.det含义

np.linalg.det含义

Numpy知识总结(linalg、三种乘法、argmax)

np.linalg

1.np.linalg.det():矩阵求行列式
2.np.linalg.inv():矩阵求逆
3.np.linalg.norm():求范数

norm(x, ord=None, axis=None, keepdims=False)

axis=1表示按行向量处理,求多个行向量的范数
axis=0表示按列向量处理,求多个列向量的范数
axis=None表示矩阵范数。
keepdims:是否保持矩阵的二维特性,True表示保持矩阵的二维特性,False相反

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DQadKRHr-1635909660965)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images\image-20211030125233972.png)]

x=np.array([[0, 3, 4], [2, 6, 4]])
#  [0, 3, 4]
#  [2, 6, 4]
#求行列式的值
np.linalg.det(x)
#求矩阵的逆
np.linalg.inv(x)
#1范数
np.linalg.norm(x, ord=1)
#2范数
np.linalg.norm(x, ord=2)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

三种乘法

1.np.multiply()

数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致

2.np.dot() eg.只支持两个矩阵相乘,多个连乘需要进行嵌套

对于秩为1的数组,执行对应位置相乘,然后再相加;

对于秩不为1的二维数组,执行矩阵乘法运算

3.*乘法运算

对数组执行对应位置相乘

对矩阵执行矩阵乘法运算

A = array([[1, 2],
       [3, 4]])
B = array([[0, 1],
       [2, 3]])
np.multiply(A,B)       #数组对应元素位置相乘
#array([[ 0,  2],
#       [ 6, 12]])

np.dot(A,B)    #对数组执行矩阵相乘运算
#array([[ 4,  7],
#       [ 8, 15]])

A*B  #对应位置点乘
(np.mat(A))*(np.mat(B))  #执行矩阵运算
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

np.argmax

返回最大元素的索引 axis 0列 1行

a = np.array([3, 1, 2, 4, 6, 1])
print(np.argmax(a))
#4  从0开始的索引
a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print(np.argmax(a, axis=1))   #axis=1表示每行的最大值索引  
#[1,0,2]

a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print(np.argmax(a, axis=0))   #axis=0表示每列的最大值索引 
#[1,2,2,1]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/119054
推荐阅读
相关标签
  

闽ICP备14008679号