用Python编程理解量子力学中的幺正变换(三)
第五章:用NumPy亲手验证幺正矩阵到这里,整篇文章已经完成了两个关键层面的铺垫。前面几章告诉我们:从物理上看,封闭量子系统的演化必须保持概率结构;从数学上看,这要求演化保持复内积;从动力学上看,厄米哈密顿量通过指数映射生成幺正演化。但如果只停留在公式层面,很多理解其实还是“看懂了,但没真正握住”。而程序员最擅长把抽象结构抓牢的方法,就是:写代码,亲手验证。这一章我们不追求炫技,而是做一组非常扎实的小实验,让“幺正”从定义变成你能反复测试的对象。目标是把下面几件事彻底变成肌肉记忆:什么叫矩阵是幺正的;如何在代码里检查幺正性;幺正矩阵会保持什么;非幺正矩阵又会破坏什么;厄米矩阵指数化后真的会给出幺正矩阵;量子门为什么本质上就是一类特殊的幺正矩阵。这一章的风格会明显更“程序员友好”:少一点概念堆叠,多一点运行结果背后的解释。5.1 准备工作:我们到底要验证什么先把最核心的定义重新写一遍。一个复矩阵 (U) 是幺正矩阵,当且仅当:U†U=UU†=IU^\dagger U = UU^\dagger = IU†U=UU†=I这句话在代码里意味着两件事:第一,U.conj().T @ U应该等于单位矩阵。第二,U @ U.conj().T也应当等于单位矩阵。在有限维方阵里,这两个条件理论上等价;但在数值计算中,最好都检查一下,因为浮点误差、维度错误、实现问题都可能埋坑。另外,幺正矩阵有两个特别重要的可验证后果:后果 1:保持范数对任意态 (∣ψ⟩|\psi\rangle∣ψ⟩),有∣U∣ψ⟩∣=∣∣ψ⟩∣|U|\psi\rangle| = ||\psi\rangle|∣U∣ψ⟩∣=∣∣ψ⟩∣后果 2:保持内积对任意 (∣ψ⟩,∣ϕ⟩|\psi\rangle, |\phi\rangle∣ψ⟩,∣ϕ⟩),有⟨Uϕ∣Uψ⟩=⟨ϕ∣ψ⟩\langle U\phi | U\psi \rangle = \langle \phi | \psi \rangle⟨Uϕ∣Uψ⟩=⟨ϕ∣ψ⟩所以这一章本质上是在做三类实验:直接检查定义;通过范数守恒侧面验证;通过内积守恒再侧面验证。如果三者都对上了,你对幺正矩阵的理解就会一下子稳很多。5.2 写一个最基础的is_unitary()函数先从最常用的工具函数开始。importnumpyasnpdefis_unitary(U,tol=1e-10):""" Check whether a square complex matrix U is unitary. Parameters ---------- U : np.ndarray Input matrix. tol : float Numerical tolerance. Returns ------- bool True if U is unitary, False otherwise. """U=np.asarray(U,dtype=complex)ifU.ndim!=2:returnFalserows,cols=U.shapeifrows!=cols:returnFalseI=np.eye(rows,dtype=complex)left=U.conj().T @ U right=U @ U.conj().Treturnnp.allclose(left,I,atol=tol)andnp.allclose(right,I,atol=tol)这个函数做了几件正确的事:强制把输入当作复矩阵处理;先检查是不是二维方阵;再分别检查左右乘是否都接近单位矩阵;使用np.allclose而不是直接==,因为浮点计算永远不能太天真。如果你以后写量子代码,这个函数基本会成为常备工具。可以先测几个简单例子:I2=np.eye(2,dtype=complex)print(is_unitary(I2))单位矩阵当然应该返回True。再试一个明显不是幺正的矩阵:A=np.array($$2,0$,$0,1$$,dtype=complex)print(is_unitary(A))应该返回False。5.3 先拿最熟悉的例子练手:Hadamard 矩阵Hadamard门是量子计算里最经典的单比特门之一:H=12[111−1]H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 1\ 1 -1 \end{bmatrix}H=2​1​[1​11​−1​]代码写成:H=(1/np.sqrt(2))*np.array($$1,1$,$1,-1$$,dtype=complex)print("H is unitary:",is_unitary(H))print("H^dagger H =")print(H.conj().T @ H)理论上你会看到:H is unitary: TrueH.conj().T @ H很接近单位矩阵这个例子很重要,因为它让你第一次从代码层面看到:一个量子门不是“某种抽象物”,它就是一个满足幺正条件的复矩阵。而且 Hadamard 的好处是它不含复杂相位,看起来很朴素。这有助于消除一种误解:幺正矩阵不一定长得很复杂。5.4 再看 Pauli 矩阵:最小量子门集合的基本砖块单比特量子门里最常见的还有三类 Pauli 矩阵:X=[0110],Y=[0−ii0],Z=[100−1]X = \begin{bmatrix} 0 1\ 1 0 \end{bmatrix}, \quad Y = \begin{bmatrix} 0 -i\ i 0 \end{bmatrix}, \quad Z = \begin{bmatrix} 1 0\ 0 -1 \end{bmatrix}X=[0​11

相关新闻

VibeThinker-1.5B多轮对话测试:上下文保持能力评估教程

VibeThinker-1.5B多轮对话测试:上下文保持能力评估教程

VibeThinker-1.5B多轮对话测试:上下文保持能力评估教程 最近,一个名叫VibeThinker-1.5B的小模型在技术圈里小火了一把。它只有15亿参数,训练成本据说才7800美元,但官方宣称在数学和编程推理上,能和一些参数量大它几十…

2026/5/17 12:22:09 阅读更多 →
Qwen3-0.6B实战案例:智能客服系统搭建详细步骤解析

Qwen3-0.6B实战案例:智能客服系统搭建详细步骤解析

Qwen3-0.6B实战案例:智能客服系统搭建详细步骤解析 想自己动手搭建一个智能客服系统,但又担心技术门槛太高、成本太贵?今天,我就带你用阿里最新开源的Qwen3-0.6B模型,从零开始,一步步搭建一个属于你自己的…

2026/7/3 3:15:08 阅读更多 →
Synchronized 能不能禁止指令重排序?

Synchronized 能不能禁止指令重排序?

synchronized 能否禁止指令重排序 简短回答 是的,synchronized 能够禁止指令重排序。 详细解析 1. synchronized 的内存语义 synchronized 通过以下机制保证内存可见性和禁止指令重排序: happens-before 原则 解锁操作 happens-before 对同一个锁的加锁操…

2026/5/17 12:22:03 阅读更多 →

最新新闻

THSTrader完全指南:5步配置雷电模拟器与同花顺APP实战教程

THSTrader完全指南:5步配置雷电模拟器与同花顺APP实战教程

THSTrader完全指南:5步配置雷电模拟器与同花顺APP实战教程 【免费下载链接】THSTrader 量化交易工具。同花顺手机版模拟炒股python API,基于uiautomator2和图色方法实现。【可自行扩展到实盘】 项目地址: https://gitcode.com/gh_mirrors/th/THSTrader…

2026/7/4 8:35:20 阅读更多 →
用AI变声神器RVC实现10分钟语音转换:从零开始的完整实战指南

用AI变声神器RVC实现10分钟语音转换:从零开始的完整实战指南

用AI变声神器RVC实现10分钟语音转换&#xff1a;从零开始的完整实战指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-C…

2026/7/4 8:31:20 阅读更多 →
从“是什么“到“为什么“:现代系统诊断工具witr如何重新定义进程分析范式

从“是什么“到“为什么“:现代系统诊断工具witr如何重新定义进程分析范式

从"是什么"到"为什么"&#xff1a;现代系统诊断工具witr如何重新定义进程分析范式 【免费下载链接】witr Why is this running? 项目地址: https://gitcode.com/GitHub_Trending/wi/witr 在当今复杂的系统环境中&#xff0c;当进程异常消耗资源、端…

2026/7/4 8:29:19 阅读更多 →
如何用Flask-profiler定位最耗时的API端点?实战案例分享

如何用Flask-profiler定位最耗时的API端点?实战案例分享

如何用Flask-profiler定位最耗时的API端点&#xff1f;实战案例分享 【免费下载链接】flask-profiler a flask profiler which watches endpoint calls and tries to make some analysis. 项目地址: https://gitcode.com/gh_mirrors/fl/flask-profiler Flask-profiler是…

2026/7/4 8:29:19 阅读更多 →
FlipperZeroHondaFirmware工作原理深度解析:433MHz RF信号捕获技术

FlipperZeroHondaFirmware工作原理深度解析:433MHz RF信号捕获技术

FlipperZeroHondaFirmware工作原理深度解析&#xff1a;433MHz RF信号捕获技术 【免费下载链接】FlipperZeroHondaFirmware Custom Firmware for the Flipper Zero, to add support for Honda key fobs (FCC ID: KR5V2X) 项目地址: https://gitcode.com/gh_mirrors/fl/Flippe…

2026/7/4 8:23:17 阅读更多 →
大模型‘养虾测试’:评估世界模型与长程一致性新标尺

大模型‘养虾测试’:评估世界模型与长程一致性新标尺

1. 项目概述&#xff1a;当“养虾”成为大模型能力测试的新标尺最近在好几个技术群和行业论坛里&#xff0c;频繁看到有人甩出一句&#xff1a;“来&#xff0c;养只虾试试&#xff1f;”——不是水产养殖交流&#xff0c;也不是美食探店邀约&#xff0c;而是工程师、产品经理、…

2026/7/4 8:19:17 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布&#xff0c;这是一个关键的安全修复版本&#xff0c;修复了多个方面的问题&#xff0c;还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出&#xff0c;mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南&#xff1a;使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL&#xff08;Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器&#xff0c;与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻