达美航空

考虑碰撞的二能级原子和电磁场的相互作用

限于喜欢 提交于 2020-01-27 07:58:57
描述有耗散系统的密度算符的方程为 (Scully. Quantum Optics \(\S5.3\) ) \[ \dot{p}=-\frac{i}{\hbar}[H, p]-\frac{1}{2}\{\Gamma, p\} \quad \Gamma_{i j}=\gamma_{i j} \delta_{i j} \] 二能级原子在偶极近似下,把上面方程展开有 \[ \dot{\rho}_{aa}=-\gamma_{a} \rho_{aa}+\frac{i}{\hbar}\left[\wp_{ab} E \rho_{b a}-\text{c.c.}\right] \\ \dot{\rho}_{bb}=-\gamma_{b} \rho_{b b}-\frac{i}{\hbar}\left[\wp_{a b} E \rho_{b a}-\text{c.c.}\right]\\ \dot{\rho}_{ab}=-(i\omega+\gamma_{ab})\rho_{ab}-\frac{i}{\hbar}\wp_{ab}E(\rho_{aa}-\rho_{bb}) \] 其中 \(\omega\) 为原子跃迁频率(a为上能级,b为下能级), \(\gamma_{ab}=(\gamma_a+\gamma_b)/2\) ,而 \(\wp_{ab}\) 是电偶极矩(其实是矢量,取为实的),而 \

BP算法完整推导 2.0 (下)

拜拜、爱过 提交于 2020-01-26 20:16:58
上篇主要阐述 BP算法的过程 , 以及 推导的 4 大公式的结论, 现在呢要来逐步推导出这写公式的原理. 当理解到这一步, 就算真正理解 BP算法了. 也是先做一个简单的回顾一下, 不是很细, 重点在推导, 不清楚就结合图像呀, 其实很直观的. 全篇其实就是在求偏导, 引入中间变量, 应用链式法则 而已. BP算法-变量声明 重点是理解 反向 即从 从右到左 的方向哦; \(w^l_{jk}\) 第 l 层, 第 j 个节点, 到 第 \((l-1)\) 层的 第 k 个节点的 权值 (weight) ( 反向, 反向, 方向, 反向, 说了4遍) \(w^l\) 第 l 层, 的 权值矩阵 , 第 j 行, 第 k 列 为 \(w^l_{jk}\) \(b_j^l\) 第 l 层, 第 j 个节点 的 bias (偏置) \(b^l\) 第 l 层, 的 bias 向量 \(a^l_j\) 第 l 层, 第 j 个节点的 激励 (activation) \(a^l\) 第 l 层, 的 激励 向量 假设 激活函数 是 \(\sigma\) , 根据网络 层次间的 映射(加权求和) 的关系, (每个神经元的模型): 单个神经元: \(a^l_j = \sigma(\sum\limits _k w^l_{jk} \ a^{l-1}_k + b^l_j)\) 该层的神经元: \(a^l

[笔记] 高数笔记

你说的曾经没有我的故事 提交于 2020-01-24 18:37:13
函数极限 设函数 \(f(x)\) 在点 \(x_0\) 的某一去心邻域内有定义,如果存在常数 \(A\) ,对于任意给定的正数 \(\varepsilon\) (无论它多么小),总存在正数 \(\delta\) ,使得对于 \(0<|x-x_0|<\delta\) ,均有 \(f(x)-A<\varepsilon\) ,那么常数 \(A\) 就叫做函数 \(f(x)\) 当时 \(x\rightarrow x_0\) 的极限,记作 \[ \lim\limits_{x\rightarrow x_0} f(x)=A \] 夹逼定理 :求函数的极限时,我们可以通过上界和下界两个函数去夹某个函数 \(f(x)\) ;如 \[ \sin(x)<x<\tan(x)\\ \Rightarrow \frac{\sin(x)}{x}<\frac{\sin(x)}{\sin(x)}=1,\frac{\sin(x)}{x}>\frac{\sin(x)}{\tan(x)} =\cos(x)\\ \Rightarrow \lim\limits_{x\to 0} \frac{\sin(x)}{x}=1 \] 导数与斜率 斜率 :对于一次函数 \(y=kx+b\) , \(k\) 即为斜率; 导数 : \(f’(x)=\lim\limits_{\Delta x\to 0} \frac{f(x+\Delta x

深度学习(二)——神经网络基础(多层感知器、反向传播算法)

ⅰ亾dé卋堺 提交于 2020-01-21 01:29:50
深度学习(二)——神经网络基础 文章目录 深度学习(二)——神经网络基础 神经网络的通用分类 神经网络的基本结构 基础架构 人工神经元 激活函数 模型训练与反向传播算法 前向传播 反向传播 梯度消失和梯度爆炸 神经网络的通用分类 人工神经网络模型可以理解为一组基本处理单元,它们紧密地相互连接,对输入进行类似的数学运算后生成期望的输出。基于信息在网络中传播的方式,可以将神经网络分为两个通用类别: 前馈神经网络 前馈神经网络 中信息的流动只能 由前到后 ,也就是说,一层神经元的输出只能作为后一层神经元的输入。这些网络架构可以被称为 有向无环图 。典型的模型有 多层感知器(MLP) 和 卷积神经网络(CNN) 。 反馈神经网络 反馈神经网络 具有形成有向循环的连接,也就是说,后一层神经元也可以反过来作为前一层神经元的输入,这就使得神经网络 可以处理序列数据 。反馈网络还具有 记忆能力 ,可以在其内部存储器中存储信息和序列关系。典型的模型有 循环神经网络(RNN) 和 长短期记忆网络(LSTM) 。 神经网络的基本结构 下面以多层感知器为例,介绍神经网络的基本结构。 基础架构 下图给出了MLP网络架构的一个例子: 这是一个五层感知器的例子,每一层分别含有3、4、2、3、3个人工神经元。我们用这个例子来介绍人工神经网络的一些特点: 分层架构 :人工神经网络包含层次化的处理级别。每个级别被称为

一元三次、四次方程求解

谁说我不能喝 提交于 2020-01-19 01:05:39
一、一元四次方程求解 一元四次方程求根公式, 百科 : https://baike.baidu.com/item/%E4%B8%80%E5%85%83%E5%9B%9B%E6%AC%A1%E6%96%B9%E7%A8%8B%E6%B1%82%E6%A0%B9%E5%85%AC%E5%BC%8F/10721996?fr=aladdin 1.网上搜到的求解代码 python求解代码,见: https://github.com/Larissa1990/Solve-cubic-and-quartic-equations-with-one-unknown/blob/master/Equations.py 经测试, 有bug,求解不正确 说明,见: https://www.cnblogs.com/larissa-0464/p/11706131.html 2. 一元四次方程 在线求解工具 : https://www.osgeo.cn/app/s2085 可用来验证求解程序是否正确; 3. 一元四次方程 , 沈天珩 简化求根公式, 具体公式 详见百科链接; import math import cmath import numpy as np def cal_quartic_ik(args_list): a, b, c, d, e = args_list D = 3*pow(b,2) - 8*a

一本通1058:求一元二次方程

▼魔方 西西 提交于 2020-01-18 16:02:09
今天在刷题时发现了一个题(见一本通题库1058),有同学在群中问,题目不难,只要有初中知识就可解决。下面是题目: 1058:求一元二次方程 看到这道题,芳源心想 “好一道水题” 就简单的做了一遍(下见代码 ): 1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 using namespace std; 5 int main() 6 { 7 double a,b,c; 8 double t; 9 cin>>a>>b>>c; 10 t=sqrt(b*b-4*a*c); 11 double x1=((t-b)/(2*a)),x2=((-t-b)/(2*a)); 12 if(t>=0) 13 { 14 if(t=0) 15 printf("x1=x2=%.5lf",x1); 16 else 17 {if(x1>x2) 18 printf("x1=%.5lf;x2=%.5lf",x2,x1); 19 if(x1<x2) 20 printf("x1=%.5lf;x2=%.5lf",x1,x2); 21 } 22 } 23 else cout<<"No answer!"; 24 return 0; 25 } 结果。。。。。 woc!无情!!! 我转念一想,这题可能没那么简单,于是。。。 我对它 大~幅~修~改~ 1

ML对抗攻击

和自甴很熟 提交于 2020-01-17 22:48:08
记录一下李宏毅机器学习课程关于对抗攻击的内容; 1、 一般模型training过程 :   输入x_0,调整模型Network的参数θ,使得输出y_0和y_true的loss越小越好;损失函数:L_train(θ) = C(y_0, y_true) Non-targeted Attack :   固定模型Network的参数θ,调整输入x',使得输出y'和y_true越远越好;损失函数:L(x') = -C(y', y_true) Targeted Attack:    固定模型Network的参数θ,调整输入x',使得输出y'和y_true越远越好,同时让y'和某个y_false越近越好; L(x') = -C(y', y_true) + C(y',y_false) Constraint:    约束:d(x_0,x') ≤ ε,希望攻击后的图片不要被人所发现,x_0和x'够相近   常见的有两种约束,L2-norm和L-infinity   1)L2-norm     d(x_0, x') = ||x_0 - x'|| 2      = (Δx_1) 2 + (Δx_2) 2 + (Δx_3) 2 +...   2) L-infinity       d(x_0, x') = ||x_0 - x'|| ∞      =max{ Δx_1, Δx_2+ Δx_3+...} 来源:

对Python日期的加减等操作

僤鯓⒐⒋嵵緔 提交于 2020-01-16 21:25:46
1. 日期输出格式化 所有日期、时间的api都在datetime模块内。 1. datetime => string now = datetime.datetime.now() now.strftime('%Y-%m-%d %H:%M:%S') #输出2012-03-05 16:26:23.870105 strftime是datetime类的实例方法。 2. string => datetime t_str = '2012-03-05 16:26:23' d = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S') strptime是datetime类的静态方法。 2. 日期比较操作 在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。 构造方法: datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) 所有的参数都有默认值0,这些参数可以是int或float,正的或负的。 可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。 timedelta类的实例,支持加、减、乘、除等操作

对Python日期的加减等操作

坚强是说给别人听的谎言 提交于 2020-01-16 21:17:31
1. 日期输出格式化 所有日期、时间的api都在datetime模块内。 1. datetime => string now = datetime.datetime.now() now.strftime('%Y-%m-%d %H:%M:%S') #输出2012-03-05 16:26:23.870105 strftime是datetime类的实例方法。 2. string => datetime t_str = '2012-03-05 16:26:23' d = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S') strptime是datetime类的静态方法。 2. 日期比较操作 在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。 构造方法: datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) 所有的参数都有默认值0,这些参数可以是int或float,正的或负的。 可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。 timedelta类的实例,支持加、减、乘、除等操作

[LeetCode] 54. Spiral Matrix

五迷三道 提交于 2020-01-15 01:58:20
这道题的时间复杂度是O(N), 空间复杂度也是O(N) 这道题也是matrix的遍历,只是遍历的顺序是sprial,这种题的模版就是写出变化的delta,然后check新的点是不是在matrix的范围内,加上其他条件,这道题的条件是是否已经visit过,当满足就会发生一些变化,比如方向的变化。还有一个小的tip是如何循环delta,就是用次数除以变化取余数。eg. x%4 class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: if not matrix: return [] n_row, n_col = len(matrix), len(matrix[0]) result = [] visited = [[False for i in range(n_col)] for j in range(n_row)] row, col, x = 0, 0, 0 delta = [[0,1], [1, 0], [0, -1], [-1, 0]] for _ in range(n_row * n_col): result.append(matrix[row][col]) visited[row][col] = True new_row = row + delta[x % 4][0] new_col