张量积 一般指的是Kronecker product a⊗b

很显然,该运算不遵守交换律。

import numpy as np
a = np.eye(3)
b = np.ones((3,2,3))
c = np.kron(a,b)

a

array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])

b

array([[[ 1.,  1.,  1.],
        [ 1.,  1.,  1.]],

[[ 1.,  1.,  1.],
        [ 1.,  1.,  1.]],

[[ 1.,  1.,  1.],
        [ 1.,  1.,  1.]]])

c

array([[[ 1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.],
        [ 1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.],
        [ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.]],

[[ 1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.],
        [ 1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.],
        [ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.]],

[[ 1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.],
        [ 1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.],
        [ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.]]])

叉积 cross product,一般是两个向量之间的计算,得到一个垂直这两个向量的向量。向量必须是3维,2维向量则广播成3维(注意这里向量维不是空间维)。如果是矩阵,则是矩阵的行向量或列向量之间的运算。

import numpy as np
a = np.array([1,2,0])
b = np.array([1,0,0])
c = np.cross(a,b)

外积是Kronecker product的一种特殊形式,是两个一维向量之间的运算。

import numpy as np
a = np.array([1,2,3,4])
b = np.ones([3,1])c = np.outer(a,b)
d = np.kron(a,b)

c

array([[ 1.,  1.,  1.],
       [ 2.,  2.,  2.],
       [ 3.,  3.,  3.],
       [ 4.,  4.,  4.]])

d

array([[ 1.,  2.,  3.,  4.],
       [ 1.,  2.,  3.,  4.],
       [ 1.,  2.,  3.,  4.]])

如果b改成1×3,那么该例d为1×12:

array([[ 1.,  1.,  1.,  2.,  2.,  2.,  3.,  3.,  3.,  4.,  4.,  4.]])

内积没什么好说的,大家最熟悉了。

最后提一下,python(numpy)的矩阵元素相乘(elementwise)只有numpy.multiply()和*。其他np.dot(),np.matmul()均是矩阵乘。

Hadamard product (also known as the Schur product

The Hadamard product is also often denoted using the  symbol instead of .

python实现矢量积、叉积、外积、张量积相关推荐

  1. Python/Numpy之点积叉积内积外积张量积

    Python/Numpy之点积叉积内积外积张量积 内积(内积.标量积.数量积.点积.点乘)a与b的内积为 a·b = |a||b|cos∠(a, b),结果为标量(一个数) 外积(叉乘):向量a与b的 ...

  2. 矢量的叉积和点积计算

    标量(Scalar,标量是只有模没有方向的量,即距离). 矢量(Vector,也称为向量,矢量是有模和方向但没有位置的量,即方向加速度). 点(点是没有大小之分的位置). 1.标量k和矢量v的乘除: ...

  3. 关于标量积和矢量积的理解

    矢量积与标量积的对比 标量积(A⃗⋅B⃗\vec {A} \cdot \vec{B}A⋅B) 矢量积(A⃗×B⃗\vec{A} \times \vec{B}A×B) 运算方式 A⃗⋅B⃗=A⋅B⋅co ...

  4. python 矢量数据融合代码_在ArcGIS下基于Python的矢量数据处理方法

    在 ArcGIS 下基于 Python 的矢量数据处理方法 林璐 王爽 李海泉 侯兴泽 马鹏刚 [摘 要] 在 ArcGIS 中地理处理可以通过 Python 脚本语言来具体实现.通过 Python ...

  5. python 画风矢量图

    python 画风矢量图参考 Quiver plot arrow aspect ratio https://stackoverflow.com/questions/12079842/quiver-pl ...

  6. python图像识别生成矢量图_使用python制作矢量图

    Get一个使用python制作矢量图的新技能: 前言: Matplotlib远比我们想象的强大,而这只是众多python强大的包中的一个,不愧是群英荟萃. 绘图后端我们一般是看不见的,matplotl ...

  7. 通过python画矢量图(matplotlib,有代码)

    python画矢量图(有代码) python的matplotlib可以保存的文件格式 word可以插入哪些图片格式呢 代码 中文乱码问题 有些同学因为文章的要求,图片插入到word里的时候需要足够清晰 ...

  8. 矢量积法求解雅可比矩阵

    雅可比矩阵 J(q)J(q)J(q) 可以看成是关节空间的速度矢量 q˙\dot{q}q˙​ 向笛卡尔空间的速度矢量 x˙\dot{x}x˙ 的线性映射.雅可比矩阵 J(q)J(q)J(q) 依赖于机 ...

  9. 机器人学回炉重造(2-2):雅可比矩阵的求法——矢量积法、微分变换法、Manipulator Jacobian(Jacobian for short)

    文章目录 写在前面 矢量积法--改进D-H法 微分变换法--改进D-H法 Manipulator for Jacobian(Jacobian for short)--标准D-H法 微分变换法--标准D ...

最新文章

  1. AC日记——[Hnoi2017]影魔 bzoj 4826
  2. 【 MATLAB 】适合初学者的 chirp 理解与推导
  3. 将时间戳转为年月日时分秒格式
  4. C语言高级编程:利用堆栈溢出修改函数返回地址
  5. WPF 实现人脸检测
  6. pandas追加写入excel_[Excel]如果你爱Excel,请学好pandas
  7. 黑客编程学习_1.黑客编程入门
  8. 基于javaweb+jsp的员工绩效考核管理系统(带报告文档)
  9. transcad安装教程_TransCAD免安装版
  10. URL编码与中文相互转换
  11. web服务器 怎样上传文件,文件上传web服务器
  12. 随机生成15个小写字母c语言,c语言,编程随机生成40个小写字母并赋值给一个字符数组...
  13. Mixamo动画导入Unity中常见问题
  14. 王绍伟:你不是非得和别人一样---转载
  15. Multisim仿真—恒流源电路(一)
  16. origin做主成分分析图_Graphpad Prism也可以做主成分分析(PCA)?
  17. 上汽集团 java_【上汽集团工资】工程师待遇-看准网
  18. 如何规划与实施数字化工厂?
  19. 软件定义的网络--改头换面的改造?
  20. 常规工具类:GeneralUtils.java

热门文章

  1. App用户自然流量裂变增长:移动互联网社交+深度链接技术的应用
  2. JAVA编程练习题(50题及答案11-20)
  3. PMP培训机构是否有官方授权机构报名?
  4. 删除列级完整性约束_MySQL中的数据完整性约束
  5. 身份证识别、银行卡识别、名片识别,让金融APP更智能
  6. C++中 左值 与 右值 的区别
  7. Mina Codec Filter对应协议实现编解码处理
  8. 超300家企业,4亿连接设备,揭秘小米 IoT 生态链!
  9. psim电力电子仿真alpha controller(阿尔法控制器)的设置和使用
  10. NX二次开发-UFUN替换组件UF_ASSEM_substitute_component