我们开始于一个 setup:Hamiltonian 中的势能 \(V(x)\) 形状类似于一个对称的双势阱,有两个对称的极小值点,中间的 barrier 非常高(此处插入势能示意图)。我们来讨论这个系统的能量本征态,以及态的时间演化。 首先要 solve 定态薛定谔方程 \(H|\psi\rangle = E|\psi\rangle\) 来找能量的本征值和本征态。这里本征态在 \(x\) 表象下的投影就是波函数 \(\psi(x)=\langle x|\psi\rangle\)。 假设 \(V(x)\) 中间的 barrier 高到了无穷大,那么粒子被完全限制在左右两个势阱里,我们可以近似认为系统有左右两个局域态 \( |\psi_L\rangle\)、\( |\psi_R\rangle\)。它们对应的能量本征值应该相同,设为 \(E_0\),也就是能量简并。 但实际不会如此:当 barrier 有限且 \(V(x)\) 对称时,能量本征态的波函数要么对称要么反对称,而上面的局域态 \( |\psi_L\rangle\)、\( |\psi_R\rangle\) 本身均不满足。于是能量本征态可以取为它们的对称/反对称组合: \[ |\psi_1\rangle=\frac{|\psi_L\rangle+|\psi_R\rangle}{\sqrt{2}},\qquad E_1=E_0-\epsilon, \] \[ |\psi_2\rangle=\frac{|\psi_L\rangle-|\psi_R\rangle}{\sqrt{2}},\qquad E_2=E_0+\epsilon. \]对于能量本征态,它们满足如下时间演化(这里取 \(\hbar=1\)): \[ |\psi_n(t)\rangle=e^{-iE_n t}|\psi_n(0)\rangle. \]我们现在假设初始状态为 \( |\psi(0)\rangle=|\psi_L\rangle\),即粒子在左边。注意这个不是能量本征态,但可以表达为本征态的线性组合: \[ |\psi_L\rangle=\frac{|\psi_1\rangle+|\psi_2\rangle}{\sqrt{2}},\qquad |\psi_R\rangle=\frac{|\psi_1\rangle-|\psi_2\rangle}{\sqrt{2}}. \]随时间演化,在时刻 \(t\) 有 \[ |\psi(t)\rangle=\frac{1}{\sqrt{2}}\left(e^{-iE_1 t}|\psi_1\rangle+e^{-iE_2 t}|\psi_2\rangle\right) = e^{-iE_0 t}\left(\cos(\epsilon t)\,|\psi_L\rangle+i\sin(\epsilon t)\,|\psi_R\rangle\right). \]取 \(t=\pi/(2\epsilon)\),会发现 \( |\psi(t)\rangle = i e^{-iE_0 t}|\psi_R\rangle\),也就是(忽略整体相位)这正好对应粒子在右边。于是系统会在 \( |\psi_L\rangle\) 和 \( |\psi_R\rangle\) 这两种状态之间来回振荡。 ...
量子场论
我们来聊一聊量子场论的基本设定。 先从单个量子谐振子开始。它的能量本征方程写作 \[ H|\psi\rangle = E|\psi\rangle . \] 它有一组离散的能量本征态。对谐振子而言,更方便的一组本征态是数态 \(|n\rangle\)(\(n=0,1,2,\dots\)),满足 \(H|n\rangle=E_n|n\rangle\)。我们引入湮灭算符 \(a\) 与创生算符 \(a^\dagger\),令它们满足 \([a,a^\dagger]=1\),并定义占据数算符 \(N=a^\dagger a\)。数态同时也是 \(N\) 的本征态: \[ N|n\rangle = n|n\rangle . \] 它们构成一组正交归一基,满足 \(\langle n|m\rangle=\delta_{nm}\),并且有完备关系 \(\sum_{n=0}^{\infty}|n\rangle\langle n|=I\)。 升降算符在数态上的作用是 \[ a^\dagger|n\rangle=\sqrt{n+1}\,|n+1\rangle,\qquad a|n\rangle=\sqrt{n}\,|n-1\rangle . \]考虑多谐振子的情况(即有很多个彼此独立的谐振子自由度)。用 \(|n_1,n_2,n_3,\dots\rangle\) 表示:第 1 个谐振子的占据数为 \(n_1\),第 2 个谐振子的占据数为 \(n_2\),依此类推。第 \(j\) 个谐振子的创生算符 \(a_j^\dagger\) 会把 \(n_j\) 增加 1: \[ a_j^\dagger|n_1,\dots,n_j,\dots\rangle =\sqrt{n_j+1}\,|n_1,\dots,n_j+1,\dots\rangle , \] 相应地,\(a_j\) 会把 \(n_j\) 减少 1: \[ a_j|n_1,\dots,n_j,\dots\rangle =\sqrt{n_j}\,|n_1,\dots,n_j-1,\dots\rangle . \] 在通常的量子力学里,我们常常固定粒子数来讨论。单粒子波函数是 \(\psi(x)=\langle x|\psi\rangle\)。如果粒子数固定为 \(N\),多粒子波函数可以写作 \(\psi(x_1,x_2,\dots,x_N)=\langle x_1,x_2,\dots,x_N|\Psi\rangle\)。 ...
费米子
我们想通过波函数来给不同的粒子分类。考虑一个双粒子系统,如果我们交换两个粒子,这个系统的状态会如何改变? 在经典力学中,即便两个粒子在物理属性上完全相同,我们原则上依然可以通过“标签”(比如“粒子1”和“粒子2”)来区分它们。因此,交换两个经典粒子的位置会产生一个新的、可区分的微观构型。 但在量子力学中,全同粒子(Identical Particles)是根本不可区分的。这里的“全同”意味着它们具有完全相同的内禀属性(如质量、电荷、自旋)。需要强调的是,我们讨论的“交换”操作仅对全同粒子有意义。如果是一个费米子和一个玻色子(例如一个电子和一个光子),它们在物理上是完全可区分的,不需要也不存在交换对称性的约束。只有当交换两个全同粒子(例如将电子1移到位置 \(x_2\),电子2移到位置 \(x_1\))时,系统的物理状态才必须保持不变。 设想系统的态矢量为 \(|\psi\rangle\),在位置表象下的波函数为: \[ \psi(x_1, x_2) = \langle x_1, x_2 | \psi \rangle \] 当我们说“交换粒子后物理状态不变”时,这并不意味着波函数本身必须严格相等,即不一定要求 \(\psi(x_2, x_1) = \psi(x_1, x_2)\)。这是因为在量子力学中,所有可观测的物理量(如概率密度、期望值)都只与波函数的模方 \(|\psi|^2\) 有关。因此,交换后的波函数允许与原波函数相差一个全局相位因子 \(e^{i\phi}\): \[ \psi(x_2, x_1) = e^{i\phi} \psi(x_1, x_2) \] 其中 \(\phi\) 是一个实数。 然而,如果我们进行两次交换操作,粒子将物理地回到最初的位置。这种“复原”要求波函数也必须回到初始形式: \[ \psi(x_1, x_2) \xrightarrow{\text{交换一次}} e^{i\phi} \psi(x_2, x_1) \xrightarrow{\text{再交换一次}} e^{i\phi} (e^{i\phi} \psi(x_1, x_2)) = e^{2i\phi} \psi(x_1, x_2) \] 为保证波函数的一致性,必须满足: \[ e^{2i\phi} = 1 \] 这个方程只有两个解,这直接导致了自然界中粒子的两种基本分类: 玻色子 (Bosons):对应 \(e^{i\phi} = 1\)。交换粒子后波函数不变(对称): \[ \psi(x_2, x_1) = \psi(x_1, x_2) \] 费米子 (Fermions):对应 \(e^{i\phi} = -1\)。交换粒子后波函数变号(反对称): \[ \psi(x_2, x_1) = -\psi(x_1, x_2) \] 现在我们考虑如何构造玻色子和费米子的波函数 \(\psi(x_1, x_2)\)。一个简单的想法是直接将波函数写为单粒子波函数的乘积: ...
自动化语音转录与翻译
今天心血来潮,想用英语学习各种各样的课程,比如生物、地理这些。Bilibili 上有不少 The Great Courses 的课程,但我之前的观看体验是,这些课程里经常用到很多术语,直接听,哪怕配有英语字幕,也还是不能完全听懂。所以,我就想给这些课程视频配上中英文字幕再看。 技术方案很直接:用 yutto 从 B 站上下载视频,ffmpeg 从视频中提取音频,whisper.cpp 从音频转录生成 SRT 字幕(顺便提一下,我用的是 Apple M3 Silicon),最后用 DeepSeek API 翻译 SRT 字幕。 实现后发现了一些问题,本质上都是大模型的幻觉导致的。 Whisper 转录有时会出现重复的无意义语句,即使音频很清晰。这可能和音频的采样格式有关,比如声道数、采样率等。我用的是 large-v3 模型,但听说 v2 模型在这种情况下可能表现得更稳定一些。 272 00:23:23,360 --> 00:23:27,420 Now the caldera has a crater at the bottom of the volcano. Now the caldera has a crater 273 00:23:27,420 --> 00:23:31,580 at the bottom of the volcano. Now the caldera has a crater at the bottom of the volcano. 274 00:23:31,580 --> 00:23:35,180 Now the caldera has a crater at the bottom of the volcano. Now the caldera has a crater 275 00:23:35,180 --> 00:23:37,440 at the bottom of the volcano. Now the caldera has a crater at the bottom of the volcano. 为了让 DeepSeek 能结合上下文进行分析,我选择将多行字幕一同“喂”给它,希望它能根据输入格式,一行一行地翻译出来,并且输出的行数能与输入对齐。然而,至少 DeepSeek 很难完美做到这一点。后来,我强制它输出 JSON 格式,并为每行编号,发现这样可以让翻译结果的总行数与输入总行数相等,但仍然无法保证每行都一一对应,有时会出现错位。我一开始一次性输入 50 行,但发现一旦错位,就会导致很长一段视频的中英文字幕对不上,看着很难受。所以,我把批处理大小调整为一次 10 行,这样即使出现错位,错误也不会持续太久。 ...
关于Do Business的思考
今天早上在上班的时候想听有声书,遂在网上搜索,发现了这个【「疯癫与文明」米歇尔·福柯【有声书 | 同步原文】】 我觉得他做的非常恰当,这种社会学、哲学相关的书,仅仅看书往往容易觉得枯燥而放弃阅读,仅仅听书则常忘记上下文而走神并不知所云,这种书最适合用来做同步原文的有声书。于是我开始思考,他是怎么做出来这样的有声书的,用的什么AI工具,怎么把文章和音频正好对上,在r/localllama翻找了半天。开源的解决方案通常都非常复杂,要先把电子书转成音频和带时间戳的字幕,再将字幕和音频同步播放制作成视频。 我盯着这个up做的有声书视频看了半天,觉得不对啊,这个看着完全不像是按上面的这套方案做出来的,这个字幕滚动和高亮的功能明明非常困难,如果他是自己做的,应该不会选择这么高难度的制作方式,而会是直接播放ass或是srt字幕烧录进去的那种视频。 再去问ai,如何实现在制作有声书时文章和音频同时播放的效果,track到了Speechify,试了一下,Speechify和这个up视频中的效果一模一样,恍然大悟。事实上,我早就知道Speechify了,只是从未想过用它来制作这样的视频。 Speechify年费要大约1000人民币,这个up靠做哲学类的有声书视频有大约2万粉丝,我估算来自b站的月收入超过100元的概率是很高的,完全可以cover Speechify的支出。而实际上,我认为他几乎不需要做任何事情(除了在电脑上开一个小窗口录屏)便赚到了钱。而我一开始居然在想着怎么完整搭一套复杂的工具链才能赚到这笔钱。 他是怎么发现这个商机的呢?我的推测是,很可能比如说他自己需要借助有声书来更好地理解这些困难的哲学书,在使用Speechify阅读后,发现这是一个很多人都需要的需求,所以顺水推舟制作成了视频发布到网站上。 我目前的副业其实也是从这个角度来做的,给我的启发则是要估计时间成本,看看有没有更直接的实现方式。
自旋
对于一维谐振子问题,其哈密顿量可以表示为 \(H = \frac{p^2}{2} + \frac{1}{2}\omega^2 x^2\)。我们的目标是求解其能量本征方程 \(H\varphi = E\varphi\)。为了用一种更简洁的代数方法求解,我们引入一对阶梯算符,定义为: \[ a^{\pm} = \frac{p \pm i\omega x}{\sqrt{2\omega}} \] 其中 \(a^+\) 通常被称为创生算符 \(a^\dagger\),而 \(a^-\) 被称为湮灭算符 \(a\)。通过这些算符,我们可以将哈密顿量表达成一个更简洁的形式。我们定义粒子数算符为 \(N = a^\dagger a\)。经过推导可以发现,哈密顿量与粒子数算符的关系为: \[ H = \omega \left(N + \frac{1}{2}\right) \] 这个形式极大地简化了问题的求解过程。 直接求解谐振子的薛定谔方程是一个二阶常微分方程,过程较为繁琐。狄拉克发明了一种更深刻的代数方法,其核心思想是尝试对哈密顿算符 \(H\) 进行“因式分解”。哈密顿量 \(H = \frac{p^2}{2m} + \frac{1}{2}m\omega^2 x^2\) 在自然单位制(令 \(m=1, \hbar=1\))下为 \(H = \frac{p^2}{2} + \frac{1}{2}\omega^2 x^2\),这个形式很像平方和 \(A^2+B^2\)。虽然在量子力学中位置算符 \(x\) 和动量算符 \(p\) 不对易(\([x, p] = i\)),不能像普通数字一样直接分解,但这个思路启发我们去构造一对互为厄米共轭的算符 \(a\) 和 \(a^\dagger\),使得 \(H\) 能用它们的乘积 \(a^\dagger a\) 来简洁地表达。这对算符就是我们之前引入的升降算符。 ...
原子轨道与谐振子
为了解具有中心势的系统中粒子的状态(例如原子中的电子),我们在球坐标中用波函数 \( \psi(r, \theta, \phi) \) 描述其状态。这里的一个关键数学技巧是变量分离法。该方法之所以适用,是因为系统的势能具有球对称性,即它只依赖于到中心的距离 \(r\),而不依赖于角度 \( \theta \) 或 \( \phi \)。这种对称性使我们能够将波函数分解为径向部分 \( R(r) \) 与角向部分 \( Y(\theta, \phi) \) 的乘积。通过将 \( \psi(r, \theta, \phi) = R(r)Y(\theta, \phi) \) 表达出来,我们可以把单一而复杂的薛定谔方程转化为一组更简单的一维常微分方程,并分别求解。 问题的角向部分由角动量算符 \(L_x, L_y, L_z\) 所支配。这些算符彼此不对易,满足诸如 \( [L_x, L_y] = i\hbar L_z \) 的对易关系。由于它们不对易,量子态不可能同时对三个分量都具有确定值。标准做法是选择一个分量(通常为 \(L_z\)),并寻找它与总角动量平方算符 \(L^2\) 的共同本征态。我们可以用各自的量子数对这些本征态进行标记,例如 \(|m\rangle\),其对应于 \(L_z\) 算符的本征值 \(m\hbar\)。为了探索这些本征值的谱,我们引入阶梯(升降)算符,定义为 \(L_{\pm} = L_x \pm iL_y\)。这些算符具有强大的作用:当升算符 \(L_+\) 作用在本征态 \(|m\rangle\) 上时,会产生一个新的状态,它同样是 \(L_z\) 的本征态,但其本征值增加到 \((m+1)\hbar\)。因此,我们可以将这一新状态标记为 \(|m+1\rangle\),并得到基本关系 \( L_+|m\rangle \propto |m+1\rangle \)。这种代数方法揭示出一个本征态“梯子”,其沿 z 轴的角动量以一个单位为间距。 ...
对称群与简并
对称性可以理解为一种算符,当作用于系统时,使其基本特征保持不变。例如,晶格具有平移对称性;沿晶格矢量移动其位置并不会改变其结构。在量子力学中,这一概念与能级的简并密切相关。简并意味着不同的量子态可以具有相同的能量。虽然对称性有时意味着简并,但能级的简并总是系统中某种潜在对称性的标志。 让我们从旋转对称性出发。设想一个在圆周上运动的粒子,这是一个在旋转下不变的系统。其状态由波函数 \(\psi(\theta)\) 描述。如果我们将系统逆时针旋转一个无穷小角度 \(\epsilon\),波函数变换为 \(\psi(\theta) \rightarrow \psi(\theta - \epsilon)\)。波函数的变化 \(\Delta\psi\) 可写为: \[ \Delta\psi \approx -\epsilon \frac{\partial\psi}{\partial\theta} = -\frac{i\epsilon}{\hbar} \left(-i\hbar\frac{\partial\psi}{\partial\theta}\right) \] 注意到角动量算符是 \(L_z = -i\hbar\frac{\partial}{\partial\theta}\),于是有: \[ \Delta\psi = -\frac{i\epsilon}{\hbar}L_z\psi \] 在此语境下,\(L_z\) 是旋转的生成元。将其作用于波函数,刻画一次微小旋转的效果。同样的原理适用于线性动量,其中 \(p_x = -i\hbar\frac{\partial}{\partial x}\) 是沿 x 轴平移的生成元。需注意,为了简化,计算中有时将 \(\hbar\) 取为 1,但这里将其显式保留。 角动量算符的本征值和本征向量是什么?本征方程为 \(L_z|\psi\rangle = m|\psi\rangle\),其中 \(m\) 是本征值。这给出微分方程: \[ -i\hbar\frac{\partial\psi}{\partial\theta} = m\psi(\theta) \] 其解具有形式 \(\psi(\theta) = C e^{im\theta/\hbar}\)。一个物理约束是波函数必须是单值的,即 \(\psi(\theta) = \psi(\theta + 2\pi)\)。这意味着经过一周旋转后,波函数必须回到原状。这导致条件: \[ e^{im2\pi/\hbar} = 1 \] 当且仅当 \(m/\hbar\) 为整数时成立。传统上,我们将该整数记作 \(m\),于是角动量被量子化,其允许取值为 \(L_z = m\hbar\)。 ...
量子力学综述
在量子力学中,物理系统的状态由一个态矢量描述,使用狄拉克的括号记号(bra-ket)记作 \(|\psi\rangle\)。这些态矢量是称为希尔伯特空间的复向量空间中的元素。 给定两个态矢量 \(|\psi\rangle\) 和 \(|\phi\rangle\),它们的内积是一个复数,记为 \(\langle\phi|\psi\rangle\)。如果两个不同状态的内积为零,即 \(\langle\phi|\psi\rangle = 0\),则称这些状态正交,表示完全独立的物理情形。 可以测量的物理量,如位置、动量和能量,称为可观测量。在量子力学中,可观测量由厄米算符表示。算符 \(A\) 若等于其自身的共轭转置 \(A = A^\dagger\),则为厄米的。厄米算符的一个关键性质是其本征值总是实数,这是必要的,因为它们对应物理测量的结果。 当测量一个可观测量 \(A\) 时,唯一可能的结果是该算符的本征值。本征方程为: $$ A |\alpha\rangle = \alpha |\alpha\rangle $$ 其中,\(\alpha\) 是一个本征值,\(|\alpha\rangle\) 是对应的本征矢。如果我们对 \(A\) 进行测量并得到结果 \(\alpha\),系统的状态将坍缩到相应的本征态 \(|\alpha\rangle\)。 为了描述空间中的粒子,我们常在位置基底中工作。基底矢量记作 \(|x\rangle\),表示具有确定位置 \(x\) 的状态。态矢量 \(|\psi\rangle\) 在该基底中的表象是波函数 \(\psi(x)\),其由内积定义: $$ \psi(x) = \langle x|\psi\rangle $$ 记号 \(\langle x|\psi\rangle\) 可能令人困惑。将其与熟悉的离散向量空间(如三维欧几里得空间)类比会有所帮助。 在离散基底中: 设想一个标准的三维向量 \(\vec{V}\)。我们可以在一个基底中表示它,该基底是一组三个正交的单位矢量 \(B = \{\hat{e}_1, \hat{e}_2, \hat{e}_3\}\)(例如 \(\hat{i}, \hat{j}, \hat{k}\))。 基底是完整集合 \(B\)。 基底矢量是该集合中的一个成员,例如 \(\hat{e}_1\)。其中的 1 是一个离散指标。 要找到 \(\vec{V}\) 沿 \(\hat{e}_1\) 方向的分量,我们取点积(即内积):\(V_1 = \hat{e}_1 \cdot \vec{V}\)。 该向量可以通过对其分量求和来重建:\(\vec{V} = V_1 \hat{e}_1 + V_2 \hat{e}_2 + V_3 \hat{e}_3 = \sum_{i=1}^3 (\hat{e}_i \cdot \vec{V}) \hat{e}_i\)。 在连续的位置基底中: ...
伊辛模型
遵循 Susskind 的 Statistical Mechanics 课程,第 9 讲。 伊辛模型中单个自旋的能量为: \[E = -J\sigma\]其中: \(E\) 是该自旋的能量 \(J\) 是耦合常数(相互作用强度) \(\sigma\) 是自旋取值,可以是 +1(自旋向上)或 -1(自旋向下) 聚焦于单个自旋。 它的配分函数 \(Z\),对两个构型求和(\(\sigma = +1, \sigma = -1\)),为: \[ Z = \sum_{\sigma \in \{+1, -1\}} e^{-\beta(-J\sigma)} = \sum_{\sigma \in \{+1, -1\}} e^{\beta J\sigma} = e^{\beta J(+1)} + e^{\beta J(-1)} = e^{\beta J} + e^{-\beta J} = 2 \cosh(\beta J) \](对于由 \(N\) 个独立、无相互作用的自旋组成的系统,总配分函数的对数是可加的:\(\ln Z_{total} = N \ln Z\)。) 让我们计算该自旋的平均能量 \(\langle E \rangle\): 平均能量由 \(\langle E \rangle = -\frac{1}{Z} \frac{\partial Z}{\partial \beta}\) 给出。 由于 \(Z = 2 \cosh(\beta J)\),它对 \(\beta\) 的导数为 \(\frac{\partial Z}{\partial \beta} = 2J \sinh(\beta J)\)。 将这些代入关于 \(\langle E \rangle\) 的表达式中: ...