美文网首页
einsum爱因斯坦求和约定

einsum爱因斯坦求和约定

作者: 612twilight | 来源:发表于2020-06-06 15:41 被阅读0次

爱因斯坦求和约定(Einstein Notation)
在数学中,爱因斯坦求和约定是一种标记法,也称为Einstein Summation Convention,在处理关于坐标的方程式时十分有效。简单来说,爱因斯坦求和就是简化掉求和式中的求和符号 ,这样就会使公式更加简洁

  1. 转置
    {B_{ji}} = {A_{ij}}
import numpy as np
a = np.arange(0, 9).reshape(3, 3)
print(a)
b = np.einsum('ij->ji', a)
print(b)

Output:
a: [[0 1 2]
 [3 4 5]
 [6 7 8]]
b: [[0 3 6]
 [1 4 7]
 [2 5 8]]
  1. 全部元素求和
    sum{\rm{ = }}\sum\limits_i {\sum\limits_j {{A_{ij}}} }
import numpy as np
a = np.arange(0, 9).reshape(3, 3)
print(a)
b = np.einsum('ij->', a)
print(b)

Output:
a: [[0 1 2]
 [3 4 5]
 [6 7 8]]
b: 36
  1. 某一维度求和
    sum{\rm{ = }}\sum\limits_i {{A_{ij}}}
import numpy as np
a = np.arange(0, 9).reshape(3, 3)
print(a)
b = np.einsum('ij->i', a)
print(b)

Output:
a: [[0 1 2]
 [3 4 5]
 [6 7 8]]
b: [ 3 12 21]
  1. 矩阵对应维度相乘(广播形式)
    {C_{ij}} = {A_{ij}}{B_j}
import numpy as np
a = np.arange(0, 12).reshape(3, 4)
print(a)
b = np.arange(0, 4).reshape(4)
print(b)
c = np.einsum('ij,j->ij', a, b)
print(c)

Output:
a: [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
b: [0 1 2 3]
c: [[ 0  1  4  9]
 [ 0  5 12 21]
 [ 0  9 20 33]]
  1. 矩阵对应维度相乘(求和形式)
    {C_i} = \sum\limits_j {{A_{ij}}{B_j}}
import numpy as np
a = np.arange(0, 12).reshape(3, 4)
print(a)
b = np.arange(0, 4).reshape(4)
print(b)
c = np.einsum('ij,j->i', a, b)
print(c)

Output:
a: [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
b: [0 1 2 3]
c: [14 38 62]
  1. 矩阵点积
    C = \sum\limits_i {\sum\limits_j {{A_{ij}}{B_{ij}}} }
import numpy as np
a = np.arange(0, 12).reshape(3, 4)
print(a)
b = np.arange(0, 12).reshape(3, 4)
print(b)
c = np.einsum('ij,ij->', a, b)
print(c)

Output:
a: [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
b: [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
c: 506
  1. 矩阵外积(相乘)
    {C_{ij}} = \sum\limits_k {{A_{ik}}{B_{kj}}}
import numpy as np
a = np.arange(0, 12).reshape(3, 4)
print(a)
b = np.arange(0, 12).reshape(4, 3)
print(b)
c = np.einsum('ik,kj->ij', a, b)
print(c)

Output:
a: [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
b: [[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]
c: [[ 42  48  54]
 [114 136 158]
 [186 224 262]]

相关文章

  • einsum爱因斯坦求和约定

    爱因斯坦求和约定(Einstein Notation)在数学中,爱因斯坦求和约定是一种标记法,也称为Einstei...

  • Einsum规则

    参考1(简单)参考2(详细) Einsum介绍 Einsum调用如下图所示: einsum括号里是参数,第一个双引...

  • 爱因斯坦求和

    Numpy库、pytorch库和tensorflow库中,存在一个非常通用但鲜为人知的函数,称为einsum(),...

  • numpy.einsum()

    今天发现一个numpy非常好用的函数,涉及到矩阵加和乘的运算基本都可以用这个函数解决,而且不管多少维都可以用。表达...

  • torch.einsum

    很多时候我们只需要看得慢一点 https://zhuanlan.zhihu.com/p/74462893[http...

  • PyTorch 笔记

    tensor einsum 知识补充:requires_gradeinsum 自定义数据集 自定义网络 pytor...

  • HTTP Content-Type深入实践

    引子 HTTP是一种网络应用层传输协议,协议就是约定。HTTP头部字段Content-Type约定请求和响应的HT...

  • 爱因斯坦的感情生活

    1919 年2 月14 日,情人节,爱因斯坦和米列娃取得了离婚判决书,约定爱因斯坦将来的诺贝尔奖金归米列娃。后来,...

  • numpy.einsum-学习笔记

    https://blog.csdn.net/weixin_40937909/article/details/784...

  • 宗教与科学

    每晚七点,好文分享—— 文/爱因斯坦 人类所做的和所想的一切都与满足情感需求和抑制痛苦有关。如果人们试图理解精神活...

网友评论

      本文标题:einsum爱因斯坦求和约定

      本文链接:https://www.haomeiwen.com/subject/cfgxtktx.html