Python 中的几种矩阵乘法 np.dot, np.multiply, *
使用array时,运算符 * 用于计算数量积(点乘),函数 dot() 用于计算矢量积(叉乘).
使用matrix时,运算符 * 用于计算矢量积,函数 multiply() 用于计算数量积.
下面是使用array时:
1. 同线性代数中矩阵乘法的定义: np.dot()
np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。
2. 对应元素相乘 element-wise product: np.multiply(), 或 *
在Python中,实现对应元素相乘,有2种方式,一个是np.multiply(),另外一个是*。这两种的效果是一样的。
请看代码:
#!/usr/bin/env python3
# -*- coding: utf-8 import numpy as np X = np.array([[1,2],[3,4]])
Y = np.array([[5,6],[7,8]]) a1 = np.dot(X,Y)
print('np.dot(X,Y)=\n',a1) a2 = np.multiply(X,Y)
print('np.multiply(X,Y)=\n',a2)
运行结果:
np.dot(X,Y)=
[[19 22]
[43 50]]
np.multiply(X,Y)=
[[ 5 12]
[21 32]]
X*Y=
[[ 5 12]
[21 32]]
Python 中的几种矩阵乘法 np.dot, np.multiply, *的更多相关文章
- Python 中的几种矩阵乘法 np.dot, np.multiply, *【转】
本文转载自:https://blog.csdn.net/u012609509/article/details/70230204 Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.d ...
- Python中的几种矩阵乘法(转)
一. np.dot() 1.同线性代数中矩阵乘法的定义.np.dot(A, B)表示: 对二维矩阵,计算真正意义上的矩阵乘积. 对于一维矩阵,计算两者的内积. 2.代码 [code] import ...
- Python中的三种数据结构
Python中,有3种内建的数据结构:列表.元组和字典.1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.列表中的项目.列表中的项目应该包括在方括号中,这 ...
- python中的三种输入方式
python中的三种输入方式 python2.X python2.x中以下三个函数都支持: raw_input() input() sys.stdin.readline() raw_input( )将 ...
- 简单谈谈Python中的几种常见的数据类型
简单谈谈Python中的几种常见的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等 ...
- Python中的几种数据类型
大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"hello" ...
- Python中的两种结构dict和set
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 假设要根据同学的名字查找对应的成绩 如果 ...
- Python中的7种可调用对象
Python中有七种可调用对象,可调用对象可使用内置函数callable来检测 一.用户自定义的函数: 使用def语句或者lambda表达式创建的函数. 二.内置函数: 使用C语言实现的函数,如len ...
- Python中的两种路径
Java中有两种路径,一种是操作系统的路径path,另一种是类路径classpath. Python中也是如此,一种是操作系统环境变量中的path,另一种是PYTHONPATH. 当import xx ...
随机推荐
- Python框架之Tornado(二)预备知识epoll最好的讲解
问:epoll 或者 kqueue 的原理是什么?为什么 epoll 和 kqueue 可以用基于事件的方式,单线程的实现并发?我没看过 linux 内核,对这方面一直有疑问…… 必须从很多基础的概念 ...
- Kattis - pseudoprime 【快速幂】
题意 给出两个数字 P 和 A 当p 不是素数 并且 满足a^p≡a(mod p) 就输出 yes 否则 输出 no 思路 因为 数据范围较大,用快速幂 AC代码 #include <cstdi ...
- 建议40:深入掌握ConfigParser
# -*- coding:utf-8 -*- ''' 1.getboolean() 根据一定的规则将配置项的值转换为布尔值 getboolean() 的真值规则: 0.no.false 和off 都会 ...
- linux环境vim升级到vim74
作为编辑器之神,vim7.4已经发布近两个月了.从vim7.3到vim7.4,时隔两年之久,做了多项改正和性能提升,作为Linux Geeksters的你,怎能错过. 由于各大主流linux操作系统都 ...
- PHP类的变量与成员,及其继承、访问与重写要注意的问题
PHP的类及其实例: <?php ?> 后期静态绑定:为了避免子类重写静态属性后,使用继承来的方法仍然方法父类的静态属性,PHP5.3增加了一个新的语法,后期静态绑定,使用static关 ...
- C++字符串操作库函数
#include <bits/stdc++.h> using namespace std; int main() { ]="; ]="abcdefg"; ]= ...
- 为WebBrowser指定IE内核版本(MSIE 7.0)
.Web Browser Control – Specifying the IE Version http://www.west-wind.com/weblog/posts/2011/May/21/W ...
- 如何用Spring框架的<form:form>标签实现REST风格的增删改查操作
1.首先创建两个bean类,Employee(职工)和Department(部门),一个部门可以有多个职工 Employee类(属性:职工ID:id:姓名:lastName:邮箱:email:性别:g ...
- 经典的MapReduce1解析
MapReduce1任务图解 最顶层包含4个独立的实体客户端,提交MapReduce作业jobtracker,协调作业的运行.Jobtracker是一个Java应用程序,它的主类是JobTracker ...
- Spring初学之spring的事务管理xml
所有的java类都是用的上一篇文章:Spring初学之spring的事务管理 不同的是,这时xml配置事务,所以就要把java类中的那些关于spring的注解都删掉,然后在xml中配置,Applica ...