Kronecker delta 克罗内克函数

### Wiki
[维基百科](https://en.wikipedia.org/wiki/Kronecker_delta)
### Kronecker delta 定义
$$\delta _{{ij}}={\begin{cases}0}i\neq j,\\1}i=j.\end{cases}}$$
### Python3 代码实现
**函数设计**
```python
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}$**张量定义**
```python
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]]

## 关于克罗内克符号的补充
### 构造方法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]]]]

### 构造方法2

import numpy as np

n = 3

i = np.aragne(3)

res = np.zeros((3,3,3), int)

res[i, i, i] = 1

print(res)

<img width="320" height="500" src="https://img2018.cnblogs.com/blog/1372901/201811/1372901-20181121224458867-535758943.jpg">

## 总结
本次分享的知识虽小,但是五脏皆全。涉及到了lambda表达式,三元表达式,for循环,函数定义,以及numpy库的知识。

克罗内克符号kronecker_delta的更多相关文章

  1. Differential Geometry之第一章欧式空间

    书籍:<微分几何>彭家贵 局部微分几何 第一章.欧式空间 1.1向量空间 (1)向量空间 a.向量空间是集合,集合中的元素需要定义加法和乘法运算.向量空间和n维数组空间R^n不是同一个概念 ...

  2. 微信公众号开发之VS远程调试

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...

  3. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  4. 微信应用号(小程序)开发IDE配置(第一篇)

    2016年9月22日凌晨,微信宣布“小程序”问世,当然只是开始内测了,微信公众平台对200个服务号发送了小程序内测邀请.那么什么是“小程序”呢,来看微信之父怎么说 看完之后,相信大家大概都有些明白了吧 ...

  5. SQLSERVER走起微信公众帐号已经开通搜狗微信搜索

    SQLSERVER走起微信公众帐号已经开通搜狗微信搜索 请打开下面链接 http://weixin.sogou.com/gzh?openid=oIWsFt-hiIb_oYqQHaBMoNwRB2wM ...

  6. SQLSERVER走起微信公众帐号全新改版 全新首页

    SQLSERVER走起微信公众帐号全新改版 全新首页 今天,SQLSERVER走起微信公众帐号增加了首页功能 虽然还是订阅号,不过已经对版面做了比较大的修改,希望各位亲用得放心.用得安心O(∩_∩)O ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(71)-微信公众平台开发-公众号管理

    系列目录 思维导图 下面我们来看一个思维导图,这样就可以更快了解所需要的功能: 上一节我们利用了一个简单的代码例子,完成了与微信公众号的对话(给公众号发一条信息,并得到回复) 这一节将讲解公众号如何设 ...

  8. 【原创分享·微信支付】 C# MVC 微信支付教程系列之公众号支付

    微信支付教程系列之公众号支付         今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通 ...

  9. 快递Api接口 & 微信公众号开发流程

    之前的文章,已经分析过快递Api接口可能被使用的需求及场景:今天呢,简单给大家介绍一下微信公众号中怎么来使用快递Api接口,来完成我们的需求和业务场景. 开发语言:Nodejs,其中用到了Neo4j图 ...

随机推荐

  1. flower

    问题 D: flower 时间限制: 1 Sec  内存限制: 128 MB 题目描述 又是一年教师节,有n个小朋友打算去看望花老师.去看花老师当然要买花咯,不过某些土(xue)豪(ba)买了太多的花 ...

  2. 访问和获取Cookie

    Cookie[] cookies = request.getCookies();//从会话里取出Cookie并放在Cookie数组里 if(cookies!=null) { for(Cookie c: ...

  3. Haproxy重刷一次

    centos上,yum安装,完全无难度. 只是设置时,要注意一下跳转,和nginx规则差不多. https://blog.csdn.net/qq_28710983/article/details/82 ...

  4. jquery轻量级数字动画插件jquery.countup.js

    插件描述: jquery.countup.js 是一款轻量级jquery数字动画插件.该数字动画插件可以在页面滚动时,将指定的数字从0开始计数增加动画. 插件说明 jquery.countup.js  ...

  5. Tomcat模型结构

    一.请求过程 Tomca的两大组件:Connecter和Container Connecter组件 1.Connecter将在某个指定的端口上侦听客户请求,接收浏览器的发过来的 tcp 连接请求,创建 ...

  6. Java基础知识➣Stream整理(二)

    概述 在Java数据流用到的流包括(Stream).文件(File流)和I/O流 ,利用该三个流操作数据的传输. Java控制台输入输出流 读取控制台使用数据流: BufferedReader和Inp ...

  7. stl测试

    以下测试都在学校电脑进行 我觉得应该比考试机器慢一点.. 1.map map的速度测出来和放入数值大小有很大关系 比如 #include <bits/stdc++.h> using nam ...

  8. 第四次作业之oop

    第四次作业 四则运算 类 输入类:用户输入题数和答案,语言选择. 生成类:随机数字,运算符,生成表达式. 读取类:读取表达式,计算正确答案. 界面类:选择语言,输出正确题数和答案. 类与类之间是如何进 ...

  9. 【Codeforces】Gym100633 D. LWDB

    题解 点分治,然后每个点上挂着一个距离不超过\(a_{i}\)的颜色改成\(c\) 用一个单调栈维护距离单调递减,每次查询在每个包括这个点的分治中心的单调栈上二分,找到修改最靠前的颜色作为这个点的颜色 ...

  10. python全栈开发day55-mysql外键的三种变种

    一.昨日内容回顾 二.今日内容总结 三.mysql应知必会 你可以通过INFORMATION_SCHEMA.KEY_COLUMN_USAGE 表来查看. select * from INFORMATI ...