分析力学 习题 10

问题 1:对称陀螺的 Liouville 可积性 考虑一个绕固定点自由旋转的对称陀螺(无平动,仅含转动自由度)。设固定点为 $O$,陀螺关于其对称轴的转动惯量为 $I_3$,关于垂直于对称轴的两个主轴的转动惯量相等,$I_1=I_2$。用 Euler 角 $(\phi,\theta,\psi)$ 描述陀螺的取向,其中 $\phi$ 为进动角,$\theta$ 为章动角,$\psi$ 为自转角。在 Euler 角下,对称陀螺的 Hamiltonian 为 $$H(\phi,\theta,\psi,p_\phi,p_\theta,p_\psi) = \frac{p_\theta^2}{2I_1} + \frac{(p_\phi - p_\psi \cos\theta)^2}{2I_1 \sin^2\theta} + \frac{p_\psi^2}{2I_3},$$ 其中正则动量为 $$p_\phi = \dfrac {\partial L}{\partial \dot \phi},\quad p_\theta=\dfrac {\partial L}{\partial \dot \theta},\quad p_\psi=\dfrac {\partial L}{\partial \dot \psi}.$$(a) 指出 $H$ 中不出现的循环坐标,并写出相应的守恒量。验证它们确实是运动常数。 (b) 写出该系统的三个守恒量 $F_1,F_2,F_3$(其中一个为 $H$ 本身)。显式计算它们两两之间的 Poisson 括号,证明它们相互对合: $$\{F_i,F_j\}=0,\quad i,j=1,2,3.$$(c) 论证这三个守恒量是函数独立的,从而得出结论:该对称陀螺是 Liouville 可积的。 解: (a) Hamiltonian $H$ 中显式不出现的循环坐标是 $\phi,\psi$,对应的守恒量为 $p_\phi,p_\psi$,现在用 Poisson 括号验证它们是运动常数,这里标号 $\phi,\psi,\theta$ 分别为 $1,2,3$,则 ...

May 31, 2026 · 1 min · 129 words

Pi Agent 包源码逐行解读 — agent-loop.ts & agent.ts

Pi Agent 包源码逐行解读 本文对 packages/agent/src/ 下的 agent-loop.ts(~700 行)和 agent.ts(~540 行)做逐行级的代码解读,涵盖每个函数的设计意图、类型系统、控制流和错误处理策略。 目录 文件概览 agent-loop.ts 逐行解读 类型与导入 agentLoop / agentLoopContinue — 公开入口 runAgentLoop / runAgentLoopContinue — 异步底层 runLoop — 核心双层循环 streamAssistantResponse — LLM 流式调用 executeToolCalls — 工具调度 executeToolCallsSequential / Parallel — 串行与并行 prepareToolCall — 前置管道 executePreparedToolCall — 工具执行 finalizeExecutedToolCall — 后处理 辅助函数 agent.ts 逐行解读 类型与导入 MutableAgentState 与 createMutableAgentState PendingMessageQueue Agent 类 — 构造器 subscribe — 事件订阅 prompt — 发起对话 continue — 继续对话 steer / followUp — 消息队列 abort / waitForIdle / reset — 生命周期控制 私有方法:runPromptMessages / runContinuation runWithLifecycle — 并发控制 handleRunFailure — 失败处理 finishRun — 运行终结 processEvents — 事件归约 createContextSnapshot / createLoopConfig — 适配层 设计模式总结 文件概览 packages/agent/src/ ├── agent-loop.ts # 无状态循环引擎(~700 行,纯函数) ├── agent.ts # 有状态封装层(~540 行,Agent 类) ├── types.ts # 类型定义(~400 行) ├── proxy.ts # HTTP 代理(~320 行) ├── index.ts # 导出入口(~8 行) ├── agent-learn.ts # 学习相关 ├── agent-loop-learn.ts └── README.md 核心分界线: ...

May 29, 2026 · 26 min · 5422 words

Pi-Architecture: Agent

Pi Agent 包架构 packages/agent/src/ 实现了 Pi 框架中的 Agent 运行时,用于构建工具增强型 LLM 对话代理(Tool-Augmented LLM Agent)。 整个包由五个模块组成: 文件 职责 行数 types.ts 类型定义层 ~400 agent-loop.ts 无状态循环引擎 ~700 agent.ts 有状态封装层 ~540 proxy.ts 代理流式函数 ~320 index.ts 导出入口 8 架构总览 graph TD App[外部应用] subgraph "Agent 包" Index[index.ts导出入口] subgraph "类型系统" Types[types.tsAgentMessage / AgentEventAgentLoopConfig / AgentTool] end subgraph "管理层 agent.ts" Agent[Agent 类状态管理 / 队列 / 并发 / 事件] Queue[PendingMessageQueuesteering / follow-up 队列] State[MutableAgentState状态归约] end subgraph "引擎层 agent-loop.ts" Engine[LoopEnginerunAgentLoop / runLoop] LLMCall[streamAssistantResponseLLM 调用] ToolExec[executeToolCalls工具执行] end subgraph "HTTP 代理 proxy.ts" Proxy[streamProxy代理流式函数] end end subgraph "LLM 核心库 @earendil-works/pi-ai" AI[streamSimple / ModelMessage / Tool] end App --> Agent Agent --> Engine Agent --> Queue Agent --> State Engine --> LLMCall Engine --> ToolExec LLMCall --> AI Proxy -- 替代 streamFn --> Agent Agent -.-> Types Engine -.-> Types 分层设计 无状态引擎 vs 有状态封装 Agent 包的核心设计思想是将引擎逻辑与状态管理分离: ...

May 29, 2026 · 13 min · 2577 words

分析力学 习题 9

问题 1:两粒子系统与质心运动 考虑一维空间中质量分别为 $m_1$ 和 $m_2$ 的两个粒子,它们通过仅依赖于相对距离的势能相互作用: $$H(q_1, q_2, p_1, p_2) = \frac{p_1^2}{2m_1} + \frac{p_2^2}{2m_2} + V(q_1 - q_2),$$(a) 通过计算 $\{G,H\}$,证明总动量 $$G=p_1 + p_2$$ 是一个守恒量。 (b) 质心坐标定义为 $$Q_{\mathrm{cm}}=\dfrac {m_1 q_1 + m_2 q_2}{m_1 + m_2}.$$ 证明量 $$G'=(m_1+m_2)Q_{\mathrm{cm}}-(p_1 + p_2)t$$ 也是守恒的。 (c) 解释 $G'$ 守恒的物理意义。 解: (a) $H$ 作为 Hamiltonian,满足 $$\dfrac {\partial H}{\partial p_1} = \dfrac{p_1}{m_1}, \quad \dfrac{\partial H}{\partial p_2} = \dfrac{p_2}{m_2},\quad \dfrac{\partial H}{\partial q_1} = V'(q_1 - q_2), \quad \dfrac{\partial H}{\partial q_2} = -V'(q_1 - q_2).$$ 所以 ...

May 28, 2026 · 3 min · 577 words

位势方程与 Green 公式

位势方程 一些基本的结果: 基本解:在 $\mathbb R^n$ 上,位势方程 $-\Delta u=f(x)$ 的基本解 $-\Delta E=\delta(x)$ 满足 $$E(x)=\begin{dcases} -\frac{1}{2\pi}\log|x|,&n=2,\\[14pt] \frac{1}{(n-2)S_{n-1}|x|^{n-2}},&n\geq 3, \end{dcases}$$ 尽管基本解 $E$ 在 $x=0$ 处有奇点,但通过球坐标变换 $$\int_{|x|<\varepsilon} E(x)\mathrm dx=\int_0^\varepsilon\int_{\Theta}E(r)J(\Theta)r^{n-1}\mathrm d\Theta\mathrm dr\to 0,\quad \varepsilon\to 0,$$ 其中 $J(\Theta)$ 是球坐标变换的 Jacobian 的角度部分。因此 $E\in L^1_{\mathrm{loc}}(\mathbb R^n)$;另外 $$\nabla E(x)=-\dfrac 1{S_{n-1}}\dfrac x{|x|^n},\quad \forall n\geq 2,$$ 这推出 $\nabla E\in L^1_{\mathrm{loc}}(\mathbb R^n)$,因为 $$\int_{|x|<\varepsilon} |\nabla E(x)|\mathrm dx=\int_0^\varepsilon\int_{\Theta}\dfrac {J(\Theta)}{S_{n-1}}\mathrm d\Theta\mathrm dr=\int_0^\varepsilon\mathrm dr=\varepsilon,$$ 如果我们进一步求二阶微分 $$|\nabla^2 E(x)|=\dfrac 1{S_{n-1}}\left|\dfrac n{|x|^n}\dfrac {xx^T}{|x|^2}-\dfrac 1{|x|^n}I\right|\sim \dfrac 1{|x|^n},$$ 这推出 $\nabla^2 E\notin L^1_{\mathrm{loc}}(\mathbb R^n)$,因为 ...

May 27, 2026 · 2 min · 274 words

复旦 2021 推免考试

1 2 设 $\varepsilon\in (0,1)$,则 $$\begin{darray}{ll}\lim_{n\to\infty}\int^\infty_0\cos x^n\mathrm dx&=\lim_{n\to\infty}\int^\infty_{1}\cos x^n\mathrm dx+\lim_{n\to\infty}\int^{1-\varepsilon}_0\cos x^n\mathrm dx+\lim_{n\to\infty}\int^{1}_{1-\varepsilon}\cos x^n\mathrm dx.\end{darray}$$

May 21, 2026 · 1 min · 14 words

复旦 2022 推免考试

1 (1) 二阶连续可微的下凸函数,满足 $f''(x)\geq 0$,这说明 $f'(x)$ 单调递增,而如果存在 $x_0$ 使得对任意 $x>x_0$ 都有 $f(x)\geq f(x_0)>0$,那么 $f(x)$ 无界,矛盾。所以 $f'(x)\leq 0$ 恒成立,从而 $f(x)$ 是有界单调递减函数,存在极限。 (2) 计算反常积分,先形式地有 $$\begin{darray}{ll}\int^\infty_0 xf''(x)\mathrm dx&=\int^\infty_0x\mathrm df'(x)\\[6pt]&=xf'(x)\big|^\infty_0-\int^\infty_0f'(x)\mathrm dx\\[6pt]&=\lim_{x\to\infty}xf'(x)-\lim_{x\to \infty}f(x)+f(0)\\[6pt]&=\lim_{x\to\infty}xf'(x)+f(0)-A\end{darray}$$ 此外注意到,$f'(x)$ 是单调递增函数,所以 $$f(2x)-f(x)=\int^{2x}_xf'(t)\mathrm dt\leq xf'(x)\leq 0$$ 取极限即可,说明最终结果为 $f(0)-A$. 2 (1) 因为 $f'(x)\neq 0$,分类讨论。当 $f'(x)>0$ 时,$f(x)$ 单调递增,所以 $$f(x)...

May 21, 2026 · 1 min · 45 words

Cayley-Hamilton 定理

介绍三种 Cayley-Hamilton 的证明方法。在正式开始之前,先指出一类错误的证明思路。 考虑到 $f(\lambda)=\det (\lambda I-A)$ 的形式,将 $\lambda$ 替换成 $A$,就得到所谓 $$f(A)=\det (AI-A)=\det O=0$$ 这混淆了标量和矩阵的关系,上述代换应该表示为 Kronecker 乘积的形式,与本定理并无关系。 伴随矩阵方法(代数方法) 对于 $f(\lambda)=\det (\lambda I-A)$,设 $\lambda I-A=B$,则根据行列式的计算,有 $$f(\lambda )I=\det B\cdot I=BB^*$$ 而伴随 $B^*$ 的定义要求它至多是 $n-1$ 次的 $\lambda$ 的多项式,所以 $B^*$ 可以表示为 $$B^*=\sum^{n-1}_{k=0}C_k\lambda^k$$ 所以代入 $$\sum^{n}_{k=0}a_k\lambda^k I=f(\lambda)I=\sum^{n-1}_{k=0}(\lambda I-A)C_k\lambda^k$$ 从而比较系数 $$\begin{matrix}a_0& =& -AC_0&\\ a_1& =& C_0&-AC_1\\ a_2& =&& C_1&-AC_2\\ \vdots& &&&\ddots&\\ a_{n-1}& =&&& C_{n-2}&-AC_{n-1}\\ a_n& =&&&& C_{n-1}\end{matrix}$$ 累加即可。 对角矩阵方法(分析方法) 这个方法只适用于 $\mathbb F=\mathbb R,\mathbb C$ 上的矩阵。 先考虑 $A$ 可对角化的情形,则此时存在可逆矩阵 $P$ 使得,对于任意多项式 $f$,都有 ...

May 19, 2026 · 1 min · 116 words

根子空间

185 199-28,29,30,31,32,33 Oksendal - Introduction to Stochastic

May 19, 2026 · 1 min · 7 words

根子空间

线性算子 $T:\mathbb F^n\to\mathbb F^n$ 作用在向量 $\alpha \in\mathbb F^n$ 上,我们关心它的不变性。所以有不变子空间的概念,例如 $V\subseteq \mathbb F^n$ 是 $T$ 的不变子空间,意味着选取 $V$ 的一组基底进行线性扩张,则能得到以下表示矩阵 $$\begin{pmatrix}A&*\\ 0&B\end{pmatrix}$$ 其中 $*$ 不一定为零元,这说明 $V$ 是 $T$ 最终的收缩核。特别地,如果 $\dim V=1$,则 $\beta$ 是 $T$ 的特征向量,其中 $V=\mathrm {span}\{\beta\}$,具体地 $$\exists \lambda \in \mathbb F,\text{ s.t. }T\beta=\lambda \beta$$ 将这些特征向量元组 $(\lambda ,\beta)$ 收集起来,记线性算子 $T$ 的 $\lambda$-特征子空间为 $$V_\lambda =\{\beta \in \mathbb F^n:T\beta=\lambda \beta\}=:\{\beta \in\mathbb F^n:T_\lambda \beta=0\}$$ 其中 $T_\lambda :=T-\lambda I$。这个特征子空间只不过是多个一维不变子空间(一维收缩核)的直和。那么作为收缩核,其核空间会最终平稳 $$\ker T_\lambda \subseteq \ker T^2_\lambda \subseteq \cdots \subseteq \ker T^N_\lambda =\ker T^{N+1}_\lambda =\cdots$$ 于是 $\ker T^N_\lambda$ 中的元素只要作用 $T_\lambda$ 就会最终收缩到 $\ker T_\lambda$ 中的一个特征向量上。而具体落在哪一个特征向量上,是由 $\ker T^N_\lambda$ 中元素的链条决定的:对于任意 $\alpha \in \ker T^N_\lambda$,存在最小的 $k\in\{0,1,\cdots,N\}$ 使得 ...

May 19, 2026 · 1 min · 99 words