真实情况似乎是,我们不愿意承认在世界上还有其他生物具有与人类同等的智慧或者道德,不愿意承认其他生物与我们具有相同的重要性,并且认为其他生物命中注定在世界上扮演某些额外角色…… 我们不打算承认它们或许与我们类似,我们宁可相信除人之外的其他生物都是愚蠢的,只能靠本能生存和活动。 —— 梅特林克《花的智慧》
# 背景设定和定性分析
考虑薛定谔方程
i∂t∂∣ψ(t)⟩=H(t)∣ψ(t)⟩,
其中H(t)∈CN×N 是一个 Hermitian matrix,其中N=2n。
我们希望找到一个 gate complexity poly(n,t,1/ϵ) 的量子算法,来模拟∣ψ(0)⟩↦∣ψ(t)⟩。
(其中我们允许算法输出和∣ψ(t)⟩ 的 norm 差≤ϵ)
如果这个算法能找到,我们说H(t) 是可以被 efficiently simulate 的。
下面我们考虑定时 Hamiltonian H(t),即H(t)=H 是一个常数矩阵。
- (Local) 如果H acts on O(1) qubits,那么H 是可以被 efficiently simulate 的。
- (Scalability) 如果H 是可以被 efficiently simulate 的,那么c=poly(n) 时c⋅H 也可以被 efficiently simulate 的。
- (Unitary) 如果H 是可以被 efficiently simulate 的,那么UHU† 也可以被 efficiently simulate 的,其中U 是 unitary。
- (Addition) 如果H1 和H2 是可以被 efficiently simulate 的,那么H1+H2 也可以被 efficiently simulate 的。(注意H1,H2 可能不交换)
- (Commutator) 如果H1 和H2 是可以被 efficiently simulate 的,那么i[H1,H2] 也可以被 efficiently simulate 的。
- (Diagonal) 如果H 是对角的,那么H 是可以被 efficiently simulate 的。
- (Sparse) 如果H 是O(1)-sparse 的,那么H 是可以被 efficiently simulate 的。这里会有一些 matrix access oracle,关于 oracle 的 query complexity 也是 polynomial 的。
Example: 对于一个粒子的 Hamiltonian H=2mp2+V(x),其中p2=−dx2d2 是 square of the momentum operator,2mp2 是动能部分,V(x) 是势能部分。势能部分是对角的,P2 可以在 Fourier transformation(unitary)下是对角的,因此H 是可以被 efficiently simulate 的。
# 定量分析
(一阶 Lie-Trotter-Suzuki Formula)
考虑H=A+B,其中A,B 都是 Hermitian。令
U(t)=e−iHt,U1(t)=e−iAte−iBt,
考虑泰勒展开带余项,
f(t)=f(0)+f′(0)t+∫0tf′′(s)(t−s)ds,
那么是 Hermitian 时,矩阵也可以套入:
U(t)=I−i(A+B)t+∫0t−(A2+AB+BA+B2)e−i(A+B)s(t−s)ds,U1(t)=I−i(A+B)t+∫0te−iAs(−A2−2AB−B2)e−iBs(t−s)ds.
注意到e−iAt,e−iBt 是 unitary,放在 norm 里可以丢掉(这里不是完全丢掉,需要放缩 2 倍∥UA−BV∥≤2∥A−B∥ 其中U,V 是 unitary,需要仔细分析),所以
∥U(t)−U1(t)∥≤∫0t2∥AB−BA∥(t−s)ds≤2∫0t(∥A∥+∥B∥)2(t−s)ds=t2(∥A∥+∥B∥)2.
因此,对于分割l,如果希望通过迭代逼近:
∥∥∥∥∥e−i(A+B)t−(e−iAt/le−iBt/l)l∥∥∥∥∥≤l⋅l2t2(∥A∥+∥B∥)2≤ϵ,
那么l=O(ϵt2(∥A∥+∥B∥)2)。
(二阶 Lie-Trotter-Suzuki Formula / Gilbert Strang Formula)
考虑H=A+B,其中A,B 都是 Hermitian。令
U2(t)=e−iAt/2e−iBte−iAt/2,
U2(t) 和U(t) 的二阶展开是一样的:U(0)=U2(0),U′(0)=U2′(0),U′′(0)=U2′′(0),所以要考虑三阶展开。最后可以得到
∥U(t)−U2(t)∥≤t3(∥A∥+∥B∥)3.
类似地,我们知道
∥U(t)−U2l(t/l)∥≤l2t3(∥A∥+∥B∥)3.
这就比之前的一阶 Trotter formula 要好。
高阶 Suzuki 公式的话
U2k(t)=U2k−2(skt)2⋅U2k−2((1−4sk)t)⋅U2k−2(skt)2,
其中
sk=4−42k−111.
误差是
∥U(t)−U2k(t)∥≤(2k+1)!t2k+1(∥A∥+∥B∥)2k+1(K2k+1+1),
其中K=2⋅5k−1。那么类似前面分析,
l=O(ϵ2k1(tK(∥A∥+∥B∥))1+2k1).
实际上已知A,B 和时间t 后,可以取到一个最优的k,使得l 是最小的:
k=max⌈1,log5log(t(∥A∥+∥B∥)/ϵ)⌉.
所以并不是越高阶越好,高阶可能常系数指数爆炸。[Paper:A Theory of Trotter Error, 用 commutator 去 bound]
Interacting picture
考虑H=A+B,而且∥H1∥>>∥H2∥ 时。考虑
i∂t∂∣ψ(t)⟩=H∣ψ(t)⟩,
定义
∣ψ1(t)⟩≜eiH1t∣ψ(t)⟩,
那么
i∂t∂∣ψ1(t)⟩=i(iH1)eiH1t∣ψ(t)⟩+eiH1tH∣ψ(t)⟩=(−H1eiH1t+eiH1t(H1+H2))∣ψ(t)⟩=eiH1tH2∣ψ(t)⟩=eiH1tH2e−iH1t∣ψ1(t)⟩.
这就定义了一个新的 Hamiltonian 的薛定谔方程。此时模拟的复杂性可以把∥H1∥ 从复杂度里剔除,相当于对H2 做了个 unitary 变换。