quimb MERA重正化教程:完整指南实现多尺度解析拓扑系统

📅 2026/8/27 16:59:25
quimb MERA重正化教程:完整指南实现多尺度解析拓扑系统
quimb MERA重正化教程完整指南实现多尺度解析拓扑系统【免费下载链接】quimbA python library for quantum information and many-body calculations including tensor networks.项目地址: https://gitcode.com/gh_mirrors/qu/quimbquimb是一个面向量子信息与多体物理的 Python 张量网络库其中的MERA多尺度纠缠重正化Ansatz支持让你以多尺度解析的方式处理二维拓扑系统通过逐层堆叠等距映射isometry与幺正门unitaryMERA 天然保留了拓扑量子态最关键的尺度不变性与长程纠缠结构。本教程带你从零搭建 MERA 态、利用因果锥高效计算局限量子数并全局优化 MERA 参数。MERA是什么多尺度重正化的核心思想传统矩阵乘积态MPS擅长一维低纠缠系统而二维拓扑系统如量子霍尔态的纠缠跨越多条长度尺度MPS 的线状结构难以高效表示。MERA 的解法是分层粗粒化底层物理量子比特每个站点维度为phys_dim每一层先插入幺正门UNI在相邻块之间解除纠缠再通过等距映射ISO把两个块压缩成上一层的一个新站点顶层反复对半压缩后得到一个或多个虚拟指标代表整个系统的粗粒化自由度这种结构带来两个巨大优势因果锥causal cone单点观测只依赖该站点向上照亮的三角形张量子集局部期望值计算复杂度随系统尺寸仅缓慢增长尺度不变性每一层都执行相同的解除纠缠 压缩操作与重整化群RG流动自然对应正是解析拓扑相所需的多尺度视角快速搭建MERA态三行代码起步quimb 在 quimb/tensor/tn1d/mera.py 中提供了MERA类它同时继承TensorNetwork1DVector与TensorNetwork因此可以像普通张量网络一样做任意收缩、作图与算符操作。import quimb as qu import quimb.tensor as qtn n 128 # 站点数必须为 2 的幂 mera qtn.MERA.rand_invar(n) # 平移 尺度不变的随机 MERA mera.draw(color[_UNI, _ISO])常用构造入口定义见 quimb/tensor/tn1d/mera.py方法作用MERA.rand(L, max_bondD)随机 MERA逐层限制键维不超过max_bondMERA.rand_invar(L)随机但平移与尺度不变的 MERA单层复用同一组 UNI/ISOMERA(L, uni, iso)用自定义幺正/等距数组逐层搭建构造时 quimb 自动为每个张量打上_UNI、_ISO、_LAYER{i}标签并把每个物理站点的标签沿等距映射向上传播——这就是因果锥标记。利用因果锥高效计算局域观测量在 MERA 中$\langle \psi | X_i Z_j | \psi \rangle$ 这类局域期望值只需收缩因果锥子网络。quimb 的标签机制让这件事非常直接i, j 50, 100 X, Z qu.pauli(X), qu.pauli(Z) # 选出覆盖站点 i、j 因果锥的张量子集并插入算符 mera_ij_H mera.select([mera.site_tag(i), mera.site_tag(j)], whichany).H exp_XZ mera_ij_H mera.gate(X, i).gate(Z, j).select( [mera.site_tag(i), mera.site_tag(j)], whichany ) exp_XZ ^ all # 自动选择收缩顺序并求值关键技巧mera.select(tags, whichany)按站点标签筛出因果锥张量mera.gate(op, i)把算符门进因果锥标签自动传播network ^ all全指标收缩一步得到标量结果计算密度矩阵与纠缠熵对于纠缠熵、对数负性等非局域量需要显式构造密度矩阵 $\rho |\psi_A\rangle\langle\psi_A|$$A$ 为一小段子系统。由于 MERA 每层张量只携带有限站点标签只需选取对应因果锥mera_H mera.H.reindex_sites(b{}, range(20)) # bra 端 rho (mera_H.select(slice(20), whichany) mera.select(slice(20), whichany)) # 谱函数近似熵 S -Tr(rho log2 rho) rho_op rho.aslinearoperator(left_ix, rght_ix, backendtorch) S -qu.approx_spectral_function(rho_op, qu.xlogx, tol0.02)qu.approx_spectral_function实现在 quimb/linalg/approx_spectral.py通过随机矢量迭代估计 $\text{Tr}(f(\rho))$配合 GPU 时可将万亿级密度矩阵的熵压缩到可承受成本。同理交换部分指标即可构造部分转置$\rho^{T_B}$从而计算对数负性 $\mathcal{E} \log_2 \text{Tr}|\rho^{T_B}|$这是诊断拓扑长程纠缠的常用手段。全局优化MERA变分求基态既然局域哈密顿量能量可以写成各局域项沿因果锥收缩之和就能把整个 MERA 交给自动微分做全局变分优化L, D 2**6, 8 mera qtn.MERA.rand(L, max_bondD, dtypefloat32) mera.unitize_() # 将所有 ISO/UNI 投影为等距/幺正形式 H2 qu.ham_heis(2).real terms {(i, (i 1) % L): H2 for i in range(L)} def norm_fn(mera): # 约束投影保持等距/幺正结构 return mera.unitize(methodexp) def loss_fn(mera, terms): # 总能量 各局域项能量之和 return sum(local_term_energy(mera, G, where) for where, G in terms.items()) tnopt qtn.TNOptimizer(mera, loss_fnloss_fn, norm_fnnorm_fn, loss_constants{terms: terms}, autodiff_backendtorch, jit_fnTrue) mera_opt tnopt.optimize(999)优化器 quimb/tensor/optimize.py 中的TNOptimizer支持l-bfgs-b、adam等策略与 JIT 编译前期用 BFGS 快速下降、末期切adam收尾是官方示例 docs/examples/ex_MERA.ipynb 的标准工作流。进阶merabuilder构建任意几何MERA标准 1D MERA 的层间划分是固定的二分结构。对于任意几何如三角格、Kagome 晶格的多尺度重正化quimb 在实验模块 quimb/experimental/merabuilder/merabuilder.py 中提供了TensorNetworkGenIsoempty(sites)在任意可哈希的站点序列上建立空骨架layer_gate_raw(G, where)在指定站点的当前开放层之上放置新的幺正/等距/树张量自动处理光锥标签传播与左指标标记from_fill_fn/rand用填充函数自动生成各层张量配合演示 quimb/experimental/merabuilder/merabuilder demo.ipynb你可以在非标准晶格上手工设计重正化层级——这正是二维拓扑系统多尺度解析的前沿工具。总结quimb MERA工具链速查任务工具位置随机/不变 MERA 构造MERA.rand/MERA.rand_invarquimb/tensor/tn1d/mera.py因果锥选取与局域期望值select/gate/^ allquimb/tensor/tn1d/mera.py密度矩阵谱函数熵、负性approx_spectral_functionquimb/linalg/approx_spectral.py全局变分优化TNOptimizerquimb/tensor/optimize.py任意几何 MERATensorNetworkGenIsoquimb/experimental/merabuilder/merabuilder.py完整可运行示例MERA 操作与优化笔记本docs/examples/ex_MERA.ipynb上手建议先用MERA.rand_invar(128)验证因果锥收缩与范数守恒再逐步替换为你自己的 UNI/ISO 数组优化拓扑系统基态时记得用unitize(methodexp)作为每步约束投影并保持键维D随层数增长受控才能获得稳定且物理的多尺度解析结果 【免费下载链接】quimbA python library for quantum information and many-body calculations including tensor networks.项目地址: https://gitcode.com/gh_mirrors/qu/quimb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考