把一个时间步拆成两格点门
Ising 哈密顿量是一些键项之和,每项作用在相邻两个自旋上。给每条键分配它的耦合和一份横场。不共用自旋的键彼此对易,相邻的键却不对易。整个哈密顿量的指数因此并不严格等于各键指数的乘积。步长很短时乘积很接近,剩下的差就是 Trotter 误差。
Vidal 把键分成偶数组和奇数组,同组内的项彼此对易。先让一组走半步,另一组走一整步,再让第一组走半步,这样对称排列可以精确到二阶。淬火实验用的是一种等价的对称排法:先从左到右扫一遍半步门,再从右到左扫一遍。
作用一个门,再截断
要在相邻两个自旋上作用一个门,先把它们的两个张量连同两侧的 Schmidt 系数合成一块,乘上 4 乘 4 的门,再用奇异值分解拆开。门会制造纠缠,拆开后的 Schmidt 项可能比原来多。保留最大的那些,直到键维数为止,并记下舍掉的权重。
Vidal 估计,计算量随“链长乘键维数的三次方”增长。键维数于是成了精度的价钱,淬火实验让你故意少给的也正是它。
完整例题
把时间步误差和截断误差分开
Vidal 给两种误差起了名字。一个门的截断误差,就是舍掉的 Schmidt 权重。p 阶 Trotter 展开另带一份误差,用“一减去与精确态重叠的平方”来量,它与步长的 2p 次方乘总时间的平方成正比。Schollwöck 在第 7.4 节补充说:Trotter 误差随时间只缓慢增长,截断误差才是要命的那个。
实验用自由费米子精确解把两者分开。在 10 个自旋的链上,键维数 64 永远不必截断,只剩时间步在起作用。这时,时刻 3 的局域磁化强度最大误差在步长 0.2、0.1、0.05、0.025 时分别是 0.0051、0.0013、0.00032、0.00008。步长每减半,误差降到四分之一,实测阶数是 2.00。默认步长 0.05 下,时间步误差远低于实验的容差千分之一。在 16 个自旋的链上,可信时间随键维数移动:键维数 16 时是 2.7,32 时是 3.45;在那里关上时间窗的是截断。
守恒量是检验,不是证明
精确演化保持能量和自旋翻转宇称不变,模拟若破坏其中任何一个,结果就错了。每个门都保持宇称,实验在所有键维数下都把宇称守到约万亿分之一以内。能量要微妙一些:Trotter 步本身就不严格守恒能量。在可信时间窗内,键维数从 4 到 32,能量漂移都是 0.0020,说明这份漂移来自时间步。一直跑到时刻 5,漂移在键维数 4 时变成 0.24,在 32 时是 0.037,这部分来自截断。
García-Ripoll 比较这类 Trotter 方法和其他积分方法时,量的是整个波函数的误差,而不是某个守恒量。第八章会细读他的一张图。