矩阵点乘

在numpy中,*号用来对矩阵进行逐元素乘积
我们熟悉的矩阵点乘,用dot函数

举个栗子:

import numpy as np
x = np.array([[1, 2], [2, 3]])   # 2*2矩阵
y = np.array([[4, 5], [6, 7]])   # 2*2矩阵
print(x * y)             # 逐元素相乘
# [[ 4 10]
#  [12 21]]
print(x.dot(y))          # 点乘
# [[16 19]
#  [26 31]]

注意:矩阵点乘时需要保证x的列数与y的行数相等。

另外,事情一旦牵扯到一维数组,就会变得比较奇怪。
按一贯的思维,一维数组应该是个行数为1,列数为元素个数的矩阵。
但在点乘计算时,却好像不是这样子的…`

import numpy as np
x = np.array([[1, 2, 3],[4, 5, 6]])   # 2*3矩阵
y = np.array([1, 2, 3])    # 一维数组
y_1 = np.array([[1],[2],[3]])      # 3*1矩阵
print(np.dot(x, y))
# [14 32]
print(np.dot(x, y_1))
# [[14]
#  [32]]

在这个栗子中,一维数组[1, 2, 3]是作为一个3*1的矩阵来操作的,而且dot函数返回了一个一维数组。

总结一下:
一个矩阵和一个长度合适的一维数组之间的矩阵乘积,结果是一个一维数组。

.

矩阵的转置、逆、行列式和特征值

numpy.linalg拥有一个矩阵分解的标准函数集。其中包含常见的求逆、行列式等操作。

  • X.T:返回X的转置
  • inv(X):返回X的逆矩阵
  • det(X):返回X的行列式
  • eig(X):返回X的特征值和特征向量

下面举个栗子:

import numpy as np
from numpy.linalg import inv,eig, det
x = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])   # 3阶方阵
trans = x.T
# [[1 4 7]
#  [2 5 8]
#  [3 6 9]]
inverse = inv(x)
# [[ 3.15251974e+15 -6.30503948e+15  3.15251974e+15]
#  [-6.30503948e+15  1.26100790e+16 -6.30503948e+15]
#  [ 3.15251974e+15 -6.30503948e+15  3.15251974e+15]]
determinant = det(x)
# -9.51619735392994e-16
eigen_value, eigen_vector = eig(x)
# [ 1.61168440e+01 -1.11684397e+00 -9.75918483e-16]
# [[-0.23197069 -0.78583024  0.40824829]
#  [-0.52532209 -0.08675134 -0.81649658]
#  [-0.8186735   0.61232756  0.40824829]]

参考资料

《利用python进行数据分析》

python矩阵操作:dot、inv、det、eig相关推荐

  1. python矩阵操作_Python中的矩阵操作

    Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包. NumPy 是一个非常优秀的提供矩阵操作的包.N ...

  2. python 矩阵操作

    [问题描述] 输入一个N阶矩阵(3≤N≤10且N为奇数),矩阵中元素均为整数,取值在-1000至+1000之间.将该矩阵中元素的最大值放在矩阵中心,元素的最小值放在矩阵的四个边界上,其余位置换成原矩阵 ...

  3. Python 矩阵基本运算【numpy】

    文章目录 一.实验说明 二.Python 矩阵基本运算 1. python矩阵操作 2. python矩阵乘法 3. python矩阵转置 4. python求方阵的迹 5. python方阵的行列式 ...

  4. Python矩阵基本运算

    文章目录 一.python矩阵操作 二.python 矩阵乘法 三.python 矩阵转置 四.python 求方阵的迹 五.python 方阵的行列式计算方法 六.python 求逆矩阵 / 伴随矩 ...

  5. python矩阵的基本运算

    文章目录 一.python矩阵操作 二.python矩阵乘法 三.python矩阵转置 四.python求方阵的迹 五.python方阵的行列式计算方法 六.python求逆矩阵/伴随矩阵 七. py ...

  6. python矩阵变化_python矩阵变换

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 感觉差不多了吧! 2.灰度共生矩阵特征量(字写的不好,请见谅)2.1对比度度量 ...

  7. 范德蒙德矩阵在MATLAB中怎么表示,Python 之 Python与MATLAB 矩阵操作总结

    Python 之 Python与MATLAB 矩阵操作小结 一.线形代数理论基础 线形代数(linear algebra)是数学的一个分支,研究矩阵理论.向量空间.线性变换和有限维线形方程组等内容. ...

  8. [转载] numpy.dot numpy.linalg.eig numpy.linalg.svd np.linalg.inv 用法 + 例子

    参考链接: Python中的numpy.dot numpy.dot() x是mn 矩阵 ,y是nm矩阵 则x.dot(y) 得到m*m矩阵 >>> np.dot(3, 4) 12 & ...

  9. python正态分布随机数_Python使用numpy产生正态分布随机数的向量或矩阵操作示例...

    本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作.分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian ...

最新文章

  1. Git学习系列之一些常用的Git命令收录更新ing
  2. RACER: Rapid and accurate correction of errors in reads 快速、准确地修正读数中的错误
  3. jedis_通过Jedis API使用排序集
  4. Spring Cloud Alibaba到底坑不坑?
  5. springboot接入cas单点登录后跳转不到我需要跳转到页面_单点认证的一点心得
  6. open live writer
  7. [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
  8. ffmpeg 截图太模糊了_PPT图片模糊?导师说放大!
  9. Zend Framework学习(3)第一个zend应用
  10. 电导增量法matlab,基于变步长电导增量法MPPT研究.doc
  11. 在 GitHub 上创建一个 Swift 包:其实一点也不简单
  12. mysql+基本代码_PHP+MySQL扎实基本功十句话_php
  13. 在VirtualBox中体验Fedora15与GNOME3
  14. U盘恢复软件,U盘格式化后怎么恢复数据
  15. 人工智能(4)发展现状及未来趋势
  16. 工控行业学什么编程语言比较好_机器人学中最流行的10种编程语言
  17. 2021年茶艺师(初级)新版试题及茶艺师(初级)考试总结
  18. 王飞跃谈正来临的第五次工业革命:“未来一定有多个平行的你”
  19. KUKA youbot机械臂与Moveit工具包(2)
  20. CS106B Assignment #4:Boggle

热门文章

  1. 特定偏好的效用函数——CES效用函数
  2. Robust stochastic frontier analysis
  3. JS — 声明与引入
  4. InDesign Quick Start InDesign快速入门 Lynda课程中文字幕
  5. 【pandas数据分析】pandas数据结构
  6. 2020软件开发趋势预测(学习总结)
  7. 【C语言】memcmp、memcpy、memmove、memset、memchr函数详解
  8. 视频知识点(23)- TS格式详解指南
  9. FI: FICO期初数据
  10. 如何写好一份解决方案?