周继红老公,zoomland,色狼导航
\[\delta _{{ij}}={\begin{cases}0&{\text{if }}i\neq j,\\1&{\text{if }}i=j.\end{cases}}\]
函数设计
kronecker_delta_ij = lambda i, j: 1 if i==j else 0
函数使用
kronecker_delta_ij(1, 1) # 结果为 1 kronecker_delta_ij(1, 3) # 结果为 0
\(\delta_{ij}\)张量定义
def delta_ij(n): delta_ij = [] for i in range(n): for j in range(n): delta_ij.append(kronecker_delta_ij(i, j)) return [delta_ij[:3], delta_ij[3:6], delta_ij[-3:]]
example:
deltaij = delta_ij(3) print(deltaij) 结果: [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
import numpy as np n = 3 i, k = np.ogrid[:n, :n] res = np.zeros((n, n, n, n), int) res[i, i, k, k] = 1 print(res)
result:
[[[[1 0 0] [0 1 0] [0 0 1]] [[0 0 0] [0 0 0] [0 0 0]] [[0 0 0] [0 0 0] [0 0 0]]] [[[0 0 0] [0 0 0] [0 0 0]] [[1 0 0] [0 1 0] [0 0 1]] [[0 0 0] [0 0 0] [0 0 0]]] [[[0 0 0] [0 0 0] [0 0 0]] [[0 0 0] [0 0 0] [0 0 0]] [[1 0 0] [0 1 0] [0 0 1]]]]
import numpy as np n = 3 i = np.aragne(3) res = np.zeros((3,3,3), int) res[i, i, i] = 1 print(res)
本次分享的知识虽小,但是五脏皆全。涉及到了lambda表达式,三元表达式,for循环,函数定义,以及numpy库的知识。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论