2 目 录 Euler 方 法 龙 格 库 塔 方 法 两 点 边 值 问 题
|
|
|
- 闲 云
- 9 years ago
- Views:
Transcription
1 目 录 第 零 章 绪 论 5 第 一 章 计 算 机 数 和 误 差 计 算 机 数 及 其 表 示 舍 入 误 差 对 计 算 的 影 响 减 法 的 计 算 第 二 章 物 理 学 中 的 常 用 数 值 方 法 数 值 积 分 方 法 梯 形 法 和 辛 普 生 方 法 反 常 积 分 的 计 算 高 斯 积 分 方 法 哥 西 主 值 的 计 算 急 速 振 荡 函 数 的 积 分 高 维 积 分 的 计 算 固 体 热 容 量 的 计 算 方 程 的 求 根 和 最 优 化 方 法 二 分 法 牛 顿 法 和 割 线 法 一 维 最 优 化, 黄 金 分 割 法 高 维 最 优 化, 共 扼 梯 度 方 法 约 束 最 优 化 最 小 二 乘 法 及 曲 线 拟 合 函 数 的 求 值 多 项 式 的 求 值 和 级 数 求 和 连 分 式 的 求 值 常 微 分 方 程 的 数 值 解 法
2 2 目 录 Euler 方 法 龙 格 库 塔 方 法 两 点 边 值 问 题 插 值 和 逼 近 多 项 式 插 值 分 式 有 理 函 数 插 值 和 外 推 三 次 样 条 插 值 列 表 函 数 的 积 分 Padé 插 值 与 外 推 发 散 级 数 的 Cesáro 求 和 及 其 推 广 Borel 求 和 Bézier 逼 近 多 元 函 数 的 插 值 及 逼 近 快 速 付 里 叶 变 换 付 里 叶 变 换 离 散 付 里 叶 变 换 快 速 付 里 叶 变 换 附 录 : 特 殊 函 数 的 计 算 误 差 函 数 的 计 算 指 数 积 分 的 计 算 整 数 阶 贝 塞 尔 函 数 及 虚 宗 量 贝 塞 尔 函 数 的 计 算 球 谐 函 数 的 计 算 椭 圆 积 分 的 计 算 附 录 : 高 斯 积 分 的 节 点 和 权 重 第 三 章 数 值 线 性 代 数 主 元 消 去 法 解 线 性 代 数 方 程 组 LU 分 解 法 三 对 角 方 程 组 的 求 解 实 对 称 矩 阵 的 本 征 值 和 本 征 向 量 Householder 方 法 QL 算 法 第 四 章 电 磁 场 的 计 算 Maxwell 方 程, 边 值 问 题 差 分 和 差 商
3 目 录 二 维 Possion 方 程 的 五 点 差 分 格 式 差 分 方 程 的 求 解 简 单 迭 代 法 Jaobi 方 法 逐 次 迭 代 法 Gauss Seidal 迭 代 方 法 逐 次 超 松 弛 迭 代 法 (Suessive Over-Relaxation) 变 分 方 法 复 习 有 限 元 方 法 的 理 论 基 础 用 有 限 元 方 法 求 解 二 维 Laplae 方 程 第 五 章 Monte Carlo 方 法 随 机 变 量 及 其 分 布 赝 随 机 数 的 产 生 用 Monte Carlo 方 法 计 算 积 分 自 相 似 性 与 分 形 扩 散 限 制 粘 结 的 计 算 机 模 拟 高 分 子 的 模 拟 和 无 规 行 走 第 六 章 逾 渗 和 统 计 物 理 问 题 逾 渗 简 介 逾 渗 的 计 算 机 模 拟 和 分 析 正 则 系 综 和 统 计 模 型 Ising 模 型 Lenard-Jones 模 型 统 计 物 理 的 Monte Carlo 模 拟, Metroplis 方 法 Ising 模 型 的 Monte Carlo 模 拟 经 典 统 计 物 理 复 习 The miro anonial ensemble(nve) The anonial ensemble(nvt) The NPT ensemble(npt) The grand anonial ensemble( Thermodynamial relations Correlation funtions Time orrelation funtion and transport oeffiients 液 体 模 型 的 Monte Carlo 模 拟 Monte Carlo Simulation of The Lenard -Jones Model 自 由 能 计 算
4 4 目 录 王 -Landau 方 法 及 其 它 分 子 动 力 学 方 法 General proedure of MD (NVE ensemble) Simulation of Lennard-Jones liquids Simulation of Hard-sphere systems Simulation of Langevin dynamis Long range fore and Ewald summation 第 七 章 原 子 结 构 的 计 算 原 子 结 构 问 题 变 分 法 Viral 定 理 和 Hellmann-Feynman 定 理 轨 道 近 似 和 Hartree Fok 方 程 统 计 近 似 和 X α 方 程 径 向 方 程 的 求 解 方 法 计 算 程 序
5 第 零 章 绪 论 不 论 是 理 论 物 理, 还 是 实 验 物 理 都 离 不 开 数 值 计 算, 例 如, 量 子 力 学 中 简 谐 振 子 的 波 函 数 可 以 用 厄 米 多 项 式 来 表 示, 但 为 了 得 到 波 函 数 的 数 值, 仍 然 需 要 作 数 值 计 算 ; 实 验 上 测 量 到 的 数 据 要 进 行 数 据 处 理, 也 涉 及 到 数 据 拟 合, 分 析 并 计 算 误 差 等 一 系 列 数 值 计 算. 大 家 在 过 去 的 学 习 中 已 经 知 道, 牛 顿 力 学 方 程 只 有 二 体 问 题 是 可 解 的 ( 自 由 粒 子 或 小 振 动 等 特 殊 问 题 除 外 ), 三 体 以 上 的 问 题 曾 折 磨 了 全 世 界 的 许 多 优 秀 的 数 学 家 和 理 论 物 理 学 家, 但 最 终 也 未 得 到 解 析 解 ; 麦 克 斯 韦 方 程 组 只 有 在 一 些 非 常 特 殊 的 条 件 下 才 能 求 得 解 析 解 ; 量 子 力 学 的 薛 定 格 方 程, 除 了 氢 原 子 和 简 谐 振 子 外, 还 没 有 一 个 真 实 的 物 理 问 题 可 以 找 到 解 析 解 ; 统 计 物 理 告 诉 我 们, 只 要 求 得 了 系 统 的 配 分 函 数, 则 一 切 物 理 量 都 可 通 过 求 微 分 得 到, 然 而, 除 了 可 数 的 几 个 二 维 模 型 外, 没 有 一 个 实 际 的 物 理 系 统 的 配 分 函 数 被 求 出 来 过. 一 些 大 规 模 的 物 理 实 验, 耗 资 在 数 亿 美 元, 如 果 没 有 充 分 的 论 证 就 去 做 的 话, 其 浪 费 是 十 分 巨 大 的. 对 于 这 样 一 类 问 题, 大 规 模 的 数 值 计 算 往 往 可 以 发 挥 重 要 作 用. 大 规 模 数 值 计 算 也 提 供 了 理 论 物 理 和 实 验 物 理 之 间 的 桥 梁. 几 乎 所 有 的 实 际 物 理 问 题 都 无 法 得 到 精 确 解, 发 展 各 种 理 论 模 型 和 近 似 方 法 就 成 为 理 论 物 理 学 的 重 要 方 面. 理 论 模 型 的 正 确 性 最 终 需 要 经 受 实 践 的 检 验, 但 对 于 一 个 确 定 的 物 理 模 型, 其 对 应 的 实 验 体 系 往 往 很 难 获 得, 为 了 检 验 针 对 一 个 确 定 模 型 的 近 似 方 法, 最 好 能 够 得 到 这 个 模 型 的 精 确 解, 而 数 值 模 拟 方 法 正 好 能 够 提 供 这 样 的 结 果. 大 量 的 实 验 体 系 往 往 包 含 多 种 因 素, 这 些 因 素 有 些 可 以 排 除, 而 有 些 非 常 难 以 排 除. 如 果 一 个 理 论 的 出 发 点 包 含 了 所 有 的 实 验 因 素, 则 这 样 的 理 论 几 乎 肯 定 得 不 到 解 析 结 果. 但 是, 数 值 模 拟 方 法 一 般 总 能 够 把 各 种 因 素 包 含 进 去, 从 而 能 够 更 好 的 模 拟 实 验 环 境. 需 要 指 出 的 是, 长 期 以 来, 我 们 总 有 一 些 误 解, 一 讲 到 计 算, 似 乎 就 需 要 超 级 计 算 机. 事 实 上, 现 在 使 用 的 笔 记 本 计 算 机, 各 种 微 型 计 算 机 的 计 算 能 力 往 往 比 10 年 前 的 超 级 计 算 机 的 计 算 能 力 更 强. 用 一 台 目 前 似 乎 已 经 被 人 看 不 起 的 IBM-PC/XT 微 机 (IBM-PC 是 基 于 intel 芯 片 的 第 一 代 个 人 计 算 机, 大 约 1980 年 推 出, 其 CPU 是 intel-8086 芯 片, 有 64k 内 存, 两 个 5 吋 软 驱, 机 器 带 有 MS-DOS 1.0 和 CP/M 两 个 操 作 系 统,IBM-PC/XT 是 IBM-PC 的 扩 展, 增 加 了 一 个 10M 的 硬 盘, 并 且 把 内 存 增 加 到 256K), 就 可 以 很 容 易 地 解 决 三 体 问 题, 四 体 问 题,. 所 有 元 素 周 期 表 上 的 原 子 的 能 级 和 波 函 数 也 可 以 相 当 精 确
6 6 第 零 章 绪 论 地 计 算 出 来. 如 果 你 拥 有 一 台 目 前 市 场 上 一 般 配 置 的 微 机, 你 就 可 以 模 拟 一 些 二 维 和 三 维 模 型 系 统 的 配 分 函 数, 如 Lenard-Jones 流 体, 三 维 Ising 模 型 等, 可 以 计 算 元 素 固 体 和 简 单 化 合 物 晶 体 的 电 子 结 构, 声 子 谱 等. 进 一 步, 你 如 果 拥 有 或 能 够 使 用 到 大 型 计 算 机, 或 利 用 微 机 构 成 计 算 集 群, 你 就 可 以 作 真 实 流 体 的 流 体 力 学 计 算, 可 以 计 算 复 杂 边 界 条 件 下 的 三 维 电 磁 场, 可 以 计 算 三 维 真 实 系 统 的 配 分 函 数,. 同 样 你 也 能 够 在 大 型 物 理 实 验 开 始 前 作 很 多 模 拟, 对 实 验 的 各 种 情 况 有 一 个 清 楚 的 概 念. 本 课 程 的 目 的 在 于 对 物 理 中 的 数 值 计 算 进 行 一 些 入 门 介 绍, 使 大 家 在 学 完 本 课 程 后, 在 组 织 一 些 较 大 规 模 的 计 算 时 心 中 有 数, 少 走 弯 路. 课 程 分 两 部 分, 一 部 分 是 基 本 算 法, 主 要 介 绍 计 算 机 数 的 特 点, 舍 入 误 差, 计 算 稳 定 性 等 基 本 概 念 和 一 些 常 用 的 数 值 计 算 方 法 ; 第 二 部 分 则 结 合 物 理 问 题, 讲 一, 二 个 专 题, 使 大 家 学 到 一 些 组 织 较 大 规 模 计 算 的 步 骤 和 技 巧. 学 习 本 课 程 要 求 学 过 四 大 力 学 ( 经 典 力 学, 电 动 力 学, 热 力 学 和 统 计 物 理 学 及 量 子 力 学 ) 和 数 学 物 理 方 法, 掌 握 至 少 一 门 计 算 机 高 级 语 言 ( 如 C, PASCAL, FORTRAN, Java 等 ). 计 算 是 一 门 实 践 性 很 强 的 课 程, 上 机 实 习 是 本 课 程 的 一 个 有 机 组 成 部 分. 关 于 本 讲 义 的 一 点 说 明 : 这 是 笔 者 在 1993 年 为 开 设 计 算 物 理 课 程 准 备 的 讲 义 年, 上 海 交 通 大 学 应 用 物 理 系 代 理 系 主 任 张 仲 渊 教 授 找 到 我, 告 诉 我 决 定 在 本 科 生 高 年 级 开 设 计 算 物 理 课 程, 并 安 排 由 笔 者 开 课. 在 接 到 这 一 任 务 后, 笔 者 翻 阅 了 当 时 国 内 出 版 的 几 本 计 算 物 理 教 材, 发 现 都 过 于 专 门, 不 适 于 做 为 本 科 高 年 级 的 教 材, 而 更 适 合 于 某 一 专 业 的 研 究 生 教 材. 为 此, 我 只 好 试 图 自 己 写 一 本 讲 义, 以 应 急 需. 基 本 算 法 部 分 主 要 参 考 了 W. H. Press, S. A. Teukolsky, W. T. Vetterling and B. P. Flannery 所 著 Numerial Reipes, The Art of Sientifi Computing 一 书, 当 时, 这 本 书 出 版 时 间 还 不 算 太 长, 但 已 经 成 为 大 多 数 经 常 从 事 数 值 计 算 的 物 理 学 工 作 者 的 手 头 必 备 书, 我 自 己 当 时 也 买 了 一 本, 书 价 是 我 的 两 个 月 的 工 资 这 本 书 一 方 面 讲 解 算 法, 另 一 方 面 对 每 一 个 算 法 给 出 了 透 明, 简 洁 的 源 程 序 尽 管 这 些 程 序 的 效 率, 安 全 性 方 面 比 一 些 成 熟 的 软 件 包 要 差, 但 由 于 其 简 洁 清 楚, 特 别 适 合 于 修 改 后 放 到 自 己 的 程 序 中 去 讲 义 的 内 容 曾 在 上 海 交 通 大 学 应 用 物 理 系 讲 授 多 次, 各 个 年 级 的 同 学 积 极 参 与 了 本 课 程 的 学 习 并 对 课 程 的 讲 法 提 出 了 很 多 非 常 宝 贵 的 意 见 和 建 议, 这 些 建 议 在 讲 义 的 成 文 中 对 笔 者 有 很 大 帮 助, 在 此 表 示 感 谢 年 后, 物 理 系 决 定 把 计 算 物 理 课 程 改 为 双 语 课 程, 这 本 讲 义 就 算 完 成 了 其 历 史 使 命. 在 教 学 过 程 中, 我 也 发 现 这 一 讲 义 对 一 些 问 题 的 讲 解 过 于 简 洁, 而 内 容 的 深 度 也 不 太 适 合 本 科 生 的 学 习. 这 一 段 时 间, 国 际 上 出 现 了 几 本 比 较 合 适 的 教 材, 所 以,
7 7 当 时 认 为 这 一 讲 义 不 需 要 继 续 修 订, 也 就 放 在 一 边 了. 随 后, 研 究 生 的 课 程 做 了 一 些 改 革, 增 加 了 36 学 时 的 数 值 计 算, 任 课 老 师 感 觉 这 个 讲 义 的 内 容 作 为 研 究 生 数 值 计 算 的 课 程 比 较 合 适, 遂 采 用 这 本 讲 义 的 电 子 版 教 学 年 10 月, 致 远 学 院 的 叶 曦 副 院 长 和 负 责 物 理 班 教 学 的 郑 杭 教 授 找 我, 希 望 我 为 致 远 学 院 的 同 学 开 设 一 门 物 理 中 数 值 计 算 的 课 程 注 意 到 致 远 学 院 已 经 有 至 少 两 门 相 关 课 程, 这 门 课 程 应 该 更 多 强 调 物 理 方 面 为 了 这 个 课 程, 利 用 寒 假, 我 修 订 了 讲 义, 主 要 是 对 原 来 的 一 些 表 述 做 了 修 改 和 补 充, 同 时 尽 可 能 强 调 物 理 方 面 的 内 容. 鉴 于 目 前 已 经 存 在 大 量 优 秀 的 数 学 软 件, 如 Matlab, Maple 等. 大 量 的 小 规 模 的 计 算 往 往 可 以 通 过 这 些 软 件 方 便 进 行, 因 此, 此 次 修 订 时 时 也 适 当 提 到 这 方 面 的 内 容 讲 义 中 提 到 的 一 些 程 序 将 放 在 课 程 主 页 上, 这 些 程 序 中, 有 些 来 自 前 面 提 到 的 Numerial Reipes, 有 些 是 我 曾 经 多 次 使 用 过 的, 也 有 些 是 专 为 此 讲 义 而 准 备 的, 由 于 时 间 关 系, 没 有 经 过 仔 细 调 试 和 考 验, 因 此 在 用 于 实 际 问 题 时, 一 定 要 经 过 仔 细 试 算, 以 免 造 成 不 必 要 的 损 失, 同 时, 我 也 愿 在 此 声 明, 笔 者 对 因 使 用 此 讲 义 中 的 程 序 而 导 致 的 任 何 直 接 的 和 间 接 的 损 失 将 不 负 担 任 何 责 任. 所 有 程 序 都 以 FORTRAN 77 写 出, 鉴 于 C 语 言 在 实 际 工 作 中 使 用 的 越 来 越 广 泛, 同 时 也 是 很 多 同 学 喜 欢 的 语 言, 部 分 程 序 已 经 翻 译 为 C 语 言. 由 于 程 序 是 用 FORTRAN 写 的, 翻 译 中 自 然 留 有 FORTRAN 的 痕 迹. 在 上 次 讲 义 完 成 到 这 次 修 订 之 间, 面 向 对 象 的 程 序 设 计 逐 步 走 向 主 流, 其 代 表 性 语 言 是 ++ 和 Java, 建 议 有 志 于 从 事 计 算 物 理 的 同 学 注 意 这 一 点.
8 8 第 零 章 绪 论
9 第 一 章 计 算 机 数 和 误 差 在 这 一 章 中, 我 们 将 给 出 电 子 数 字 计 算 机 中 数 的 表 示, 计 算 规 则, 舍 入 误 差 及 算 法 稳 定 性 等 概 念, 在 处 理 上, 并 不 追 求 数 学 上 的 严 密, 而 是 用 一 些 启 发 式 的 推 导 和 例 子 来 说 明 主 要 概 念, 需 要 进 一 步 钻 研 的 同 学, 可 以 参 看 有 关 计 算 数 学 的 书 籍. 1.1 计 算 机 数 及 其 表 示 我 们 在 初 中 的 数 学 上 就 已 经 知 道, 数 有 整 数, 实 数 和 复 数, 整 数 可 以 取 0, ±1, ±2,..., ±n,..., ±, 实 数 则 是 整 个 数 轴 上 的 连 续 统. 数 学 分 析 就 是 建 立 在 实 数 系 上 的. 实 数 的 运 算 满 足 加 法 和 乘 法 的 交 换 律, 接 合 律 等 一 般 的 运 算 律. 而 计 算 机 所 能 表 达 的 数 的 全 体, 则 是 一 个 离 散 的, 有 限 的 集 合. 通 常 计 算 机 整 数 的 取 值 范 围 为 N 到 N 1, N 的 数 值 随 计 算 机 不 同 而 异, 如 IBM-PC 机 的 N = 实 数 也 有 一 个 取 值 范 围, 在 IBM-PC 上, 实 数 的 绝 对 值 最 大 约 为 10 38, 最 小 约 为 10 38, 大 于 最 大 值 的 数 将 造 成 上 溢, 小 于 最 小 值 的 数 将 造 成 下 溢.( 在 很 多 计 算 机 系 统 中, 下 溢 作 为 0 来 处 理 ). 计 算 机 实 数 在 其 范 围 内 的 分 布 是 非 常 不 均 匀 的, 在 靠 近 0 的 地 方 较 密, 离 开 0 越 远 越 稀 疏. 计 算 机 实 数 一 般 不 满 足 实 数 的 运 算 律. 计 算 机 中 的 实 数 通 常 用 规 格 化 的 二 进 制 浮 点 数 来 表 示, 例 如 , 和 分 别 表 示 为 , 和 由 于 计 算 机 只 有 有 限 的 字 长, 所 以 只 能 表 示 有 限 个 实 数, 例 如, 对 于 一 个 字 长 为 五 的 计 算 机, 将 无 法 区 分 , 既 然 计 算 机 的 实 数 是 一 个 有 限 的 集 合, 那 么 初 始 数 据 和 中 间 结 果 都 有 可 能 不 在 这 个 集 合 中, 于 是 必 须 用 计 算 机 实 数 去 近 似 表 示 相 应 的 实 数, 从 而 引 进 舍 入 误 差. 如 果 按 照 四 舍 五 入 的 原 则 去 近 似 表 示, 则 由 计 算 机 表 示 一 个 实 数 时 引 进 的 舍 入 误 差 不 大 于 最 后 一 位 数 的 一 半, 但 很 多 计 算 机 采 用 了 只 舍 不 入 的 方 法, 则 由 计 算 机 数 表 示 一 个 实 数 时 引 进 的 舍 入 误 差 最 大 可 为 最 后 一 个 二 进 制 位.
10 10 第 一 章 计 算 机 数 和 误 差 1.2 舍 入 误 差 对 计 算 的 影 响 在 数 值 计 算 过 程 中, 一 般 每 一 步 都 有 舍 入 误 差, 舍 入 误 差 的 积 累 有 可 能 使 整 个 计 算 失 败. 例 如, 考 虑 下 述 问 题, 计 算 积 分 利 用 分 部 积 分 法 得 到 或 1 E n = 1 0 x n e x 1 dx, n = 1, 2,..., 20. x n e x 1 dx = x n e x n x n 1 e x 1 dx, E n = 1 n E n 1 容 易 算 出 E 1 = 1/e. 利 用 上 述 递 推 公 式, 在 IBM-PC 微 机 上 用 双 精 度 计 算 结 果 如 下 : E 1 = E 2 = E 3 = E 4 = E 5 = E 6 = E 7 = E 8 = E 9 = E 10 = E 11 = E 12 = E 13 = E 14 = E 15 = E 16 = E 17 = E 18 = E 19 = E 20 = 被 积 函 数 在 积 分 区 间 [0, 1] 的 内 部 总 是 正 的, 因 此 积 分 值 不 可 能 为 负, 更 进 一 步, 由 于 E n = 1 0 x n e x 1 dx 1 0 x n dx = 1 n + 1 所 以, 必 有 E 20 1/21. 显 然, 上 述 计 算 结 果 是 不 正 确 的, 而 问 题 就 出 在 舍 入 误 差 上 面. 我 们 对 此 作 一 个 简 单 的 分 析. 双 精 度 数 可 表 示 14 位 10 进 制 数, 所 以 E 1 的 误 差 约 为 ϵ = ( 也 可 能 大 于 此 数, 这 里 仅 作 一 数 量 级 的 估 计 ). 在 递 推 过 程 中, 这 个 误 差 将 被 传 播, 放 大, 最 后 导 致 计 算 结 果 的 错 误. 误 差 的 传 播 规 律 为 E 2 = 1 2(E 1 + ϵ) = 1 2E 1 2ϵ E 3 = 1 3(1 2E 1 2ϵ) = 1 3(1 2E 1 ) + 3!ϵ
11 1.2 舍 入 误 差 对 计 算 的 影 响 11 计 算 到 E 15 时 的 误 差 为 15!ϵ 10 3, 而 计 算 到 E 18 时 的 误 差 已 为 18!ϵ 6.0, 已 经 远 大 于 E 18 的 上 限 1/19. 现 在 我 们 考 虑 把 递 推 关 系 改 写 成 E n 1 = 1 E n, n =, 4, 3, 2. n 利 用 关 系 E n 1 n + 1 取 E 30 = 0.0 开 始 计 算, 此 时 误 差 为 ϵ 1/ , 作 一 次 递 推 后 得 到 E 29, 其 误 差 减 小 到 在 计 算 E 20 时, 误 差 已 减 小 到 20! 31! 准 确 到 14 位 有 效 数 字, 初 始 误 差 的 影 响 已 完 全 消 除 了. 而 每 一 步 的 舍 入 误 差, 都 在 其 后 的 迭 代 中 减 小 和 消 除 下 表 是 计 算 结 果. E 30 = 0.0 E 29 = E 28 = E 27 = E 26 = E 25 = E 24 = E 23 = E 22 = E 21 = E 20 = E 19 = E 18 = E 17 = E 16 = E 15 = E 14 = E 13 = E 12 = E 11 = E 10 = E 9 = E 8 = E 7 = E 6 = E 5 = E 4 = E 3 = E 2 = E 1 = 由 上 例 可 以 看 出 舍 入 误 差 对 计 算 的 影 响, 如 果 我 们 在 计 算 中 不 去 分 析 算 法, 即 使 编 出 了 正 确 的 程 序, 也 可 能 得 出 错 误 的, 有 时 甚 至 是 荒 谬 的 结 果.
12 12 第 一 章 计 算 机 数 和 误 差 1.3 减 法 的 计 算 也 许, 大 家 认 为 减 法 是 一 种 非 常 简 单 的 计 算, 但 是 在 用 计 算 机 做 减 法 时, 如 不 小 心, 就 很 容 易 出 错, 问 题 就 出 在 舍 入 误 差 上 面. 我 们 考 虑 下 面 的 例 子 : 对 于 大 的 x, 计 算 x + 1 x (1.1) 取 x = , 在 一 个 具 有 6 位 十 进 制 有 效 数 字 的 计 算 机 上, 计 算 结 果 为 0.001, 而 准 确 到 6 位 十 进 制 有 效 数 字 的 精 确 结 果 为 , 计 算 中 损 失 了 5 位 有 效 数 字. 对 于 更 大 的 x, 则 可 能 根 本 得 不 到 正 确 的 结 果. 但 是, 如 果 把 计 算 公 式 改 为 ( x + 1 x x 1 x) = (1.2) x x x x 就 可 以 得 到 较 好 的 结 果. 又 如 对 于 大 的 N, 计 算 N+1 N dx = artan(n + 1) artan(n) 1 + x2 时, 可 以 使 用 等 价 的 公 式 : ( ) 1 artan(n + 1) artan(n) = artan 1 + N(N + 1) 同 理, 对 于 小 的 ϵ ( sin (x + ϵ) sin(x) = 2 os x + ϵ ) ( ϵ sin 2 2) 上 面 分 析 的 是 一 些 简 单 的 例 子, 在 实 际 问 题 的 计 算 中, 常 常 会 碰 到 一 些 十 分 复 杂 的 问 题, 即 使 有 经 验 的 计 算 研 究 人 员 也 经 常 在 减 法 计 算 中 犯 错 误. 练 习 : 分 析 下 面 的 表 达 式, 给 出 对 任 何 x( 只 要 在 所 给 函 数 定 义 域 内 ) 都 能 得 出 正 确 结 果 的 计 算 公 式. os 2 x sin 2 x 1 + x2 1 x 2 ln(x) 1 e 2x e x 1 v2 1 x2 sin(x) x tg(x)
13 第 二 章 物 理 学 中 的 常 用 数 值 方 法 在 这 一 章 和 随 后 的 几 章 中, 我 们 将 介 绍 几 种 常 用 算 法, 这 些 内 容 应 该 在 数 学 课 中 讨 论, 但 目 前 的 数 学 课 程 并 不 包 含 这 些 属 于 计 算 数 学 课 程 的 内 容, 所 以 我 们 先 作 一 些 介 绍. 2.1 数 值 积 分 方 法 积 分 分 为 定 积 分 和 不 定 积 分 两 种, 我 们 在 这 里 只 讨 论 定 积 分, 不 定 积 分 的 计 算 可 作 为 变 上 限 的 定 积 分 来 计 算. 考 虑 定 积 分 I = 它 代 表 f(x) 曲 线 下 的 面 积. b a f(x)dx (2.1) 梯 形 法 和 辛 普 生 方 法 在 微 积 分 中, 我 们 知 道 积 分 是 由 求 和 的 极 限 定 义 的, 这 就 是 第 一 种 计 算 积 分 的 方 法 梯 形 法. 把 区 间 [a, b] 分 成 一 些 子 区 间 [a = x 0 < x 1 < x 2 < < x n = b], 则 (2.1) 的 积 分 I 可 近 似 为 : I = 1 n 1 (x i+1 x i )(f(x i ) + f(x i+1 )) (2.2) 2 i=0 在 实 际 计 算 中, 常 采 用 等 间 距 分 法, 即 x i+1 x i = h = b a n 为 一 常 数, 上 面 公 式 可 简 化 为 : I = h n 1 (f(x i ) + f(x i+1 )) 2 i=0 为 了 节 省 工 作 量, 实 际 使 用 的 计 算 公 式 为 : n 1 I = h f(x i ) + h 2 (f(x 0) + f(x n )) (2.3) i=1 当 子 区 间 越 来 越 小, h 0 时, 求 和 的 结 果 将 趋 于 积 分 值 由 于 我 们 事 先 并 不 知 道 积 分 的 结 果, 所 以 我 们 也 就 不 知 道 求 和 结 果 和 积 分 结 果 之 间 的 差 别 为 此, 我 们 需 要 估 计 计
14 14 第 二 章 物 理 学 中 的 常 用 数 值 方 法 算 误 差, 一 个 直 观 的 估 计 是 比 较 不 同 大 小 的 子 区 间 的 结 果 之 差 为 了 在 每 次 子 区 间 变 小 时 能 够 用 到 前 次 的 计 算 结 果, 我 们 可 以 从 n = 1 开 始 计 算, 每 次 把 区 间 数 增 加 一 倍, 则 前 一 次 计 算 的 函 数 结 果 仍 然 有 用, 通 过 比 较 连 续 两 次 的 计 算 结 果 之 差 是 否 小 于 给 定 的 误 差 限 来 结 束 计 算. 梯 形 方 法 实 际 上 把 每 一 个 子 区 间 上 的 函 数 近 似 为 线 性 函 数 αx + β, 然 后 计 算 其 积 分 值, 再 把 结 果 加 起 来.( 作 为 一 个 练 习, 请 自 行 证 明 ), 因 此, 我 们 说 梯 形 方 法 是 具 有 线 性 代 数 精 度 的 方 法. 下 面 考 虑 具 有 二 次 代 数 精 度 的 方 法, 辛 普 生 方 法. 先 考 虑 把 积 分 区 间 [a, b] 分 为 二 个 子 区 间, 分 点 为 (a, a + h, a + 2h = b), h = b a 2, 在 区 间 上 把 被 积 函 数 用 二 次 函 数 来 近 似, 即 取 f(x) α(x a) 2 + β(x a) + γ, 其 中 α, β, γ 可 利 用 分 点 上 的 函 数 值 f(a), f(a + h), f(b) 表 示 为 : 简 单 地 计 算 得 到 : b a α = β = f(b) 2f(a + h) + f(a) 2h 2 f(b) + 4f(a + h) 3f(a) 2h γ = f(a) (α(x a) 2 + β(x a) + γ) dx = h (f(b) + 4f(a + h) + f(a)) (2.4) 3 这 就 是 著 名 的 辛 普 生 求 积 公 式. 显 然, 它 具 有 二 次 代 数 精 度. 实 际 计 算 中, 把 被 积 区 间 [a, b] 先 分 为 N 个 子 区 间, 然 后 在 每 个 子 区 间 中 用 辛 普 生 求 积 公 式 计 算, 并 把 最 后 结 果 加 起 来. 其 计 算 公 式 为 : b a f(x)dx h (f(a) + 4f(a + h) + 2f(a + 2h) + 4f(a + 3h) + + f(b)) (2.5) 3 这 是 一 个 在 实 际 计 算 中 常 用 的 方 法, 它 对 于 一 般 的 有 限 区 间 的 积 分 都 能 给 出 较 好 的 正 确 结 果. 辛 普 生 方 法 有 各 种 不 同 的 实 现, 我 们 在 这 里 给 出 简 单 的 一 种, 取 每 个 子 区 间 均 相 等, 从 二 个 子 区 间 开 始, 每 次 子 区 间 数 目 加 倍, 这 样 可 以 在 每 次 计 算 时 使 用 前 次 的 计 算 值. 这 种 实 现 的 缺 点 是 在 整 个 积 分 区 间 均 匀 取 点, 对 于 在 部 分 区 间 变 化 剧 烈 而 在 其 余 地 方 变 化 平 缓 的 被 积 函 数 计 算 效 率 不 高. 这 一 实 现 可 以 充 分 利 用 它 与 梯 形 法 的 关 系. 假 定 n = 2 k, 用 S k 表 示 用 2 k 个 子 区 间 梯 形 公 式 求 得 的 结 果. 则 式 (2.5) 可 写 为 : b a f(x)dx 1 3 [4h(f(a + h) + f(a + 2h) + + f(b h) f(a) f(b)) 2h(f(a + 2h) + f(a + 4h) + + f(b 2h) f(a) f(b)) + h(f(a) + f(b)) 2h(f(a) + f(b)) + h(f(a) + f(b))] = 1 3 (4S k S k 1 ) (2.6)
15 2.1 数 值 积 分 方 法 15 计 算 定 积 分 还 有 很 多 方 法, 如 龙 贝 格 方 法, Newton-Cotes 方 法 等, 我 们 将 不 在 此 讨 论, 有 兴 趣 的 同 学 可 参 看 有 关 计 算 数 学 的 书 籍. Quadpak(netlib.org) 中 包 含 了 若 干 非 常 稳 定 的 求 积 分 的 程 序, 建 议 在 实 际 工 作 中 使 用 在 Matlab 中, 梯 形 法, 辛 普 森 均 作 为 标 准 函 数 提 供, 实 际 应 用 时, 只 要 写 一 个 被 积 函 数 的 m 程 序, 调 用 积 分 程 序 即 可 常 用 的 几 个 求 积 分 的 函 数 是 quad, quadl, quadgk 等 其 中 quad 使 用 自 适 应 的 辛 普 森 算 法,quadl 应 用 龙 贝 格 加 速 来 改 善 计 算 效 率 和 提 高 精 度 例 如, 计 算 积 分 1 先 定 义 函 数 fun 并 存 入 fun.m funtion y=fun(x) end y=sin(x.^2)./(1.+x.^4); 然 后 在 Matlab 的 命 令 窗 口 运 行 0 sin(x 2 ) 1 + x 4 dx >> format long >> quad(@fun,0,1) 结 果 为 : ans = 反 常 积 分 的 计 算 反 常 积 分 分 为 两 类, 一 类 是 积 分 区 间 有 限, 在 积 分 区 间 内 被 积 函 数 有 奇 点, 另 一 类 是 积 分 区 间 为 无 限. 对 于 二 者 兼 而 有 之 的 积 分, 可 以 分 为 两 个 或 多 个 积 分 来 处 理, 使 每 个 积 分 为 上 述 两 类 之 一. 积 分 区 间 内 含 有 奇 点 的 积 分 对 于 积 分 区 间 内 含 有 奇 点 的 积 分, 根 据 奇 点 的 性 质, 可 采 用 下 面 的 方 法 处 理. 可 去 奇 点, 设 x 0 为 一 可 去 奇 点, 且 知 道 在 x 0 点 被 积 函 数 的 极 限, 则 只 要 在 计 算 函 数 时, 在 x 0 的 一 个 邻 域 内 用 极 限 取 代 函 数 值 即 可. 例 如, sin(x) 在 x = 0 有 可 去 奇 点, 但 当 x x 0 时, sin(x) x 1 x2 6 +, 在 计 算 函 数 时, 可 使 用 下 面 的 语 句 :
16 16 第 二 章 物 理 学 中 的 常 用 数 值 方 法 IF(ABS(X).LT.1.0E-4) THEN F=1.0-X*X/6.0 ELSE F=SIN(X)/X ENDIF 极 限 方 法, 有 时 我 们 并 不 知 道 奇 点 处 函 数 的 极 限 表 达 式, 有 时 甚 至 不 知 道 奇 点 是 否 可 去, 此 时 可 用 极 限 方 法 来 逼 近. 例 如, 若 已 知 x 0 为 奇 点, 对 于 积 分 b x 0 f(x)dx = lim r x 0 b r f(x)dx 定 义 一 个 收 敛 于 x 0 的 序 列 b > r 1 > r 2 >, 例 如 可 取 r n = x n, 则 上 述 积 分 可 写 为 一 个 求 和 : b b r1 f(x)dx = f(x)dx + f(x)dx + f(x)dx + f(x)dx x 0 r 1 r 2 r 3 r 4 等 式 中 每 一 项 都 是 正 常 积 分, 当 r n r n+1 f(x)dx ϵ 时, 终 止 计 算. 如 果 上 式 不 收 敛, 则 很 可 能 原 积 分 不 存 在. 消 除 奇 点, 有 些 奇 点 可 以 通 过 变 量 替 换 或 对 被 积 函 数 进 行 变 换 而 消 去. 我 们 看 几 个 r2 r3 例 子 : 1 作 变 量 替 换 x = t 2, dx = 2t dt, 则 有 : 或 把 积 分 写 为 : 1 0 os(x) x dx = 1 1 第 二 项 积 分 中 的 奇 点 已 成 为 可 去 奇 点 os(x) x dx os(x) x dx = os(t 2 )dt 1 1 os(x) 1 1 dx + dx = 2 + x 0 x 0 I(x) = x 0 e t 1 t 在 t = 1 的 邻 域, 被 积 函 数 与 e 1 /(1 t) 很 相 像, 因 此 变 为 : I(x) = x 0 e 1 x 1 t dt + 0 所 有 的 奇 异 性 都 在 第 一 项, 而 这 一 项 可 解 析 处 理. os(x) 1 dx x e t e 1 dt = 1 x 1 t e ln 1 x + e t e 1 dt 1 t 除 上 面 例 子 演 示 的 方 法 外, 还 可 用 分 部 积 分 法 消 除 奇 点, 这 里 不 再 一 一 举 例 了. 0
17 2.1 数 值 积 分 方 法 17 积 分 区 间 为 无 限 的 积 分 下 面 我 们 讨 论 积 分 区 间 为 无 限 的 情 形. 为 具 体 起 见, 只 讨 论 形 为 0 f(x)dx 的 积 分, 其 它 形 式 的 无 穷 区 间 的 积 分 均 可 化 为 上 面 的 形 式. 变 量 替 换 法 : 通 过 变 量 替 换, 可 把 无 穷 区 间 的 积 分 化 为 有 限 区 间 上 的 积 分, 如 令 x = ln(t), dx = dt t, 则 有 : 0 f(x)dx = 1 0 f( ln(t) 1 dt = t 0 g(t) dt (2.7) t g(t) 这 里 g(t) = f( ln(t)), 若 在 t = 0 的 邻 域 内 有 界, 则 上 式 的 积 分 成 为 一 个 正 常 积 分, t 否 则 就 是 前 面 讨 论 过 的 有 限 区 间 上 的 反 常 积 分, 可 以 用 前 面 的 方 法 来 处 理. 上 述 变 换 对 于 当 x 时, f(x) 以 e kx 的 形 式 衰 减 的 函 数, 计 算 结 果 十 分 令 人 满 意. 其 它 常 用 的 变 换 还 有 x = 以 及 t = tanh x 等. t, dx = 1 dt 1 t (1 t) 2 极 限 法 : 由 定 义 0 f(x)dx = f ( ) t 1 dt (2.8) 1 t (1 t) 2 r f(x)dx = lim f(x)dx r 0 定 义 一 个 趋 于 的 序 列 0 < r 1 < r 2 <, 例 如 可 取 r n = 2 n, 则 上 述 积 分 可 写 为 一 个 求 和 : 0 f(x)dx = r1 0 f(x)dx + r2 r 1 f(x)dx + r3 r 2 f(x)dx + (2.9) 式 中 每 一 项 都 是 正 常 积 分, 当 r n+1 f(x)dx ϵ 时, 终 止 计 算. 如 果 上 式 不 收 敛, 则 很 可 能 原 积 分 不 存 在. 如 果 能 找 到 尾 项 r n R 需 进 行 到 某 一 足 够 大 的 r n 处, 再 加 上 尾 项. f(x)dx 的 一 个 较 好 的 渐 近 表 达 式, 则 上 述 积 分 只 还 有 一 些 其 它 的 有 效 方 法, 这 里 不 再 一 一 列 举, 我 们 下 面 就 要 讲 到 的 高 斯 积 分 方 法 提 供 了 另 一 种 处 理 反 常 积 分 的 工 具 高 斯 积 分 方 法 前 面 的 积 分 公 式 ( 梯 形 公 式 及 辛 普 生 公 式 ) 的 代 数 精 度 都 较 低, 一 个 自 然 的 问 题 是, 能 否 构 造 出 高 代 数 精 度 的 公 式, 回 答 是 肯 定 的, 这 就 是 高 斯 积 分 方 法. 我 们 将 不 讨 论 高 斯 积 分 方 法 的 理 论 基 础, 而 只 是 给 出 有 关 的 计 算 公 式, 对 理 论 基 础 有 兴 趣 的 同 学 可 以 参 看 有 关 的 计 算 数 学 的 书 籍.
18 18 第 二 章 物 理 学 中 的 常 用 数 值 方 法 有 限 区 间 的 高 斯 型 积 分 公 式 : 高 斯 勒 让 德 积 分 公 式 : 1 1 f(x)dx = n w i f(x i ) (2.10) 此 处, x i 为 n 阶 勒 让 德 多 项 式 的 根, 通 常 称 为 积 分 节 点, w i 称 为 积 分 权 重. 等 权 重 切 贝 雪 夫 积 分 公 式 : 这 里 x i 为 积 分 节 点, 权 重 为 2/n. 1 第 一 类 高 斯 切 贝 雪 夫 积 分 公 式 : f(x)dx = 2 n f(x) 1 x 2 dx = π n n f i=1 i=1 n f(x i ) (2.11) i=1 ( os ( )) (2i + 1)π 2n (2.12) 第 二 类 高 斯 切 贝 雪 夫 积 分 公 式 : 1 1 f(x) 1 x 2 dx = π n + 1 n ( ) ( ( )) iπ iπ sin 2 f os n + 1 n + 1 i=1 如 果 积 分 区 间 不 是 [ 1, 1], 而 是 [a, b], 可 利 用 变 换 ( ) ( ) b a b + a x = t (2.13) (2.14) 将 积 分 区 间 变 为 [ 1, 1], 然 后 利 用 上 述 公 式 进 行 计 算. 在 实 际 计 算 时, 常 把 积 分 区 间 分 为 几 个 小 区 间, 在 每 一 个 小 区 间 内 使 用 高 斯 积 分 公 式, 并 把 结 果 加 起 来. 练 习 : 试 编 写 上 述 四 种 高 斯 积 分 公 式 的 程 序, 并 利 用 所 编 写 的 程 序 计 算 积 分 1 1 x + 1.5dx, x dx, 1 0 dx x 2 0 e os2 (x) dx, ( 积 分 所 需 的 节 点 及 权 重 在 后 面 的 表 中 给 出 ). 1 0 sin(x) x dx 无 限 区 间 的 高 斯 型 积 分 公 式 : 高 斯 拉 盖 尔 积 分 公 式 : 0 e x f(x)dx = n w i f(x i ) (2.15) i=1
19 2.1 数 值 积 分 方 法 19 高 斯 厄 米 积 分 公 式 : e x2 f(x)dx = n w i f(x i ) (2.16) i=1 这 里 x i 分 别 为 n 阶 拉 盖 尔 多 项 式 和 厄 米 多 项 式 的 根. 其 数 值 和 对 应 的 权 重 的 数 值 在 附 录 的 表 中 给 出. 练 习 : 试 编 写 上 述 二 种 高 斯 积 分 公 式 的 程 序, 并 利 用 所 编 程 序 计 算 积 分 0 e x 1 + x 4 dx, 0 e x2 os(x)dx 各 阶 高 斯 积 分 公 式 的 取 点 并 不 重 和, 当 增 加 分 点 时, 所 有 的 函 数 值 都 要 重 算 1965 年 Kronrod 提 出 了 结 合 高 斯 方 法 和 加 速 收 敛 技 巧 的 算 法 这 一 算 法 也 可 以 处 理 有 一 定 奇 异 性 的 被 积 函 数, 但 需 要 把 奇 点 放 在 积 分 限 上 在 Matlab 中 已 实 现 这 一 算 法, 其 调 用 命 令 是 quadgk. 例 如, 计 算 积 分 定 义 函 数 funsin, 并 存 入 funsin.m 0 sin x x e x dx funtion y=funsin(x) end y=sin(x).*exp(-x)./x; 在 Matlab 命 令 窗 口 键 入 如 下 命 令 format long quadgk(@funsin,0,inf) ans = 这 一 积 分 的 精 确 结 果 是 π 4 =
20 20 第 二 章 物 理 学 中 的 常 用 数 值 方 法 哥 西 主 值 的 计 算 在 物 理 计 算 中, 哥 西 主 值 的 计 算 占 了 很 重 要 的 位 置, 如 物 质 的 介 电 函 数 的 实 部 和 虚 部 之 间 满 足 著 名 的 Kramers-Kronig 关 系 : ϵ(ω) = ϵ 1 (ω) + iϵ 2 (ω) ϵ 1 (ω) = π P sϵ 2 (s) s 2 ω ds 2 ϵ 2 (ω) = 2ω π P 0 0 ϵ 1 (s) ds (2.17) s 2 ω2 这 个 关 系 是 一 个 严 格 的 关 系, 它 来 源 于 因 果 关 系, 是 非 常 普 遍 的. 在 物 理 上, ϵ 2 (ω) 的 测 量 和 计 算 都 比 较 容 易, 因 此, 一 般 不 直 接 测 量 或 计 算 ϵ 1 (ω), 而 是 利 用 上 述 关 系 由 ϵ 2 (ω) 的 数 据 进 行 计 算. 上 述 Kramers-Kronig 关 系 中 出 现 的 P 就 代 表 哥 西 主 值 积 分, 设 a < < b, f(x) 在 x = 的 邻 域 内 无 界, 则 哥 西 主 值 积 分 定 义 为 : P b a f(x)dx = lim r 0 [ r a f(x)dx + a 不 失 一 般 性, 我 们 取 = 0 并 将 积 分 取 成 f(x)dx 的 形 式. 令 a b +r ] f(x)dx (2.18) g(x) = 1 [f(x) f( x)], 2 h(x) = 1 [f(x) + f( x)] 2 则 f(x) = g(x) + h(x) 由 于 g(x) 是 奇 函 数 而 h(x) 是 偶 函 数, 于 是 : 因 此, P b a = = 2 r a r a a r f(x)dx = 2 lim f(x)dx + g(x)dx + h(x)dx r 0 a r a r a r f(x)dx g(x)dx + h(x)dx = 2 a 0 r a h(x)dx = h(x)dx + a 0 a r h(x)dx [f(x) + f( x)]dx 这 样 我 们 就 把 哥 西 主 值 积 分 的 计 算 变 为 在 x = 0 处 有 奇 点 的 一 个 反 常 积 分 的 计 算. h(x) 也 可 能 在 x = 0 处 无 奇 点, 此 时 只 要 计 算 一 个 常 规 积 分. 例 如 前 面 的 Kramers-Kronig 关 系 中 积 分 的 计 算 可 化 为 : 2 π P 0 sϵ 2 (s) s 2 ω ds = 1 2 2π P ϵ 2 (s) s ω ds = 1 π 0 ϵ 2 (ω + x) ϵ 2 (ω x) dx x
21 2.1 数 值 积 分 方 法 21 2ω π P ϵ 1 (s) 0 s 2 ω ds = 1 2 2π P ϵ 1 (s) s ω ds = 1 ϵ 1 (ω + x) ϵ 1 (ω x) dx π 0 x 在 得 到 上 述 关 系 时, 我 们 利 用 了 ϵ 1 为 偶 函 数 而 ϵ 2 为 奇 函 数 的 事 实. 当 哥 西 积 分 区 间 内 的 无 界 邻 域 不 止 一 个 时, 可 以 把 积 分 区 间 分 为 几 段, 使 得 每 一 段 中 只 包 含 一 个 无 界 邻 域, 然 后 在 每 一 段 用 上 述 方 法 计 算. 分 另 一 种 计 算 主 值 积 分 的 方 法 是 直 接 从 定 义 出 发, 设 f(x) 在 积 分 区 间 内 无 奇 点, 则 积 b P a f(x) x x 0 dx = x0 f(x) b f(x) x0 + f(x) dx + dx + P dx a x x 0 x 0 + x x 0 x 0 x x 0 = I + lim I ϵ, ϵ 0 (2.19) I 为 第 一 行 右 方 第 一 和 第 二 项 之 和, 是 正 常 积 分, 可 用 前 述 任 一 方 法 计 算. I ϵ, = x0 ϵ x 0 把 f(x) 在 x 0 点 展 开, 并 逐 项 积 分, 得 到 取 极 限 ϵ 0, 得 到 f(x) x x 0 dx + x0 + x 0 +ϵ f(x) x x 0 dx I ϵ, = 2f (x 0 )( ϵ) + f (3) (x 0 )( 3 ϵ 3 ) + I 0,δ = 2 这 样, 原 主 值 积 分 为 I 0, + I. 练 习 : f (2n+1) 2n+1 (x 0 ) (2n + 1)!(2n + 1). (2.20) n=0 试 用 上 述 方 法 计 算 主 值 积 分 1 e x P 0 x 0.5, 对 于 不 同 的, 在 (2.20) 中 取 两 项, 比 较 计 算 结 果 与 精 确 结 果. ( 到 16 位 的 精 确 结 果 为 ) 另 外 一 种 常 用 的 计 算 主 值 积 分 的 方 法 是 基 于 如 下 公 式 1 lim η 0 + x iη = P 1 + iπδ(x) (2.21) x 式 中 η 0 + 表 示 η 从 大 于 0 的 方 向 趋 于 0. 这 一 公 式 当 然 是 在 积 分 的 意 义 下 理 解 利 用 上 述 结 果, 就 可 以 得 到 计 算 主 值 积 分 的 一 个 方 法 : 例 如 要 计 算 P b a F (x) dx b 取 一 个 小 量 η, 计 算 F (x iη) dx, 其 实 部 给 出 P b F (x) dx 的 依 赖 于 η 的 近 似 值, 通 a a 过 减 小 η, 可 以 得 到 精 度 要 求 下 收 敛 的 结 果 例 如, 对 于 前 面 的 练 习 题, 分 别 取 不 同 的 η, 计 算 结 果 如 下
22 22 第 二 章 物 理 学 中 的 常 用 数 值 方 法 η 积 分 值 i i i i 急 速 振 荡 函 数 的 积 分 换 在 各 种 变 换 特 别 是 付 里 叶 变 换 中, 经 常 会 遇 到 急 速 振 荡 函 数 的 积 分, 例 如, 付 里 叶 变 b 又 如 付 里 叶 贝 塞 尔 变 换, a f(x) os(nx)dx, 1 这 里 0 < γ 1 < γ 2 < 是 贝 塞 尔 函 数 的 根. 一 般 我 们 可 把 这 类 函 数 写 为 : I(t) = b a 0 b a f(x)xj n (γ m x)dx f(x) sin(nx)dx f(x)k(x, t)dx, < a < b < (2.22) 式 中 K(x, t) 为 一 振 荡 核 而 f(x) 为 非 振 荡 部 分. 由 于 振 荡 型 函 数 在 积 分 区 间 内 多 次 取 几 乎 相 等 的 正 值 和 负 值, 如 果 用 通 常 的 方 法 计 算, 则 由 于 正 负 数 相 加, 造 成 有 效 数 字 的 损 失, 几 乎 得 不 到 正 确 的 结 果. 下 面 先 给 出 最 常 遇 到 的 振 荡 函 数 的 积 分 付 里 叶 系 数 的 一 种 计 算 方 法, 然 后 再 讨 论 较 为 一 般 的 方 法. 付 里 叶 系 数 的 计 算 : 付 里 叶 系 数 的 复 数 形 式 为 : b 对 上 式 分 部 积 分, 假 定 f(x) 存 在 直 到 n 阶 的 导 数, 可 以 得 到 : b a n 1 f(x)e isx dx = e isa k=0 a f(x)e isx dx (2.23) ( ) k+1 i n 1 f (k) (a) e isb s 当 n 趋 于 无 穷 大 时, 余 项 R n 趋 于 0, 而 求 和 项 就 给 出 了 积 分 的 近 似 值. 练 习 : 写 出 (2.24) 的 实 部 和 虚 部, 即 k=0 ( ) k+1 i f (k) (b) + R n (2.24) s b a f(x) os sxdx 和 b a f(x) sin sxdx 的 积 分 公 式.
23 2.1 数 值 积 分 方 法 23 上 述 公 式 需 要 计 算 f(x) 的 直 到 n 1 阶 的 导 数, 这 对 于 较 为 复 杂 的 函 数 来 说, 曾 是 一 个 很 重 的 负 担. 不 过 目 前 计 算 机 代 数 的 发 展, 计 算 导 数 已 经 没 有 多 少 困 难. 为 了 看 出 这 一 方 法 的 效 力, 我 们 来 看 一 个 例 子. 计 算 I = 2π 0 x os(x) sin 30xdx 用 公 式 (2.24) 的 虚 部, 取 n = 3, 由 f(x) = x os(x), a = 0, b = 2π, f(0) = 0, f(2π) = 2π, f (0) = 0, f (2π) = 2π, 代 入 得 到 : 2π I = x os(x) sin 30xdx = 1 ( ) π + ( 2π) = 而 该 积 分 的 精 确 值 为 基 于 Euler-Malaurin 公 式 的 梯 形 法 : 可 以 证 明 ( 见 王 竹 溪, 郭 敦 仁 特 殊 函 数 概 论 第 一 章 ), 函 数 f(x) 的 积 分 可 以 写 成 a+mh [ ] f(a) f(a + mh) f(x)dx = h + f(a + h) + + f(a + (m 1)h) + a 2 2 n ( 1) k B k h 2k [ + f 2k 1 (a + mh) F 2k 1 (a) ] + R n (2k)! 其 中 k=1 R n = θ ( 1)n+1 B n+1 h [ (2n+1) f (2n+1) (a + mh) f (2n+1) (a) ] (2n + 2)! (2.25) 这 里 0 θ 1,B n 是 Bernoulli 数 如 果 f(x) 是 周 期 函 数,f(a + mh) = f(a), 且 f(x) 存 在 直 到 (2n + 1) 阶 的 导 数, 则 显 然 有 f (2k+1) (a) = f (2k+1) (a + mh), 于 是, 利 用 梯 形 法 可 以 得 到 精 确 的 结 果 作 为 例 子, 取 不 同 的 点, 试 用 梯 形 法 计 算 如 下 积 分, 并 于 精 确 结 果 比 较 1 Bessel 函 数 的 积 分 表 示 之 一 是 sin 10πxdx, 精 确 值 = J n (t) = 1 π π 计 算 n = 2, t = 1, 3, 7, 10 时 Bessel 函 数 的 值 0 os (t sin x nx)dx 由 Euler-Malaurin 公 式 可 知, 如 果 一 个 函 数 满 足 f (a) = f (a + mh), f (3) (a) = f (3) (a+mh),, 则 梯 形 公 式 也 可 以 得 到 很 精 确 的 结 果 例 如 函 数 f(x) = exp(x 2 (1 x 2 )), 在 0 和 1 满 足 上 述 关 系, 从 而, 可 以 用 梯 形 公 式 计 算 1 0 exp(x 2 (1 x 2 ))dx 这 个 积 分 的 精 确 结 果 是 , 请 分 别 用 梯 形 法 和 辛 普 森 法 计 算 并 比 较 其 结 果
24 24 第 二 章 物 理 学 中 的 常 用 数 值 方 法 子 区 间 法, 在 一 般 情 况 下, 如 果 K(x, t) = 0 的 根 容 易 求 出, 且 记 为 a x 1 < x 2 < < x n b, 则 可 用 普 通 的 积 分 规 则 计 算 每 一 个 子 积 分 xi+1 x i, 并 把 结 果 加 起 来. 用 这 种 方 法 得 到 的 一 般 是 一 个 交 错 级 数, 且 相 邻 项 的 绝 对 值 比 较 接 近, 其 求 和 可 用 Euler 变 换 计 算. (Euler 变 换 将 在 后 面 讨 论 ) 在 讲 了 样 条 插 值 之 后, 我 们 再 介 绍 一 种 基 于 样 条 插 值 的 计 算 积 分 (2.23) 的 方 法. 更 多 的 方 法 可 以 参 看 (P. J. Davis and P. Rabinowitz,Methods of Numerial Integration, Aademi Press, 1984) 高 维 积 分 的 计 算 高 维 积 分 的 计 算 原 则 上 可 以 通 过 化 成 累 次 积 分 来 进 行, 例 如, 对 于 积 分 I = g(x, y, z) dxdydz (2.26) 其 中 Ω 为 积 分 区 域, 总 可 以 化 为 I = b dx Ω d(x) dy f(x,y) a (x) e(x,y) g(x, y, z) (2.27) 这 相 当 于 依 次 计 算 三 个 一 重 积 分, 每 一 积 分 以 其 前 一 积 分 作 为 被 积 函 数. 稍 加 考 虑 就 可 发 现, 这 一 过 程 的 计 算 量 随 积 分 重 数 的 增 加 而 变 得 无 法 完 成. 如 每 重 积 分 取 10 个 点 ( 这 是 一 个 非 常 小 的 数 字 ), 则 n 重 积 分 就 要 计 算 10 n 个 函 数 值. 因 此, 这 一 方 法 只 能 用 于 积 分 重 数 较 低 的 积 分. 高 维 积 分 还 可 以 用 高 斯 方 法 计 算, 这 只 要 把 每 重 积 分 用 高 斯 积 分 公 式 代 入 即 可. 对 于 n > 3 的 高 维 积 分, 计 算 量 总 是 相 当 大 的, 如 果 你 对 计 算 精 度 要 求 不 高, 那 么 可 以 利 用 后 面 将 要 讲 到 的 Monte Carlo 方 法. 另 外, 如 果 可 能, 请 尽 可 能 地 解 析 积 出 内 层 积 分, 以 减 小 计 算 量 固 体 热 容 量 的 计 算 在 德 拜 近 似 下, 固 体 的 热 容 量 由 下 式 给 出 ( ) 3 T Θd /T C V = 9Nk Θ D 0 ξ 4 e ξ (e ξ 1) 2 dξ 式 中 Θ D 为 德 拜 温 度. 为 了 求 得 热 容 量, 需 要 计 算 上 式 中 的 积 分, 这 一 积 分 只 有 当 Θ d /T 1 或 Θ d /T 1 时 才 能 解 析 积 出, 一 般 情 况 下 只 能 进 行 数 字 计 算. 考 虑 f(x) = x 0 ξ 4 e ξ (e ξ 1) 2 dξ
25 2.2 方 程 的 求 根 和 最 优 化 方 法 25 利 用 我 们 学 到 的 方 法, 可 以 对 不 同 的 x 求 出 其 值, 并 做 出 f(x) 的 表 或 图 形. 为 了 计 算 积 分, 注 意 到 ξ = 0 是 被 积 函 数 的 可 去 奇 点, 因 此, 应 在 该 点 把 被 积 函 数 展 开 为 ξ 的 级 数 ; 当 ξ, 被 积 函 数 指 数 减 小. 已 知 f( ) = 0 ξ 4 e ξ (e ξ 1) dξ = π4 我 们 可 以 根 据 x 的 值 的 大 小 分 别 用 两 种 方 法 计 算, 取 一 值 x, 当 x < x 时, 用 原 式 计 算, 当 x > x 时, 可 以 计 算 f( ) f 1 (x), 其 中 f 1 (x) = x ξ 4 e ξ (e ξ 1) 2 dξ x 可 以 选 择 的 大 一 点, 这 样 f 1 (x) 的 数 值 比 较 小, 计 算 精 度 要 求 可 以 低 一 些. 我 们 选 择 x = 10, x < x 时, 用 辛 普 生 方 法 计 算 f(x), 被 积 函 数 为 { ξ 2 ξ ξ < 0.05 ξ 4 e ξ (e x 1) ξ x 当 x > x 时, 计 算 f 1 (x), 对 积 分 作 变 量 变 换 ξ = η + x 则 f 1 (x) = e x 0 (η + x) 4 e η (1 e (η+x) ) 2 dη 这 一 积 分 可 用 高 斯 拉 盖 尔 方 法 计 算. 作 为 练 习, 请 同 学 完 成 余 下 的 计 算 并 作 出 f(x) x 的 图 形 2.2 方 程 的 求 根 和 最 优 化 方 法 方 程 的 求 根 问 题 是 物 理 计 算 中 最 常 遇 到 的 问 题 之 一, 对 于 低 次 代 数 方 程, 已 经 找 到 了 解 的 公 式, 但 除 了 二 次 方 程 之 外, 这 些 公 式 并 无 多 少 实 用 价 值, 而 对 于 即 使 如 os(x) x = 0 这 样 简 单 的 方 程, 也 无 法 找 到 解 析 形 式 的 解. 数 值 计 算 几 乎 是 求 解 任 何 有 实 际 意 义 的 问 题 的 唯 一 方 法. 在 这 一 节 中, 我 们 将 讨 论 几 种 求 解 f(x) = 0 的 根 的 数 字 方 法. 最 优 化 方 法 除 了 本 身 的 重 要 性 之 外, 也 是 一 种 求 解 多 元 方 程 的 有 效 方 法, 因 此, 最 优 化 方 法 的 介 绍 也 是 本 节 的 一 个 重 要 内 容 二 分 法 二 分 法 是 求 解 方 程 的 最 安 全, 也 是 概 念 上 最 简 单 的 方 法, 它 可 以 做 为 后 面 将 要 讲 到 的 方 法 失 败 后 的 最 后 保 险. 假 定 我 们 知 道 在 区 间 a < x < b 之 内 只 有 f(x) = 0 的 一 个 根, 则 显 然 f(a) 与 f(b) 异 号, 把 区 间 分 半, 即 令 = (b + a)/2, 计 算 f() 的 值, 若 f(a) 与 f() 同 号, 则 根 在 [, b] 之 间, 否 则, 根 在 [a, ] 之 间, 对 根 所 在 的 区 间 重 复 上 述 过 程 直 到 达 到 所 需 精 度.
26 26 第 二 章 物 理 学 中 的 常 用 数 值 方 法 牛 顿 法 和 割 线 法 在 所 有 一 元 函 数 求 根 方 法 中, 牛 顿 法 也 许 是 最 值 得 推 荐 的 一 个. 其 想 法 是 这 样 的, 假 定 f(x) = 0 的 根 为 x, 而 我 们 有 一 个 对 x 的 猜 测 值 x n, f(x) 可 在 x n 附 近 展 开 为 泰 勒 级 数 : f(x) = f(x n ) + f (x n )(x x n ) + 略 去 高 次 项, 令 上 式 为 0, 可 解 出 x, 将 此 值 作 为 x 的 一 个 更 好 的 近 似, 记 为 x n+1, 则 x n+1 = x n f(x n) f (x n ). (2.28) 这 样, 给 定 一 个 x 的 初 始 值 x 0, 利 用 下 面 的 迭 代 公 式 反 复 迭 代 : x n+1 = x n f(x n) f (x n ) (2.29) 如 果 迭 代 收 敛, 则 必 收 敛 于 f(x) = 0 的 一 个 根 x. 这 一 迭 代 公 式 (2.29) 就 是 著 名 的 牛 顿 迭 代 公 式. 可 以 证 明, 如 果 迭 代 到 第 n 步 时 的 误 差 为 ϵ n = x n x, 则 第 n + 1 步 的 误 差 为 f (x ) ϵ n+1 = ϵ 2 n, 也 就 是 说, 牛 顿 法 是 平 方 收 敛 的. 证 明 如 下 : 由 迭 代 公 式 (2.29), 2f (x ) x n+1 = x n f(x n) f (x n ) x + ϵ n ϵ nf (x ) ϵ2 nf (x ) f (x ) + ϵ n f (x ) ( x + ϵ n ϵ n + 1 f (x ) 2 f (x ) ϵ2 n f ) (x ) f (x ) ϵ2 n = x + 1 f (x ) 2 f (x ) ϵ2 n 二 分 法 是 线 性 收 敛 的, 请 证 明 之. 但 是, 另 一 方 面, 对 于 任 一 初 始 值, 牛 顿 法 并 不 总 是 收 敛, 事 实 上, 牛 顿 法 的 收 敛 范 围 是 较 小 的, 因 此, 在 实 际 使 用 时, 必 须 找 一 个 较 好 的 x 0, 使 x 0 尽 可 能 地 靠 近 x, 这 可 以 把 二 分 法 与 牛 顿 法 结 合 起 来 以 完 成. 试 计 算 10. 令 f(x) = x 2 10, f(x) = 0 的 根 就 是 所 求 结 果 取 初 始 值 x 0 = 3, f (x) = 2x. 迭 代 结 果 如 下 :
27 2.2 方 程 的 求 根 和 最 优 化 方 法 27 牛 顿 法 的 一 个 重 要 的 缺 点 是 需 要 计 算 函 数 的 导 数, 对 于 一 些 复 杂 的 函 数 来 说, 这 是 一 件 十 分 麻 烦 的 工 作. 为 了 即 保 持 较 高 的 收 敛 速 度, 又 避 免 麻 烦 的 导 数 计 算, 可 以 对 牛 顿 法 稍 作 变 形, 用 差 分 代 替 导 数, 从 而 得 到 下 面 的 割 线 法. x n+1 = x n x n x n 1 f(x n ) f(x n 1 ) f(x n) (2.30) 这 一 迭 代 方 式 需 要 二 个 初 始 值 x 0, x 1, 可 以 取 为 所 猜 测 的 解 附 近 的 二 个 点. 割 线 法 的 收 敛 速 度 比 牛 顿 法 稍 慢, 但 省 去 了 导 数 的 计 算, 对 于 求 导 数 比 较 困 难 的 函 数 特 别 有 用. 作 为 一 个 编 程 练 习, 请 写 出 这 一 算 法 的 程 序 并 作 为 你 自 己 的 库 程 序. 练 习 : 证 明 割 线 法 的 收 敛 阶 为 ϵ n+1 ϵ n 另 一 个 不 需 要 计 算 导 数 的 方 法 是 所 谓 的 Stewenson 方 法, 算 法 如 下 : x n+1 = x n f(x n ) 2 f(x n ) f(x n f(x n )) (2.31) 对 于 单 零 点, 这 一 算 法 的 收 敛 阶 为 2,( 请 证 明 ), 而 且 不 需 要 计 算 导 数, 是 一 个 较 好 的 算 法. 试 计 算 10. 令 f(x) = x 2 10, f(x) = 0 的 根 就 是 所 求 结 果 取 初 始 值 x 0 Stewenson 法 迭 代 结 果 如 下 : = 3. 用 一 维 最 优 化, 黄 金 分 割 法 这 一 节 开 始 我 们 讨 论 最 优 化 方 法, 或 计 算 一 目 标 函 数 的 极 值 的 方 法. 最 优 化 方 法 在 物 理 学 中 有 十 分 广 泛 的 应 用, 函 数 的 求 根 问 题 也 可 化 为 一 个 最 优 化 问 题, 例 如, 求 函 数 f(x) = 0 的 问 题 就 与 求 目 标 函 数 为 F (x) = f(x) 2 的 极 小 值 的 问 题 等 价, 而 方 程 组 f i (x 1, x 2, x 3,, x n ) = 0, i = 1, 2, 3,, n 的 求 解 问 题 则 与 F (x 1, x 2,, x n ) = n w i f i (x 1, x 2,, x n ) 2 i=1
28 28 第 二 章 物 理 学 中 的 常 用 数 值 方 法 的 最 优 化 问 题 等 价. 这 里 w i, i = 1, 2,, n 为 一 组 权 重 参 数, 适 当 的 选 则 可 使 计 算 更 为 容 易 进 行, 但 对 根 的 位 置 没 有 影 响. 这 一 节 我 们 先 考 虑 一 个 自 变 量 的 目 标 函 数 的 最 优 化 问 题. 假 定 我 们 有 一 目 标 函 数 F (x), 我 们 的 任 务 是 寻 找 一 个 x = x, 使 得 目 标 函 数 F (x) 最 小. 这 一 工 作 可 以 分 两 步 来 完 成, 首 先, 我 们 要 找 出 目 标 函 数 的 极 小 点 所 在 的 大 致 位 置, 或 者 更 确 切 一 些, 我 们 要 找 三 个 点 a < b <, 使 得 目 标 函 数 F (b) < F (a), F (b) < F (). 第 二 步 则 在 区 间 [a, ] 内 寻 找 F (x) 的 最 小 值. 第 一 步 原 则 上 是 十 分 简 单 的, 假 定 有 两 点 a, b, 我 们 可 以 比 较 F (a) 和 F (b) 以 确 定 一 个 函 数 减 小 的 方 向, 不 失 一 般 性, 假 定 F (b) < F (a), 然 后 沿 减 小 方 向 前 进 一 步, 到 达 新 的 一 点, 一 般 取 = b (b a), 如 果 F () < F (b), 则 令 a = b, b =, 继 续 前 进, 寻 找 新 的 ; 如 果 F () > F (b), 则 我 们 的 目 的 已 经 达 到. 下 面 考 虑 第 二 步 的 计 算, 即 从 三 个 点 a < b <, F (b) < F (a), F (b) < F () 出 发, 寻 找 F (x) 的 极 小 点 x min. 这 里 介 绍 黄 金 分 割 法. 寻 找 极 小 点 的 过 程, 实 际 上 就 是 用 一 种 方 法 不 断 缩 小 区 间 [a, ], 并 保 证 极 小 点 一 直 位 于 区 间 之 内. 这 一 过 程 可 以 这 样 来 完 成, 假 定 已 经 作 了 n 步, 得 到 三 个 点 a, b, 和 对 应 的 目 标 函 数 值 F (a) > F (b), F (b) < F (), 不 失 一 般 性, 假 定 b > b a, 在 区 间 [b, ] 内 选 一 点 x, 如 果 F (x) < F (b), 则 作 代 换 a = b, b = x, 新 的 缩 小 了 的 区 间 为 [a, ]( 即 原 [b, ], 丢 掉 的 区 间 为 原 [a, b]); 如 果 F (x) > F (b), 则 作 代 换 = x, 新 的 缩 小 了 的 区 间 为 [a, ]( 即 原 [a, x], 丢 掉 的 区 间 为 原 [x, ]). 问 题 在 于 如 何 选 择 x, 一 个 自 然 的 想 法 是, 不 论 F (x) < F (b) 或 F (x) > F (b), 丢 掉 的 区 间 都 相 同, 即 选 择 x, 使 得 b a = x w( a) (2.32) 这 里 w 是 一 个 比 例 因 子, 我 们 现 在 来 确 定 它. 由 于 要 求 每 一 步 都 满 足 上 述 关 系, 显 然 有 x b = w( b) = w(( a) (b a)) = w( a) w 2 ( a) = (w w 2 )( a) (2.33) 另 一 方 面, 由 (2.32) 可 得 (b a) + ( x) = ( a) (x b) = 2w( a) (2.34) 即 由 (2.33) 和 (2.35), 我 们 得 到 : x b = (1 2w)( a) (2.35) w 2 3w + 1 = 0 (2.36) 由 此 解 得, w = , 1 w w 通 常 被 称 为 黄 金 分 割 数 或 黄 金 数. 一 般 在 开 始 计 算 时, a, b, 三 者 并 不 满 足 黄 金 分 割 关 系, 但 几 次 迭 代 后, 这 一 关 系 便 可 满 足, 并 在 其 后 一 直 保 持.
29 2.2 方 程 的 求 根 和 最 优 化 方 法 高 维 最 优 化, 共 扼 梯 度 方 法 这 一 节 给 出 多 维 问 题 的 最 优 化 方 法. 对 于 一 个 含 有 n 个 自 变 量 的 目 标 函 数 F (x 1, x 2, x n ), 我 们 的 目 的 是 要 求 出 一 组 (x 1, x 2,, x n) 使 目 标 函 数 达 到 极 小. 为 了 讨 论 问 题 的 方 便, 下 面 用 x 代 表 n 维 空 间 的 一 个 点, 最 优 化 问 题 也 可 以 表 述 为, 寻 找 n 维 空 间 的 一 点 x 使 得 目 标 函 数 F (x ) 最 小. 高 维 最 优 化 问 题 有 很 多 求 解 方 法, 其 基 本 思 路 是 相 同 的, 这 就 是 从 一 点 x 0 出 发, 按 照 某 种 规 定 的 方 向 p 0, 用 一 维 最 优 化 的 方 法 寻 找 函 数 F (x) 的 极 小 点 x 1, 继 续 这 一 过 程 直 到 达 到 最 优 点. 若 第 i 步 到 达 x i, 设 选 定 方 向 p i, 则 新 的 x i+1 可 如 下 求 得. 实 际 上, 我 们 只 要 找 一 参 数 t i, 使 得 F (x i + t i p i ) = min t F (x i + tp i ) (2.37) 则 x i+1 = x i + t i p i 便 为 所 求. 因 此, 高 维 最 优 化 的 的 不 同 方 法 实 际 上 是 选 择 不 同 的 一 维 寻 找 方 向. 一 个 直 观 的 推 断 就 是 在 每 一 点 选 择 该 点 目 标 函 数 下 降 最 快 的 方 向 p i = F (x i ) (2.38) 作 为 寻 找 方 向, 这 一 方 法 称 为 最 陡 下 降 法. 直 观 的 想 象 可 能 会 认 为 最 陡 下 降 方 向 是 一 种 理 想 的 寻 找 方 向, 但 事 实 并 非 如 此, 最 陡 下 降 方 向 只 表 示 在 x i 附 近 的 下 降 性 质, 而 对 整 个 最 优 化 过 程 来 说, 我 们 寻 找 的 是 全 局 的 最 优 方 向. 作 为 一 个 例 子, 考 虑 如 下 函 数 的 最 优 化 : F = x y 2 (2.39) 显 然, 这 一 函 数 的 极 小 点 是 (0, 0). 函 数 (2.39) 的 负 梯 度 为 g = (2x, 20y) T (2.40) 如 果 从 点 (2, 1) 出 发, 利 用 最 陡 下 降 法 计 算 所 得 逐 x 如 下 : (2, 1), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( ). 显 然, 收 敛 是 很 慢 的. 最 陡 下 降 方 向 并 不 是 理 想 的 下 降 方 向, 为 了 改 进 最 优 化 的 收 敛 速 度, 需 要 寻 求 其 他 方 向. 为 了 判 断 一 个 寻 找 方 向 的 好 坏, 应 该 有 一 个 标 准, 注 意 到 一 般 函 数 在 最 小 点 附 近 近 似 于 二 次 函 数, 因 此 如 果 一 个 方 法 对 二 次 函 数 比 较 有 效, 则 可 望 其 对 一 般 函 数 也 比 较 有 效, 如 果 一 个 方 法 对 二 次 函 数 的 效 果 都 不 好 的 话, 很 难 期 望 它 对 一 般 函 数 会 有 好 的 效 果.
30 30 第 二 章 物 理 学 中 的 常 用 数 值 方 法 计 算 实 践 也 证 实 了 这 一 论 断. 下 面, 我 们 就 从 二 次 函 数 寻 求 一 种 比 较 有 效 的 下 降 方 向. 为 此, 我 们 先 给 出 几 个 数 学 定 理 ; 定 理 一 : 若 N 维 欧 几 里 德 空 间 中 的 向 量 q 与 N 个 线 性 独 立 向 量 p 1, p 2,, p N 都 正 交, 则 向 量 q 必 为 0. 这 一 定 理 的 结 论 是 显 然 的. 定 义 : A 共 轭 向 量. 设 A 是 一 个 N N 的 对 称 正 定 矩 阵, p, q 是 两 个 N 维 向 量, 若, p T Aq = 0 (2.41) 则 称 向 量 p 和 向 量 q 互 为 A 共 轭 或 互 为 A 正 交. 定 理 二 : 若 A 为 N N 对 称 正 定 矩 阵, p 1, p 2,, p N 为 A 共 轭 的 N 维 非 零 向 量, 则 此 向 量 组 必 为 线 性 独 立. 证 明 : 设 向 量 组 p 1, p 2,, p N 之 间 存 在 线 性 关 系 α 1 p 1 + α 2 p α N P N = 0 对 i = 1, 2,, N, 用 p T i A 左 乘 上 式 得 α i p T i Ap i = 0 因 为 p i 0, A 正 定, 所 以 p T i Ap i > 0 从 而 必 有 α i = 0, i = 1, 2,, N 因 此, 向 量 组 p 1, p 2,, p N 线 性 独 立. 有 了 以 上 数 学 准 备, 我 们 来 考 虑 二 次 函 数 的 最 优 化 问 题, 我 们 的 目 的 是 找 一 种 下 降 方 向, 能 够 在 有 限 步 达 到 二 次 函 数 的 极 小 点. 考 虑 二 次 N 元 函 数 F (x) = a + b T x xt Ax (2.42) 其 中 A 为 一 正 定 矩 阵. 函 数 (2.44) 的 梯 度 为 G(x) = b + Ax (2.43) 记 x i 点 的 梯 度 为 g i = G(x i ), 从 x 0 点 出 发, 对 于 第 一 个 寻 找 方 向, 除 梯 度 外 没 有 别 的 信 息, 我 们 就 取 p 0 = g 0, 沿 此 方 向 找 到 极 小 点 x 1 并 可 求 得 这 一 点 的 梯 度 g 1, 因 为 x 1 是 沿 p 0 方 向 的 极 小 点, 这 一 点 的 梯 度 方 向 一 定 与 p 0 垂 直,g 1 p 0, 从 而 g 1 g 0. 现 在 有 了 两 个
31 2.2 方 程 的 求 根 和 最 优 化 方 法 31 方 向,g 1 和 g 0, 最 陡 下 降 法 选 取 新 的 方 向 为 g 1. 我 们 保 留 原 来 方 向 的 一 点 信 息, 选 新 的 寻 找 方 向 为 这 两 个 方 向 的 组 合 p 1 = g 1 α 0 g 0 (2.44) 并 要 求 p 1 与 p 0 为 A 共 轭, 则 应 有 ( g 1 α 0 g 0 ) T Ap 0 = 0 (2.45) 由 于 x 1 = x 0 + t 0 p 0 则 g 1 g 0 = A(x 1 x 0 ) = t 0 Ap 0 一 般, 若 第 i 步 的 寻 找 方 向 为 p i, 则 同 理 可 证 g i+1 g i = A(x i+1 x i ) = t i Ap i (2.46) 因 此, 方 程 (2.45) 成 为 ( g 1 α 0 g 0 ) T (g 1 g 0 ) = 0 (2.47) 由 此 解 得 这 里 假 定 g 0 0, 否 则, 若 g 0 = 0, 则 x 0 就 是 所 求 的 极 值 点. α 0 = gt 1 g 1 g T 0 g 0 (2.48) 把 α 0 代 入 (2.44), 便 得 到 p 1. 沿 p 1 求 出 极 小 点 x 2 并 算 出 g 2. 由 于 p 0 和 p 1 为 A 共 轭, 因 此 由 (2.46) g T 0 (g 2 g 1 ) = 0 考 虑 到 g 0 与 g 1 正 交, g T 0 g 1 = 0, 由 上 式 可 知 g 0 与 g 2 也 正 交. 因 x 2 是 沿 p 1 方 向 的 极 小 点, 故 g 2 p 1, 也 就 是 g T 2 ( g 1 α 0 g 0 ) = 0 即 g 2 g 1. g 0, g 1 和 g 2 构 成 一 个 正 交 矢 量 组, 我 们 可 以 在 这 个 正 交 组 构 成 的 三 维 空 间 寻 求 与 p 0, p 1 均 为 A 共 轭 的 寻 找 方 向 p 2. 令 p 2 = g 2 α 1 g 1 β 0 g 0 (2.49) 要 求 p 2 分 别 与 p 0 和 p 1 为 A 共 轭, 也 就 是 要 求 如 下 方 程 成 立 ( g 2 α 1 g 1 β 0 g 0 ) T (g 1 g 0 ) = 0 (2.50) ( g 2 α 1 g 1 β 0 g 0 ) T (g 2 g 1 ) = 0 (2.51) (2.52)
32 32 第 二 章 物 理 学 中 的 常 用 数 值 方 法 由 此 解 出 于 是 α 1 = gt 2 g 2 g T 1 g 1, β 0 = α 0 α 1. (2.53) p 2 = g 2 + α 1 p 1 (2.54) 现 假 定 已 求 得 p 0, p 1,, p j, 其 中 p 0 = g 0 p i = g i + α i 1 p i 1 α i 1 = g T i g i /g T i 1g i 1 i = 1, 2,, j 这 里 假 定 g 0, g 1,, g j 都 不 为 零 且 构 成 一 个 正 交 系. 沿 p j 求 出 x j+1 并 算 出 g j+1 = G(x j+1 ), 设 g j+1 0, 则 仿 前 可 证, g 0, g 1,, g j+1 也 构 成 正 交 系. 令 p j+1 = g j+1 β 0 g 0 β 1 g 1 β j 1 g j 1 α j g j (2.55) 并 要 求 p j+1 与 p 0, p 1,, p j 为 A 共 轭, 即 ( g j+1 β 0 g 0 β 1 g 1 β j 1 g j 1 α j g j ) T (g j+1 g j ) = 0 (2.56) 得 到 α j = g T j+1g j+1 /g T j g j, β j 1 = α j α j 1, β 1 = α j α j 1 α 1, β 0 = α j α j 1 α 1 α 0. 且 β 0 g 0 β 1 g 1 β j 1 g j 1 α j g j = α j α 1 (α 0 g 0 + g 1 ) β 2 g 2 α j g j = α j (α 1 p 1 g 2 ) α j g j = = α j p j
33 2.2 方 程 的 求 根 和 最 优 化 方 法 33 即 p j+1 = g j+1 + α j p j, α j = g T j+1g j+1 /g T j g j (2.57) 根 据 归 纳 法, 在 (2.57) 中 令 j = 0, 1, 2,, 所 得 方 向 为 A 共 轭 方 向. 上 述 方 法 最 多 只 要 N 步 就 可 找 到 函 数 (2.44) 的 极 小 点, 这 是 因 为 所 有 的 g j 互 相 正 交, 即 g T N g j = 0 对 所 有 j = 0, 1, 2,, N 1 都 成 立, 而 我 们 的 问 题 在 N 维 空 间, 故 必 有 g N = 0, 亦 即 x N 为 函 数 (2.44) 的 极 小 点. 这 就 是 所 谓 共 轭 梯 度 方 法, 理 论 上, 对 于 二 次 函 数, 只 要 N 次 迭 代 就 可 以 达 到 极 小 点, 但 实 际 计 算 时, 由 于 舍 入 误 差 的 影 响, 一 般 N 次 迭 代 并 不 能 达 到 极 小 点. 对 于 一 般 的 目 标 函 数, 有 限 次 (N 次 ) 的 迭 代 也 一 般 不 能 达 到 极 小 点, 因 此 实 际 计 算 时, 从 一 初 始 点 出 发, 迭 代 N 次 后, 以 所 得 结 果 为 出 发 点, 重 新 开 始 计 算, 直 到 收 敛 为 止. 共 轭 梯 度 方 法 由 于 占 用 内 存 小, 方 法 简 单, 编 程 方 便, 目 前 在 物 理 问 题 中 应 用 比 较 多. 作 为 例 子, 我 们 再 考 虑 前 面 的 例 题, 对 函 数 x y 2, 取 x 0 = (2, 1) T, 则 g 0 = (4, 20) T, 取 p 0 = g 0, 求 得 x 1 = ( , ) T, g 1 = ( , ) T, α 0 = , 由 此 可 构 造 出 p 1 = ( , ) T, 沿 p 1 方 向 求 得 x 2 = ( , ) T, 即 已 经 达 到 极 小 点. 习 题 : 编 制 共 轭 梯 度 法 的 程 序 并 求 下 面 函 数 的 极 小 值 点 及 极 小 值, F (x 1,, x n ) = 1 + n [ 100(xi x 2 i 1) 2 + (1 x i 1 ) 2] (2.58) i=2 取 n = 10, 选 择 初 始 点 为 x i = i/10, i = 1, 2,, 约 束 最 优 化 前 面 几 节 所 讲 的 是 无 约 束 最 优 化 问 题, 在 实 际 物 理 问 题 中, 还 经 常 会 遇 到 有 约 束 最 优 化 问 题, 其 数 学 提 法 是, 给 定 一 目 标 函 数 F (x 1, x 2,, x n ), 在 一 定 的 约 束 下 求 解 其 极 小 值, 约 束 一 般 写 成 一 组 函 数. 即 { F (x1, x 2,, x n ) = Min G i (x 1, x 2,, x n ) = 0 (i = 1, 2,, m) (2.59) 式 中 m < n, m 个 方 程 G i (x 1, x 2,, x n ) 代 表 m 个 约 束. 解 决 约 束 优 化 问 题 的 通 常 做 法 是 构 造 一 个 新 的 函 数, 把 约 束 优 化 问 题 改 为 一 无 约 束 最 优 化 问 题, 然 后 利 用 前 面 的 方 法 求 解. 通 常 的 做 法 是, 定 义 F = F + m λ i G 2 i (2.60) i=1
34 34 第 二 章 物 理 学 中 的 常 用 数 值 方 法 对 于 合 适 选 择 的 λ i, (i = 1, 2,, m), F 的 极 小 值 就 代 表 了 由 方 程 (2.59) 定 义 的 约 束 最 优 化 问 题. 例 题 在 参 数 x 1, x 2,, x n 的 一 个 限 制 区 域 D 内 求 解 F 的 极 小 值. 为 此, 我 们 把 求 解 区 域 扩 展 到 整 个 区 域, 如 果 F 在 D 外 无 定 义, 则 应 扩 充 其 定 义. 同 时 定 义 函 数 G 为 { 0 {x} D G = i λ ix 2 i {x} D (2.61) 则 通 过 计 算 F + G 的 极 小 值 就 可 得 到 问 题 的 解. 在 使 用 这 种 方 法 时 应 注 意 如 果 在 D 外 F 会 变 小 时, G 的 选 择 应 使 得 F + G 在 D 外 总 是 较 快 增 加 的. 式 (2.61) 给 出 的 仅 仅 是 一 种 可 能 的 选 择, 实 际 上 G 的 选 择 可 以 有 无 穷 多 种 最 小 二 乘 法 及 曲 线 拟 合 在 物 理 实 验 中, 常 常 要 测 量 一 对 物 理 量 之 间 的 关 系, 在 有 些 情 况 下, 一 对 物 理 量 之 间 的 函 数 关 系 是 已 知 的, 但 包 含 若 干 个 未 知 参 数, 若 用 x 和 y 代 表 这 一 对 物 理 量, 则 有 y = f(x; a 1, a 2,, a m ) (2.62) 式 中 a 1, a 2,, a m 为 一 组 未 知 参 量, f 的 函 数 形 式 是 已 知 的, 在 这 种 情 况 下, 曲 线 拟 合 的 任 务, 就 是 根 据 (x, y) 的 N 个 观 测 点 (x 1, y 1 ), (x 2, y 2 ),, (x N, y N ) 来 确 定 参 数 a i, (i = 1, 2,, m), 如 果 测 量 中 没 有 误 差, 则 每 一 组 (x i, y i ) 都 应 准 确 地 落 在 理 论 曲 线 上, 即 应 有 y i = f(x i ; a 1, a 2,, a m ) (i = 1, 2,, N) (2.63) 为 了 确 定 诸 a i 的 值, 只 要 选 出 (2.63) 中 的 m 个 方 程 求 解 即 可, 但 实 际 测 量 总 是 有 误 差 的, (x i, y i ) 并 不 准 确 落 在 理 论 曲 线 上, 在 N > m 的 情 况 下, 方 程 组 (2.63) 成 为 矛 盾 方 程 组, 不 能 用 解 方 程 的 方 法 求 参 数 a 1, a 2,, a m, 只 能 用 曲 线 拟 合 的 方 法 根 据 带 有 误 差 的 观 测 值 点 求 得 理 论 曲 线 参 数 的 估 计 值. 在 很 多 实 际 问 题 中, x 和 y 这 两 个 物 理 量 中 总 有 一 个 量 的 测 量 精 度 比 另 一 个 高 得 多, 其 测 量 误 差 可 以 忽 略. 把 可 以 忽 略 测 量 误 差 的 量 选 作 自 变 量 x, 其 观 测 值 可 看 作 是 准 确 的, 对 于 每 个 x i, 对 应 的 y 的 观 测 值 y i 是 一 个 随 机 变 量 ( 见 第 五 章 ), 其 误 差 可 由 其 方 差 来 估 计. 物 理 中 还 经 常 遇 到 另 外 一 种 曲 线 拟 合 的 任 务 : 物 理 量 y 和 x 间 的 函 数 形 式 未 知, 需 要 从 观 测 点 求 出 y 和 x 的 函 数 关 系 的 一 个 经 验 公 式. 一 般 的 作 法 是 选 取 某 一 函 数 族 {
35 2.2 方 程 的 求 根 和 最 优 化 方 法 35 ϕ i (x) } 的 一 个 线 性 组 合, y = i a i ϕ i (x) (2.64) 然 后 用 曲 线 拟 合 方 法 求 出 系 数 a i. 函 数 族 { ϕ i (x) } 通 常 从 物 理 考 虑 来 选 取, 一 种 常 用 的 方 法 是 选 取 { 1, x, x 2,, x m 1 } 用 于 拟 合 m 个 参 数 ; 也 可 选 取 三 角 函 数 { 1, sin x, os x, sin 2x, os 2x,, sin 2mx, os 2mx} 用 于 拟 合 2m + 1 个 参 数. 这 种 方 法 称 为 线 性 拟 合 方 法, 即 y 线 性 地 依 赖 于 参 数 a i, 对 于 有 些 物 理 问 题, y 和 x 的 函 数 关 系 中 非 线 性 地 依 赖 于 参 数 a i, 例 如 y = a 1 e a2x + a 3 e a4x sin(a 5 x + a 6 ) 就 是 一 个 具 有 6 个 参 数 的 非 线 性 拟 合 问 题. 曲 线 拟 合 通 常 采 用 最 小 二 乘 法, 如 果 x 的 测 量 误 差 可 以 忽 略, 观 测 点 i 的 残 差 δ i 定 义 为 在 该 点 y 的 观 测 值 与 理 论 值 之 差, 即 δ i = y i f(x i ; a 1, a 2,, a m ) (2.65) 若 观 测 值 y i 的 方 差 为 σi 2, 则 定 义 其 权 重 因 子 为 记 χ 2 为 观 测 点 残 差 的 加 权 平 方 和, χ 2 = N w i δi 2 = i=1 w i = 1 σ 2 i N w i (y i f(x i ; a 1, a 2,, a m )) 2 (2.66) i=1 曲 线 拟 合 的 最 小 二 乘 法 就 是 以 χ 2 为 目 标 函 数 的 优 化 问 题, 即 寻 找 一 组 参 数 a i, (i = 1, 2,, m) 使 χ 2 为 最 小. 在 观 测 点 的 方 差 未 知 的 情 况 下, 可 以 取 w i = 1, 也 可 以 在 每 一 观 测 点 多 测 量 几 次, 以 其 平 均 值 y i 作 为 该 点 的 观 测 值, 而 以 y 2 i y i 2 作 为 其 方 差. 在 曲 线 拟 合 问 题 中, 最 困 难 的 是 选 取 合 适 的 经 验 公 式, 这 需 要 结 合 物 理 考 虑 和 对 测 量 数 据 的 观 察, 也 依 赖 于 对 各 种 函 数 及 其 图 像 的 明 确 概 念. 例 题 在 某 一 能 谱 测 量 中, 得 到 下 表 所 示 数 据, 试 给 出 经 验 公 式 并 作 出 曲 线 拟 合. x y x y x y 把 表 中 数 据 点 到 坐 标 纸 上 ( 见 图 2.1 中 圈 点 ), 可 以 看 出 数 据 有 二 个 峰, 为 此, 我 们 试 用 Lorentz 形 曲 线 去 拟 合, 即 取 经 验 公 式 为 y = a 1 (x a 2 ) 2 + a 2 3 a 4 + (x a 5 ) 2 + a 2 6
36 36 第 二 章 物 理 学 中 的 常 用 数 值 方 法 图 2.1: 用 上 式 和 上 表 中 的 数 据 计 算 χ 2, 并 用 共 轭 梯 度 方 法 优 化 χ 2, 求 得 各 参 数 值 为 a 1 = a 2 = a 3 = a 4 = a 5 = a 6 = 在 图 2.1 中, 我 们 用 实 线 画 出 了 拟 合 的 结 果, 虚 线 给 出 了 二 个 峰 的 图 像. 2.3 函 数 的 求 值 在 数 值 计 算 中, 经 常 要 求 一 些 函 数 的 值, 一 些 常 用 的 初 等 函 数 如 三 角 函 数, e 指 数 函 数, 双 曲 函 数, 对 数 函 数 等, 均 已 写 入 计 算 机 语 言 的 定 义 做 为 内 部 函 数, 在 使 用 时 只 需 调 用 即 可, 而 其 它 的 函 数 和 表 达 式 则 要 自 己 计 算, 本 章 将 给 出 一 些 在 物 理 计 算 中 经 常 遇 到 的 函 数 及 表 达 式 的 计 算 方 法 和 部 分 程 序. 一 般 说 来, 计 算 机 的 内 部 函 数 都 是 由 专 家 设 计 的, 其 效 率 和 精 度 都 很 好, 因 此, 如 果 计 算 机 语 言 已 经 提 供 了 所 需 的 函 数, 则 应 尽 量 使 用 这 些 函 数, 下 面 提 供 的 方 法 仅 仅 作 为 计 算 机 系 统 不 提 供 这 些 函 数 时 的 补 充 多 项 式 的 求 值 和 级 数 求 和 所 谓 多 项 式 是 指 由 下 式 给 出 的 表 达 式 : p(x) = a 0 + a 1 x + a 2 x 2 + a 3 x a n x n 为 了 计 算 p(x) 在 给 定 x 时 的 数 值, 我 们 用 (n), n = 0, 1, 2,, n 来 代 表 多 项 式 的 系 数, 则 可 以 写 出 计 算 语 句. 以 n = 4 为 例, 直 接 用 FORTRAN 语 言 写 出 的 算 式 为 :
37 2.3 函 数 的 求 值 37 p=(0)+(1)*x+(2)*x**2+(3)*x**3+(4)*x**4 这 显 然 不 是 一 个 好 的 算 法 ( 为 什 么?). 较 好 的 算 法 是 下 面 二 者 之 一 : p=(0)+x*((1)+x*((2)+ x*((3)+x*(4)))) p=((((4)*x+(3))*x+(2))*x+(1))*x+(0) 当 n 较 大 时, 可 采 用 下 面 的 语 句 段 : P=C(N) DO 11 J=N-1,1,-1 P=P*X+C(J) 11 CONTINUE 在 科 研 中, 还 常 常 碰 到 级 数 求 和 的 问 题, 例 如 计 算 S = i=0 u i 我 们 当 然 不 可 能 计 算 到 无 穷 多 项, 所 以 上 述 级 数 必 需 在 某 处 截 断, 如 果 级 数 收 敛 很 慢, 就 要 计 算 很 多 项, 一 方 面 占 用 大 量 的 CPU 时 间, 更 重 要 的 是 当 计 算 的 项 数 非 常 多 时, 舍 入 误 差 的 积 累 有 可 能 完 全 破 坏 整 个 计 算. 为 此 必 须 使 用 加 速 收 敛 的 技 巧. Aitken 算 法 是 常 用 的 加 速 技 巧 之 一. 它 是 对 相 邻 的 三 个 部 分 和 进 行 处 理, 得 到 一 个 更 好 的 近 似. 记 部 分 和 为 : S n = n u i (2.67) i=0 则 由 S n 1, S n, S n+1 可 计 算 出 S n = S n+1 (S n+1 S n ) 2 S n+1 2S n + S n 1 (2.68) 对 n = 1, 2, 3,, 先 求 出 S n, 同 时 算 出 S n, 一 般 S n 更 快 地 收 敛 于 S. 在 实 际 使 用 时, (2.68) 最 好 用 写 出 的 式 子 计 算, 一 些 代 数 上 等 价 的 式 子 可 能 导 致 较 大 的 舍 入 误 差. Euler 变 换 对 于 由 下 式 定 义 的 交 错 级 数 ( 1) s u s (2.69) 这 里 u s > 0. Euler 变 换 是 一 个 强 有 力 的 算 法, 它 由 下 式 给 出 ( 取 n 为 偶 数 ) 其 中 : s=0 ( 1) s u s = u 0 u 1 + u 2 u n 1 + s=0 s=0 ( 1) s 2 s+1 ( s u n ) (2.70) u n u n+1 u n 2 u n ( u n ) = u n+2 2u n+1 + u n (2.71)
38 38 第 二 章 物 理 学 中 的 常 用 数 值 方 法 为 向 前 差 分. 式 (2.70) 可 推 导 如 下 : 定 义 位 移 算 符 E 为 : u n+1 Eu n 由 于 (1 + )u n = u n + u n+1 u n = u n+1 = Eu n, 因 此 有 算 符 等 式 E = 1 + 而 u 0 u 1 + u 2 u 3 + = (1 E + E 2 E 3 + )u 0 = E u 0 = 1 1 u = ( 1) s 2 s+1 s u 0 2 s= 连 分 式 的 求 值 所 谓 连 分 式, 是 指 由 下 式 给 出 的 表 达 式, f = b 0 + b 1 + b 2 + a 1 b 3 + a 2 a 3 a 4 b 4 + a 5 b 5 + 数 学 家 们 对 它 做 过 很 多 研 究, 这 是 一 个 非 常 有 趣 的 函 数 表 示 方 法. 除 了 上 面 的 表 达 式 外, 人 们 还 经 常 使 用 另 一 种 记 法. 这 里, 系 数 a n 和 b n 也 可 以 是 x 的 函 数. a 2 a 3 a 4 a 5 f = b 0 + a 1 b 1 + b 2 + b 3 + b 4 + b 5 + 由 于 连 分 式 只 能 从 右 向 左 求 值, 因 此 在 具 体 计 算 之 前, 很 难 判 断 一 个 无 限 的 连 分 式 应 该 在 何 处 截 断, 一 种 直 接 的 方 法 就 是 猜 一 个 截 断 点, 求 出 一 个 值, 再 猜 一 个 更 大 一 点 的 截 断 点 计 算, 通 过 比 较 不 同 截 断 处 的 结 果 来 判 断 是 否 收 敛. 这 显 然 不 是 一 个 好 的 方 法. 另 一 种 在 实 践 中 常 用 的 方 法 是 用 一 个 分 式 有 理 函 数 来 近 似 连 分 式, 用 f n 表 示 计 算 到 a n 和 b n 的 连 分 式 的 值, 则 : 这 里 A n, B n 由 下 面 的 递 推 公 式 给 出 : A 1 1 B 1 0 f n = A n B n (2.72) A 0 b 0 B 0 1 (2.73) A j = b j A j 1 + a j A j 2 B j = b j B j 1 + a j B j 2 j = 1, 2,, n
39 2.4 常 微 分 方 程 的 数 值 解 法 39 练 习 试 证 明 递 推 关 系 (2.73) 并 写 出 计 算 机 程 序 2.4 常 微 分 方 程 的 数 值 解 法 常 微 分 方 程 在 物 理 学 中 具 有 重 要 意 义, 牛 顿 第 二 定 律 就 表 示 为 一 组 二 阶 常 微 分 方 程, 第 一 章 中 提 到 的 著 名 的 三 体 问 题 就 是 由 九 个 二 阶 常 微 分 方 程 组 成 的 方 程 组 ; 在 量 子 力 学 中 和 电 动 力 学 中, 由 薛 定 谔 方 程 及 Maxwell 方 程 分 离 变 量 得 到 的 所 谓 Sturm Liouville 本 征 值 问 题 也 是 二 阶 常 微 分 方 程 的 求 解 问 题. 在 这 一 章 中, 我 们 将 给 出 几 种 数 值 求 解 常 微 分 方 程 的 常 用 方 法 Euler 方 法 对 于 常 微 分 方 程 的 初 值 问 题 dy dx = f(x, y) y(0) = η (2.74) 数 值 求 解 的 第 一 步 是 把 方 程 (2.74) 变 为 一 个 差 分 方 程, 为 此, 让 x 取 一 组 分 立 值 x n, n = 0, 1, 2,, x 0 = 0, x n+1 = x n + h, 这 里 h 称 为 积 分 的 步 长, 把 y(x) 在 x n 处 展 开, 有 y(x n+1 ) = y(x n ) + h dy dx + O(h 2 ) (2.75) x=xn 利 用 方 程 (2.74), 便 可 得 到 y(x n+1 ) = y(x n ) + hf(x n, y n ) + O(h 2 ) (2.76) 这 就 是 Euler 差 分 格 式, 从 x = 0 出 发, 利 用 这 一 方 程 一 步 一 步 地 向 前 计 算, 就 可 以 得 到 任 一 x n 处 的 函 数 值 y n y(x n ). Euler 方 法 是 一 个 显 式 方 法, 即 第 n + 1 步 的 y n+1 只 依 赖 于 x n, y n 的 值, 而 且 每 一 步 只 需 计 算 一 次 f(x n, y n ) 的 值, 这 是 Euler 方 法 的 优 点, 但 另 一 方 面, Euler 方 法 也 存 在 严 重 的 不 足, 因 为 这 一 方 法 是 一 次 的 ( 每 一 步 的 误 差 项 为 h 2 的 数 量 级, y(x N ) Nh 2 h), 所 以 h 必 须 取 得 足 够 小, 以 保 证 有 满 意 的 精 度, 但 步 长 太 小 时, 积 分 到 一 预 定 的 x 则 要 做 很 多 步 的 计 算, 舍 入 误 差 的 积 累 将 会 使 计 算 结 果 严 重 失 真. 由 于 这 一 原 因, 在 实 际 计 算 中 几 乎 不 使 用 Euler 方 法, 而 常 常 利 用 其 推 导 上 的 简 单 和 概 念 上 非 常 清 楚 而 用 于 教 学.
40 40 第 二 章 物 理 学 中 的 常 用 数 值 方 法 龙 格 库 塔 方 法 具 有 二 阶 以 上 精 度 的 直 接 方 法 称 为 龙 格 库 塔 方 法. 做 为 一 种 训 练, 我 们 在 此 给 出 二 阶 龙 格 库 塔 方 法 的 推 导. 下 面 先 给 出 一 种 比 较 直 接 的 推 导, 然 后 再 介 绍 一 种 易 于 推 广 到 高 阶 情 形 的 较 为 系 统 的 推 导 方 法, 希 望 同 学 仔 细 体 会 这 里 介 绍 的 方 法 和 思 路, 以 求 举 一 反 三, 为 自 己 设 计 算 法 做 准 备. 第 一 种 推 导 方 法 : 如 果 计 算 x n+ 1 2 x n + h 2 处 y 的 一 阶 导 数, 可 以 得 到 y n+ 1 2 = y n+1 y n h + O(h 2 ) (2.77) 这 可 用 Taylor 展 开 加 以 验 证. 把 上 式 稍 加 整 理, 并 代 入 y n+ 1 2 = f(x n+ 1, y 2 n+ 1 ), 得 到 2 y n+1 = y n + hf(x n+ 1, y 2 n+ 1 ) + O(h 3 ) (2.78) 2 上 式 中 出 现 了 半 个 分 点 处 的 值, 我 们 必 须 设 法 用 分 点 n 和 n + 1 处 的 量 来 表 示 n 处 的 量, 为 此, 把 f(x n+ 1, y 2 n+ 1 ) 和 f(x n+1, y n+1 ) 在 n 点 展 开 : 2 f(x n+ 1, y 2 n+ 1 ) = f(x n, y n ) + h df 2 2 dx + O(h 2 ) xn f(x n+1, y n+1 ) = f(x n, y n ) + h df dx + O(h 2 ) (2.79) xn 把 上 面 的 第 一 式 乘 以 2 减 去 第 二 式, 整 理 后 得 f(x n+ 1, y 2 n+ 1 ) = (f(x n, y n ) + f(x n+1, y n+1 )) + O(h 2 ) (2.80) 注 意 到 及 y n+1 = y n + hf(x n, y n ) + O(h 2 ) f(x n+1, y n + hf(x n, y n ) + O(h 2 )) = f(x n + h, y n + hf(x n, y n )) + O(h 2 ) 我 们 得 到 y n+1 = y n + h 2 (f(x n, y n ) + f(x n + h, y n + hf(x n, y n )) + O(h 3 ) (2.81) 这 就 是 二 阶 龙 格 库 塔 格 式 的 一 种, 由 它 可 以 通 过 n 点 的 解 给 出 n + 1 点 的 解. 它 显 然 具 有 二 阶 精 度. 第 二 种 推 导 方 法 : 因 为 我 们 的 目 的 是 从 n 点 的 解 给 出 n + 1 点 的 解 并 要 求 每 一 步 的 误 差 为 O(h 3 ), 所 以 可 以 一 般 的 把 差 分 格 式 写 为 y n+1 = y n + h (x n, y n ; h) (2.82)
41 2.4 常 微 分 方 程 的 数 值 解 法 41 其 中 (x n, y n ; h) y n + h 2 y n + h2 3! y(3) n + 如 果 我 们 用 另 一 函 数 Φ(x n, y n ; h) 代 替 (x n, y n ; h), 且 使 得 则 可 得 到 p 阶 差 分 格 式. 对 于 p = 2, 取 把 上 式 对 h 展 开 另 一 方 面 : Φ(x n, y n ; h) (x n, y n ; h) = O(h p ) Φ(x, y; h) = 1 f(x, y) + 2 f(x + ha 2, y + b 21 hf(x, y)) [ f Φ(x, y; h) = 1 f(x, y) + 2 f(x, y) + h 2 a 2 x + b 21 (x, y; h) = f(x, y) + 1 [ f 2 h x + f y f y ] f(x, y) + O(h 2 ) (2.83) ] f(x, y) + O(h 2 ) (2.84) 比 较 式 (2.83) 和 (2.84), 只 要 (2.83) 中 的 系 数 满 足 下 述 关 系, 就 能 达 到 我 们 的 要 求 = 1 2 a 2 = b 21 = 1 2 (2.85) 方 程 (2.85) 的 解 并 不 唯 一, 也 就 是 说, 有 无 穷 多 组 系 数 可 以 满 足 要 求. 为 此, 令 2 = α, 则 1 = 1 α a 2 = 1 2α b 21 = 1 2α (2.86) 取 α = 1 2, 得 到 差 分 格 式 为 1 = 1 2, a 2 = 1, b 21 = 1 y n+1 = y n + h 2 (f(x n, y n ) + f(x n + h, y n + hf(x n, y n )) (2.87) 这 与 第 一 种 方 法 得 到 的 结 果 相 同. 若 取 α = 1, 则 1 = 0, a 2 = 1 2, b 21 = 1 2
42 42 第 二 章 物 理 学 中 的 常 用 数 值 方 法 差 分 格 式 为 y n+1 = y n + h(f(x n h, y n hf(x n, y n )) (2.88) 当 α 取 不 同 值 时, 我 们 还 可 得 到 其 它 形 式 的 二 阶 差 分 格 式. 计 算 实 践 表 明, 对 于 绝 大 多 数 简 单 问 题, 四 阶 龙 格 库 塔 方 法 是 最 好 的 选 择. 这 一 方 法 的 一 种 常 用 差 分 格 式 可 用 下 面 一 组 公 式 来 表 示 : k 1 = hf(x n, y n ) ( k 2 = hf x n + h 2, y n + k ) 1 2 ( k 3 = hf x n + h 2, y n + k ) 2 2 k 4 = hf(x n + h, y n + k 3 ) (2.89) y n+1 = y n + k k k k O(h5 ) (2.90) 实 际 上, 四 阶 的 龙 格 库 塔 方 法 的 形 式 并 不 唯 一, 这 里 给 出 的 是 常 用 的 一 种. 四 阶 龙 格 库 塔 方 法 的 推 导 比 较 繁 琐, 但 并 不 难, 其 基 本 思 路 与 前 面 推 导 二 阶 方 法 的 第 二 种 方 法 相 同, W. C. Gear 的 名 著 Numerial initial Value Problems in Ordinary Differential Equations ( Englewood Cliffs, N. J. Prentie Hall, 1971) 给 出 了 一 般 龙 格 库 塔 方 法 的 推 导, 同 时 也 列 出 了 其 它 四 阶 龙 格 库 塔 方 法 的 形 式, 有 兴 趣 的 同 学 可 以 参 考. 上 面 给 出 了 用 四 阶 龙 格 库 塔 方 法 积 分 一 步 的 方 法, 我 们 当 然 可 以 利 用 这 一 方 法, 选 定 一 个 步 长 h, 从 初 绐 点 开 始 一 步 一 步 地 积 分 到 所 需 的 点. 那 么, 步 长 如 何 选 取 呢? 选 多 大 才 是 合 适 的, 是 否 每 一 步 都 选 相 同 的 步 长? 为 此, 我 们 需 要 一 个 判 定 精 度 的 方 法, 同 时, 直 观 告 诉 我 们, 在 函 数 变 化 剧 烈 的 地 方, 步 长 应 该 取 得 小 一 点 以 保 证 精 度, 而 在 函 数 变 化 平 缓 的 地 方, 步 长 可 以 取 的 大 一 点 以 减 小 计 算 量. 对 于 每 一 步, 判 定 步 长 是 否 合 适 的 一 个 简 单 的 方 法 就 是 把 步 长 减 半, 比 较 步 长 为 2h 的 一 步 的 积 分 结 果 和 步 长 为 h 的 两 步 的 计 算 结 果, 确 切 地 说, y(x + 2h) = y 1 + O(h 5 ) y(x + h + h) = y 2 + O(h 5 ) (2.91) 第 二 个 方 程 是 指 用 二 步 步 长 为 h 的 积 分 结 果. 二 者 之 差 y 2 y 1 (2.92) 显 然 可 以 作 为 误 差 的 一 个 合 适 的 量 度. 由 方 程 (2.91) 可 知, 正 比 于 h 5, 因 此, 如 果 步 长 为 h 1 时 的 误 差 为 1, 而 当 步 长 为 h 0 时 的 误 差 为 0, 则 显 然 应 有 1/5 0 h 0 = h 1 1 (2.93)
43 2.4 常 微 分 方 程 的 数 值 解 法 43 如 果 我 们 令 0 为 充 许 误 差, 则 方 程 (2.93) 可 以 用 以 调 整 步 长, 如 果 1 大 于 0, 则 h 0 可 作 为 新 的 步 长 重 新 计 算, 否 则, 如 果 1 小 于 0, 则 h 0 可 作 为 下 一 步 步 长 的 一 个 合 理 的 推 断. 下 面 考 虑 如 何 选 取 0, 你 可 以 把 它 取 为 某 个 小 的 数 字, 例 如, 10 6, 但 略 加 思 考 就 会 发 现 这 是 不 行 的, 理 由 如 下, 所 求 函 数 y 的 绝 对 值 可 以 很 大, 也 可 以 很 小, 因 此, 绝 对 精 度 是 没 有 意 义 的 ; 所 以, 我 们 可 以 考 虑 取 0 = ϵy, 而 ϵ 为 某 一 小 的 数 字 ; 但 另 一 方 面, 有 些 函 数 是 振 荡 的, 在 某 一 极 大 和 极 小 之 间, 并 且 经 常 穿 过 0 点, 对 于 这 类 问 题, 0 的 一 个 合 适 的 选 则 应 为 某 一 小 量 乘 以 y 的 极 大 值 的 绝 对 值 ; 为 了 照 顾 到 上 述 两 种 情 况, 我 们 可 以 取 其 中 0 = ϵ y sal (2.94) y sal = y + h dy dx 上 面 是 以 一 步 为 基 础 来 考 虑 的, 在 有 些 问 题 中, 我 们 可 能 要 求 解 满 足 某 种 全 局 的 精 度, 由 于 舍 入 误 差 的 积 累 ( 在 最 坏 的 情 况 下, 舍 入 误 差 全 部 相 加, 总 体 误 差 为 N 0 L h 0, 其 中 L 为 对 x 的 积 分 的 长 度 ), 当 h 缩 小 时, 0 也 要 相 应 的 缩 小, 以 保 证 总 的 舍 入 误 差 固 定, 即 选 取 ysal 正 比 于 h, 所 以 当 h 0 变 化 时, y sal 也 相 应 的 变 化, 从 而 方 程 (2.93) 中 的 指 数 成 为 1/4, 另 外, 我 们 只 考 虑 了 误 差 的 主 导 项, 高 阶 项 也 应 有 一 些 贡 献. 基 于 所 有 这 些 考 虑, 我 们 把 方 程 (2.93) 改 写 为 0 h 0 = Sh = Sh 1 1 1/5 1/ < 1 (2.95) 这 里 S 为 一 考 虑 了 高 阶 效 应 的 安 全 系 数, 指 数 的 选 择 从 最 安 全 出 发. 当 放 大 步 长 时, 用 小 指 数 1/5 ( 少 放 一 点 ); 当 缩 小 步 长 时, 用 大 指 数 1/4( 多 缩 一 些 ). 0 由 (2.94) 给 出. 为 了 简 洁 起 见, 这 里 以 一 个 方 程 为 基 础 给 出 了 四 阶 龙 格 库 塔 方 法, 但 不 难 把 它 们 推 广 到 多 个 方 程. 在 结 束 本 小 节 前, 我 们 指 出, 虽 然 这 里 讲 的 是 一 阶 常 微 分 方 程 组 的 解 法, 但 实 际 上 已 经 包 括 了 高 阶 常 微 分 方 程, 因 为 任 何 一 个 高 阶 常 微 分 方 程 均 可 化 为 一 组 等 价 的 一 阶 常 微 分 方 程 组, 如 果 有 同 学 对 这 一 表 述 还 不 清 楚, 那 么 请 立 即 复 习 高 等 数 学 的 有 关 内 容. 本 节 的 方 法 基 本 上 可 以 满 足 实 际 计 算 的 需 要. 但 在 实 际 工 作 中, 也 会 碰 到 一 些 特 殊 的 问 题, 比 较 重 要 的 一 类 问 题 是 所 谓 刚 性 微 分 方 程 求 解 问 题, 关 于 这 一 点, 请 参 看 W. C. Gear 的 著 作. 另 外 一 些 特 殊 问 题 将 在 后 面 结 合 具 体 物 理 问 题 进 行 处 理. 练 习 :
44 44 第 二 章 物 理 学 中 的 常 用 数 值 方 法 单 摆 的 方 程 为 ẍ + ω 2 sin x = 0 设 初 始 位 移 为 x = 0, 试 用 二 阶 龙 格 - 库 塔 方 法 对 不 同 的 初 始 速 度 求 解 此 方 程, 并 讨 论 所 得 结 果 两 点 边 值 问 题 所 谓 两 点 边 值 问 题 是 指 下 面 的 定 解 问 题 在 点 x 1, 有 边 界 条 件 dy i dx = g i(x; y 1, y 2,, y n ) i = 1, 2,, n (2.96) B 1j (x 1 ; y 1, y 2,, y n ) = 0, j = 1, 2,, n 1 (2.97) 在 点 x 2, 有 边 界 条 件 B 2j (x 2 ; y 1, y 2,, y n ) = 0, j = 1, 2,, n n 1 (2.98) 这 样 一 类 问 题 与 前 节 所 处 理 的 问 题 的 最 大 差 别 在 于 定 解 条 件 是 在 x 的 两 个 不 同 的 点 ( 端 点 ) 处 给 出 的, 而 前 节 的 定 解 条 件 是 在 一 个 点 给 出 的, 因 此, 前 节 的 问 题 称 为 初 值 问 题 而 本 节 将 要 解 决 的 问 题 称 为 两 点 边 值 问 题. 初 值 问 题 一 般 来 说 总 是 有 解 的, 但 边 值 问 题 的 解 有 时 并 不 存 在, 边 值 问 题 中 常 常 包 含 一 个 参 数, 只 有 对 参 数 的 某 些 值, 边 值 问 题 的 解 才 存 在, 这 类 问 题 称 为 微 分 方 程 的 本 征 值 问 题, 使 得 方 程 有 解 的 那 些 参 数 值 称 为 本 征 值. 边 值 问 题 有 各 种 不 同 的 解 法, 我 们 将 在 本 节 介 绍 打 靶 法. 并 通 过 一 个 具 体 算 例 给 出 处 理 边 值 问 题 的 一 些 技 巧 和 方 法. 在 后 面 的 章 节 中, 我 们 将 结 合 具 体 物 理 问 题, 再 回 到 本 节 的 问 题. 这 里 要 强 调 指 出 的 是, 由 于 边 值 问 题 的 特 殊 性, 试 图 像 初 值 问 题 那 样 给 出 通 用 程 序 是 几 乎 不 可 能 的, 在 实 际 工 作 中 应 根 据 具 体 的 物 理 问 题 设 计 合 适 的 方 法. 打 靶 法 的 基 本 思 路 是 从 x 1 点 出 发, 利 用 n 1 个 已 知 的 边 界 条 件 并 指 定 n 2 个 条 件, 积 分 到 x 2 点, 看 是 否 与 x 2 点 的 n 2 个 条 件 一 致, 若 否, 则 调 节 在 x 1 指 定 的 条 件 直 到 符 合 要 求 为 止. 现 在 我 们 给 出 仔 细 的 分 析, 令 V = [V 1, V 2,, V n2 ] T 为 一 n 2 维 空 间 的 矢 量, 它 给 出 了 x 1 点 的 n 2 个 指 定 的 条 件, 则 方 程 (2.97) 可 以 写 为 y i (x 1 ) = y i (x 1 ; V 1, V 2,, V n2 ) i = 1, 2,, n (2.99) 因 此, 给 定 V, 我 们 就 有 了 一 个 完 整 的 初 值 问 题, 利 用 前 节 的 方 法 在 区 间 [x 1, x 2 ] 之 间 积 分 方 程 (2.96), 便 可 得 到 一 组 y i (x 2 ; V 1, V 2,, V n2 ), 在 x 2, 定 义 一 个 n 2 维 的 偏 离 矢 量 F, F 的 取 法 并 不 唯 一, 可 视 方 便 而 定, 例 如 可 取 F k = B 2k (x 2 ; y 1, y 2,, y n ) k = 1, 2,, n 2 (2.100)
45 2.4 常 微 分 方 程 的 数 值 解 法 45 如 果 F = 0, 则 说 明 V 的 选 则 是 正 确 的. 因 此, 问 题 转 化 为 求 解 方 程 F = 0, 这 里 有 n 2 个 未 知 量 V k, n 2 个 方 程 F k = 0. 为 了 求 解 这 一 组 方 程, 我 们 假 定 V 与 真 实 的 解 相 差 不 大, 从 而 可 以 把 方 程 (2.100) 线 性 化, 即 令 n 2 F k (V δv ) = A kj δv j (2.101) j=1 这 里 A kj = F k V j (2.102) 由 方 程 (2.101) 求 出 δv j, 并 令 新 的 V 为 V new k = V old k + δv k (2.103) 通 过 反 复 迭 代, 最 终 得 到 结 果. 现 在, 让 我 们 回 到 (2.102), 由 于 F k 是 由 数 值 给 出 的, 因 此 A kj 的 计 算 也 只 能 是 数 值 的, 最 简 单 的 方 法 是 令 F k V j F k(v 1, V 2,, V j + δv j, ) F k (V 1, V 2,, V j, ) δv j (2.104) 这 样, 每 完 成 一 次 迭 代 需 要 求 解 n 次 初 值 问 题, 一 次 计 算 F k (V 1, V 2,, V n2 ), n 2 次 计 算 偏 导 数, 显 然, 与 初 值 问 题 相 比, 边 值 问 题 的 计 算 量 是 相 当 大 的. V 的 初 始 叠 代 值 的 选 择 是 一 个 困 难 的 问 题, 如 果 选 择 的 不 好, 则 可 导 致 计 算 的 失 败, 通 常 应 根 据 对 被 求 解 问 题 的 了 解 程 度 尽 量 选 择 接 近 其 解 的 量 作 为 初 始 叠 代 值. 在 后 面 的 例 子 中, 将 给 出 一 个 针 对 具 体 问 题 的 选 法. 为 了 帮 助 理 解 打 靶 法 的 应 用, 这 里 给 出 一 个 例 子, 即 旋 转 椭 球 谐 振 子. 当 在 旋 转 椭 球 坐 标 系 中 对 某 些 偏 微 分 方 程 如 Laplae 方 程 分 离 变 量 时, 将 会 导 致 下 面 的 方 程 [ d (1 x 2 ) ds ] ) + (λ 2 x 2 m2 S = 0 (2.105) dx dx 1 x 2 这 里 m 为 一 整 数. 这 是 一 个 Sturm Liouville 本 征 值 问 题, λ 是 方 程 的 本 征 值. 方 程 在 x = ±1 具 有 奇 点, 从 Sturm Liouville 本 征 值 问 题 的 一 般 理 论 可 知 ( 参 见 梁 昆 淼, 数 学 物 理 方 法, 如 果 我 们 寻 求 在 x = ±1 为 正 则 的 解, 则 只 有 对 λ 的 某 些 特 殊 值 才 有 可 能, 这 些 特 殊 值 称 为 本 征 值, 且 所 有 的 本 征 值 均 大 于 0. 当 = 0 时, 方 程 化 为 球 谐 振 子 的 方 程, 其 解 为 P m n (x), 本 征 值 为 λ mn = n(n + 1), n = m, m + 1,, 当 0 时, 我 们 记 (2.105) 的 本 征 值 为 λ mn (), 对 应 的 本 征 函 数 记 为 S mn (x). λ mn () 和 S mn (x) 的 计 算 曾 经 是 非 常 困 难 的 问 题, 其 十 分 复 杂 的 级 数 解, 递 推 关 系 等 可 在 一 些 非 常 专 门 的 书 籍 中 查 到. ( 例 如, 可 参 看 M. Abramowitz and I Stegun Handbook of Mathematial Funtions (Dover
46 46 第 二 章 物 理 学 中 的 常 用 数 值 方 法 Publiations, New York, 1968) ) 其 数 值 解 相 对 来 说 要 容 易 得 多. 首 先, 我 们 作 代 换 ( 从 天 上 掉 下 来 的?, 请 复 习 数 学 物 理 方 法 中 常 微 分 方 程 的 有 关 内 容.) S = (1 x 2 ) m/2 y 则 原 方 程 化 为 (1 x 2 ) d2 y 2(m + 1)xdy dx2 dx + (µ 2 x 2 )y = 0 (2.106) 这 里 µ λ m(m + 1) (2.107) 方 程 (2.104) 和 (2.106) 均 在 代 换 x x 下 不 变, 因 此 S 及 y 除 了 一 个 常 数 因 子 外 也 应 在 同 一 变 换 下 不 变, 由 于 解 最 终 将 归 一 化, 因 此 这 一 常 数 因 子 只 能 是 ±1. 方 程 (2.106) 也 是 一 个 Sturm Liouville 方 程, 其 本 征 值 µ 0, 参 照 球 谐 振 子 的 结 果, 如 果 令 λ mn = α mn + n(n + 1), 且 要 求 α mn 0, 则 由 (2.107) 可 知 n m, n = m 对 应 于 最 低 本 征 值. 利 用 Sturm Liouville 方 程 的 从 小 到 大 排 列 的 本 征 值 与 其 对 应 的 本 征 函 数 的 零 点 的 定 理 可 知, 当 n m 为 偶 数 时, y mn 在 [ 1, 1] 之 间 有 偶 数 个 零 点, 所 以 我 们 取 y(x) = y( x), 否 则, 取 y(x) = y( x), 于 是 y mn ( x) = ( 1) n m y mn (x) (2.108) 在 x 1 时, 可 以 解 得 在 原 点, 我 们 有 y ( 1) = µ 2 y( 1) (2.109) 2(m + 1) y(0) = 0, n m 为 奇 数 y (0) = 0, n m 为 偶 数 (2.110) 最 后, 我 们 令 S mn 在 x 1 时 与 P m n 一 化 条 件 ) 有 相 同 的 极 限 行 为. ( 这 相 当 于 选 则 一 个 特 定 的 归 lim (1 x 1 x2 ) m/2 S mn (x; ) = lim (1 x 1 x2 ) m/2 Pn m (x) (2.111) 现 在, 令 y 1 = y y 2 = y y 3 = µ (2.112)
47 2.5 插 值 和 逼 近 47 这 样, 方 程 (2.106) 变 为 y 1 = y 2 y 2 = 1 [ ] 2x(m + 1)y2 (y 1 x x 2 )y 1 y 3 = 0 (2.113) 我 们 选 择 区 间 [ 1, 0] 来 求 解 ( 为 什 么 不 选 [0, 1]?), 边 界 条 件 为, 在 x = 1, 有 y 2 = y 3 2 2(m + 1) y 1 y 1 = lim x 1 (1 x2 ) m/2 P m n (x) = ( 1)m (n + m)! 2 m m!(n m)! (2.114) 在 x = 0, 有 : y 1 = 0, n m 为 奇 数 y 2 = 0, n m 为 偶 数 (2.115) 在 这 一 问 题 中, 未 知 量 是 本 征 值 µ mn, 为 了 给 出 一 个 好 的 初 值, 我 们 注 意 到 在 方 程 (2.106) 中, 如 果 把 µ 2 x 2 作 为 本 征 值 看 待, 则 为 球 谐 振 子 方 程, 其 本 征 值 已 知 为 n(n + 1) m(m + 1), 因 为 0 x 2 1, 因 此, 把 x 2 代 之 以 1 2 得 到 的 结 果 应 是 原 问 题 的 一 个 良 好 的 近 似, 为 此, µ mn 的 初 始 叠 代 值 可 选 为 n(n + 1) m(m + 1) 在 这 个 例 子 中, 我 们 不 仅 示 范 了 打 靶 法 的 使 用, 同 时 也 示 范 了 如 何 把 高 阶 方 程 化 为 一 阶 方 程 以 及 如 何 处 理 本 征 值 问 题, 请 同 学 仔 细 体 会, 掌 握 这 一 方 法 并 应 用 于 解 决 实 际 问 题. 练 习 : 对 于 方 程 y + 1 x y + ky = 0 在 边 界 条 件 y(0) 有 限, y(1) = 0 下 计 算 本 征 值 k. 提 示, 为 了 得 到 k 的 叠 代 初 值, 考 虑 k 很 大 时, 方 程 成 为 y + ky = 0, 其 解 为 y os( kx + δ), 若 令 δ = 0 (δ 应 在 区 间 [0, π 2 ] 内 ), 则 k = (n )2 π 插 值 和 逼 近 给 定 一 个 列 表 函 数, (x 1, f(x 1 )), (x 2, f(x 2 )),, (x n, f(x n )), 要 求 寻 找 一 个 函 数 ϕ(x) 来 近 似 代 替 f(x), 使 得 在 (x 1, x 2,, x n ), f(x i ) = ϕ(x i ), 而 对 于 其 它 的 x, ϕ(x) 是 f(x) 的 一 个 很 好 的 近 似. 这 样 的 问 题 就 称 为 插 值 问 题. 如 果 读 者 稍 为 细 心 一 点, 就 会 发 现 我 们 的
48 48 第 二 章 物 理 学 中 的 常 用 数 值 方 法 最 后 一 个 要 求 是 有 问 题 的, 因 为 我 们 仅 仅 知 道 f(x) 在 一 些 分 立 点 x i 上 的 值, 事 先 并 不 知 道 f(x) 在 这 些 点 以 外 如 何 变 化, 因 此 除 了 要 求 ϕ(x) 在 诸 x i 点 上 与 f(x) 相 等 外, 无 法 提 出 更 多 的 要 求. 然 而, 在 物 理 上 和 数 学 上, 假 如 我 们 认 为 一 组 分 立 点 的 数 值 大 致 决 定 了 f(x), 这 就 隐 含 着 我 们 假 定 了 f(x) 在 任 何 两 个 给 定 点 之 间 是 光 滑 变 化 的. 因 此, 我 们 的 目 的 实 际 上 是 寻 找 一 条 光 滑 地 通 过 n 个 给 定 点 (x 1, f(x 1 )), (x 2, f(x 2 )),, (x n, f(x n )) 的 一 条 曲 线 多 项 式 插 值 通 过 两 点 可 以 唯 一 地 作 一 条 直 线, 通 过 三 点 可 以 唯 一 地 作 一 条 抛 物 线,. 通 过 n 个 数 据 点 (x 1, y 1 ), (x 2, y 2 ),, (x n, y n ) 可 以 唯 一 地 决 定 一 个 n 1 阶 的 多 项 式 P n (x), 这 一 多 项 式 就 称 为 y = f(x) 的 插 值 多 项 式. 它 由 著 名 的 Lagrange 公 式 给 出. P (x) = (x x 2 )(x x 3 ) (x x n ) (x 1 x 2 )(x 1 x 3 ) (x 1 x n ) y 1 + (x x 1)(x x 3 ) (x x n ) (x 2 x 1 )(x 2 x 3 ) (x 2 x n ) y 2 + (x x 1 )(x x 2 ) (x x n 1 ) (x n x 1 )(x n x 2 ) (x n x n 1 ) y n (2.116) 它 共 有 n 项, 每 一 项 为 一 n 1 次 多 项 式, 且 第 i 项 除 在 点 x i 为 y i = f(x i ) 外, 在 其 余 诸 x j 处 均 为 0. 直 接 对 (2.116) 编 写 程 序 虽 然 不 是 一 个 很 好 的 算 法, 但 也 是 完 全 可 行 的. 读 者 可 作 为 一 个 编 程 练 习 来 写 出 计 算 程 序. 我 们 在 这 里 将 介 绍 一 个 更 好 的 算 法, Neville 算 法, 这 一 算 法 的 基 本 思 想 是 从 一 个 低 次 多 项 式 出 发, 逐 次 用 递 推 方 式 加 高 并 最 终 得 到 结 果. 下 面 给 出 这 一 算 法 的 一 个 简 短 的 说 明. 对 于 给 定 的 x, 令 P 0 11 是 通 过 (x 1, y 1 ) 点 的 唯 一 的 0 次 多 项 式, 即 P 0 11 = y 1, ( 同 样 定 义 P 0 22, P 0 33, P 0 nn); 定 义 P 1 12 为 通 过 (x 1, y 1 ), (x 2, y 2 ) 的 唯 一 一 次 多 项 式. 同 理 有 P 1 23, P 1 34, P 1 n 1,n;, 定 义 Pi,i+m m 为 通 过 (x i, y i ), (x i+1, y i+1 ), (x i+m, y i+m ) 的 m 次 多 项 式, 则 P1n n 1 即 为 通 过 (x 1, y 1 ), (x 2, y 2 ),, (x n, y n ) 的 唯 一 n 1 次 多 项 式, 即 为 (2.116) 的 等 价 形 式. 所 有 这 些 P 可 以 排 成 一 个 表, 其 祖 代 排 在 左 边, 子 代 在 右 边 并 最 终 导 致 唯 一 的 后 代 即 为 我
49 2.5 插 值 和 逼 近 49 们 的 解. 如 下 式 所 示 ( 以 n = 5 为 例 ): x 1 : y 1 = P 0 11 P 1 12 x 2 : y 2 = P 0 22 P 2 13 P 1 23 P 3 14 x 3 : y 3 = P 0 33 P 2 24 P 4 15 (2.117) P34 1 P25 3 x 4 : y 4 = P44 0 P35 2 x 5 : y 5 = P55 0 子 代 与 父 代 之 间 满 足 如 下 递 推 关 系 : P m P 1 45 i,i+m = (x x i+m)p m 1 i,i+m 1 + (x i x)p m 1 i+1,i+m (2.118) x i x i+m 练 习 证 明 上 述 递 推 关 系 直 接 用 (2.118) 计 算 是 完 全 可 行 的, 但 还 可 进 一 步 改 进, 一 种 改 进 的 方 法 是 在 计 算 中 做 小 量 子 代 和 父 代 之 差 的 迭 代. 即 定 义 C mi P m i,i+m P m 1 i,i+m 1 从 (2.118) 可 容 易 推 出 C mi 和 D mi 所 满 足 的 递 推 关 系 为 : D mi P m i,i+m P m 1 i+1,i+m (2.119) D m+1,i = (x i+m+1 x)(c m,i+1 D mi ) x i x i+m+1 C m+1,i = (x i x)(c m,i+1 D mi ) x i x i+m+1 (2.120) 在 每 一 次 递 推 中, C 和 D 是 对 插 值 的 更 高 一 次 的 修 正, 最 后 的 结 果 P n 1 1n 一 系 列 从 y i 出 发 而 最 终 到 达 家 族 终 点 的 任 一 路 径 上 的 C 及 D. 是 任 一 y i 加 上 分 式 有 理 函 数 插 值 和 外 推 有 些 函 数 ( 大 部 分 函 数?) 不 能 很 好 地 用 多 项 式 来 近 似, 我 们 在 后 面 要 举 一 个 著 名 的 例 子, 但 大 部 分 函 数 都 能 用 分 式 有 理 函 数 来 近 似, 这 里 边 有 一 些 深 入 的 数 学 原 理, 有 兴 趣 的 同 学 可 以 研 读 有 关 的 数 学 书 籍.
50 50 第 二 章 物 理 学 中 的 常 用 数 值 方 法 一 个 通 过 m + 1 个 点 (x 0, y 0 ), (x 1, y 1 ),, (x m, y m ) 的 分 式 有 理 函 数 可 记 为 R µ,ν (x) = P µ(x) Q ν (x) = p 0 + p 1 x + + p µ x µ 1 + q 1 x + + q ν x ν (2.121) 由 于 有 µ + ν + 1 个 末 知 参 数 p 及 q, 因 此, 必 有 m + 1 = µ + ν + 1. 在 做 分 式 有 理 函 数 插 值 时, 还 需 要 给 定 分 子 或 分 母 的 阶. 方 程 (2.121) 两 边 乘 以 Q ν (x), 分 别 代 入 逐 插 值 点, 得 到 一 组 线 性 代 数 方 程 组, 可 由 此 解 得 p i 和 q i, 得 到 有 理 插 值 函 数. 类 似 于 多 项 式 插 值, 我 们 也 可 以 构 造 一 个 递 推 算 法, 这 一 算 法 称 为 Bulirsh Stoer 算 法. 这 里 不 予 介 绍, 有 兴 趣 的 同 学 可 参 看 (J. Stoer, R. Bulirsh, Introdution to Numerial Analysys, Springer-Verlag, 1992, Chapter 2) 三 次 样 条 插 值 三 次 样 条 插 值 是 目 前 应 用 最 广 泛 的 一 种 方 法, 它 可 以 保 持 插 值 函 数 具 有 二 次 连 续 导 数, 而 且 不 会 出 现 多 项 式 插 值 中 的 一 些 问 题. 三 次 样 条 插 值 问 题 可 以 表 述 如 下, 对 于 给 定 的 n 个 点 (x 1, y 1 ), (x 2, y 2 ),, (x n, y n ), 寻 找 一 个 分 段 三 次 多 项 式 S(x) = S 1 (x) (x 1 x x 2 ) S 2 (x) (x 2 x x 3 ) S n 1 (x) (x n 1 x x n ) (2.122) 其 中, S i (x) 为 一 定 义 在 区 间 [x i, x i+1 ] 上 的 三 次 多 项 式 并 要 求 S(x) 在 诸 插 值 点 上 的 一 阶 及 二 阶 导 数 连 续. 我 们 先 来 分 析 这 一 插 值 问 题 的 解 是 否 存 在, 由 于 决 定 每 个 三 次 多 项 式 需 要 4 个 条 件, 所 以 总 共 需 要 4(n 1) 个 条 件, 由 每 个 多 项 式 都 要 通 过 两 个 端 点, 给 出 2(n 1) 个 条 件, 一 阶 导 数 和 二 阶 导 数 连 续 给 出 2(n 2) 个 条 件, 这 样, 我 们 总 共 有 4(n 1) 2 个 条 件. 因 此, 为 了 确 定 插 值 问 题, 还 需 要 补 充 二 个 条 件, 由 这 两 个 条 件 的 不 同, 又 有 几 种 不 同 的 三 次 样 条 插 值 方 法, 这 里 我 们 将 介 绍 二 种, 一 种 是 再 给 定 两 个 端 点 x 1, x n 的 一 阶 导 数 值 y 1, y n, 另 一 种 是 令 两 个 端 点 上 的 二 阶 导 数 为 0, 即 令 y 1 = y n = 0. 现 在 来 求 解 这 一 问 题, 由 于 二 阶 导 数 连 续, 所 以 y i, i = 2, 3,, n 1 是 存 在 的, 在 任 一 子 区 间 [x i, x i+1 ], 有 S i (x) = x x i x i+1 x i y i+1 + x i+1 x x i+1 x i y i (2.123)
51 2.5 插 值 和 逼 近 51 对 上 式 积 分 二 次, 得 到 S i (x) = 1 (x i+1 x) 3 y i x i+1 x i 6 (x x i ) 3 y x i+1 x i + (y i y i+1 (x i+1 x i ) 2 ) x x i x i+1 x i + (y i 1 6 y i (x i+1 x i ) 2 ) x i+1 x (2.124) x i+1 x i 上 式 包 含 n 个 未 知 量 y i, i = 1, 2, 3,, n, 为 了 决 定 这 些 未 知 量, 对 上 式 微 分 一 次, 得 到 S i(x) = 1 (x i+1 x) 2 y i + 1 ((x x i ) 2 y i+1 2 x i+1 x i 2 x i+1 x i + (y i y i+1 (x i+1 x i ) 2 1 ) x i+1 x i (y i 1 6 y i (x i+1 x i ) 2 1 ) (2.125) x i+1 x i 由 S i(x) 的 连 续 性 条 件, 可 得 n 2 个 方 程 如 下 ( 对 i = 2, 3,, n 1) x i x i 1 y i 1 + x i+1 x i y i+1 j + x i+1 x i y i+1 = y i+1 y i y i y i 1 (2.126) 6 x i+1 x i x i x i 1 如 前 所 述, 我 们 还 需 要 2 个 补 充 条 件 以 决 定 n 个 未 知 量 y i, 其 选 择 方 法 是, 如 果 给 定 端 点 的 一 阶 导 数, 则 把 y 1 和 y n 代 入 方 程 (2.125) 可 得 到 两 个 关 于 y 的 方 程, 与 (2.126) 一 起 构 成 一 个 完 整 的 线 性 代 数 方 程 组 ; 如 果 给 定 端 点 的 二 阶 导 数 为 0, 则 (2.126) 足 以 决 定 n 2 个 未 知 量. 一 旦 求 得 了 诸 y i, 则 对 给 定 的 x, 可 利 用 (2.124) 计 算 其 对 应 的 y 值. 下 面 我 们 看 一 个 例 子, 考 虑 下 面 的 函 数 y = x 2 (2.127) 我 们 在 [ 1, 1] 之 间 取 11 个 点, 分 别 用 多 项 式, 分 式 有 理 函 数 和 三 次 样 条 函 数 进 行 插 值, 计 算 结 果 见 图 (7.1), 其 中 实 线 为 原 函 数, 点 线 为 多 项 式 插 值 的 结 果, 除 了 在 插 值 点 外, 与 原 函 数 的 差 别 是 相 当 大 的, 点 虚 线 和 虚 线 分 别 为 分 式 有 理 函 数 和 三 次 样 条 插 值 的 结 果, 在 图 上 几 乎 完 全 与 准 确 值 重 合 列 表 函 数 的 积 分 在 物 理 上, 经 常 会 遇 到 计 算 列 表 函 数 的 积 分. 实 验 测 量 的 结 果 总 是 在 一 些 分 立 点 上, 大 型 数 值 计 算 的 结 果 也 只 能 是 一 些 分 立 值. 样 条 插 值 方 法 可 以 用 来 计 算 此 类 积 分. 对 于 列 表 函 数, 可 首 先 建 立 其 样 条 插 值, 求 出 由 式 (2.122) 所 指 定 的 函 数 S(x), 由 于 诸 S i (x) 都 是 三 次 多 项 式, 其 积 分 可 解 析 求 出, 把 每 一 分 段 上 的 积 分 值 加 起 来 就 得 到 最 终 结 果.
52 52 第 二 章 物 理 学 中 的 常 用 数 值 方 法 图 2.2: 多 项 式, 分 式 有 理 函 数 和 三 次 样 条 函 数 插 值 的 比 较 练 习 分 别 对 于 端 点 和 内 点 计 算 (2.124) 的 积 分, 并 最 终 给 出 样 条 插 值 方 法 计 算 列 表 函 数 的 算 法 和 程 序 练 习 对 于 函 数 f(x) = x os x 1 + x 3 2 (i), 用 辛 普 生 方 法 计 算 f(x)dx 1.5 (ii), 在 区 间 [1, 2] 上 分 50 个 子 区 间, 计 算 f(x i ) 的 值, 利 用 这 些 数 值 并 用 样 条 函 数 方 法 ( 见 上 题 ) 计 算 上 述 程 分, 比 较 所 得 结 果 Padé 插 值 与 外 推 在 理 论 物 理 中, 微 扰 方 法 是 进 行 实 际 计 算 的 最 重 要 的 方 法 之 一 ( 在 力 学 界 称 为 摄 动 方 法 ), 粗 略 地 讲, 微 扰 方 法 就 是 在 计 算 某 一 物 理 量 时, 利 用 这 一 物 理 问 题 中 的 某 个 小 参 量 作 级 数 展 开, 例 如 量 子 力 学 中 的 微 扰 论, 弹 性 力 学 及 天 体 力 学 中 的 摄 动 理 论, 相 变 理 论 中 的 高 温 展 开 和 低 温 展 开 等 都 是 典 型 的 例 子. 但 是, 级 数 展 开 毕 竟 是 级 数 展 开, 它 只 在 展 开 参 量 很 小 时 有 效 ( 如 果 级 数 不 收 敛, 甚 至 在 参 数 很 小 时 也 是 有 问 题 的 ), 但 另 一 方 面, 在 物 理 问 题 中, 小 参 量 有 时 并 不 小, 其 选 取 有 时 ( 在 大 多 数 情 况 下 ) 纯 粹 是 为 了 计 算 方 便, 那 么, 有 没 有 可 能 从 这 样 一 个 级 数 出 发, 得 到 对 参 数 的 从 小 到 大 的 所 有 值 都 有 意 义 的 结 果 呢?
53 2.5 插 值 和 逼 近 53 这 似 乎 是 一 个 失 去 理 智 的 要 求. 然 而, 这 个 问 题 的 回 答 是 肯 定 的 ( 如 果 没 有 一 批 似 乎 是 失 去 理 智 的 人 的 开 创 性 工 作, 也 就 不 会 有 今 天 科 学 的 高 度 进 步 ). 对 于 一 个 函 数 f(x), 假 定 我 们 知 道 它 的 幂 级 数 为 f(x) = x + 2 x x 3 + (2.128) 这 一 幂 级 数 所 反 映 的, 当 然 只 是 f(x) 在 原 点 的 局 部 性 质, 如 果 用 它 来 计 算 函 数 在 原 点 附 近 的 值, 在 上 面 的 幂 级 数 收 敛 的 前 提 下, 一 般 取 前 几 项 就 可 得 到 较 好 的 结 果. 倘 若 要 求 x 较 大 时 的 值 或 (2.128) 不 收 敛, 则 这 一 级 数 对 于 计 算 是 没 有 什 么 用 处 的. Padé 逼 近 就 是 针 对 这 样 一 个 没 有 用 处 的 形 式 级 数 ( 并 不 要 求 收 敛 ), 从 中 得 到 函 数 f(x) 的 性 质, 并 想 法 计 算 任 一 x 下 f(x) 的 值. 之 所 以 能 够 做 到 这 一 点 是 因 为 一 个 形 式 的 幂 级 数 已 经 包 含 了 关 于 函 数 f(x) 的 很 多 信 息. 对 于 一 个 确 定 的 函 数 来 说, 函 数 的 各 点 之 间 应 该 具 有 某 种 联 系, 也 就 是 说, 函 数 在 一 点 的 行 为 是 与 其 整 体 形 为 有 关 的, 这 就 是 Padé 逼 近 可 以 成 功 的 基 础. 函 数 的 一 点 与 整 体 的 关 系 问 题 是 一 个 很 深 奥 的 问 题, 我 们 不 打 算 ( 也 不 可 能 ) 在 此 给 出 详 细 的 解 释, 但 需 要 强 调 指 出 的 是, Padé 逼 近 虽 然 最 旱 是 由 数 学 家 提 出 的, 但 其 理 论 的 发 展 和 广 泛 的 应 用 则 是 由 物 理 学 家 完 成 的. Padé 逼 近 的 定 义 是, 对 于 由 (2.128) 定 义 的 函 数, 寻 找 一 个 分 式 有 理 函 数 R m,n (x) = P (x)/q(x) (2.129) 其 中 P (x) 为 一 m 次 多 项 式, Q(x) 为 一 n 次 多 项 式 且 Q(0) = 1, 使 得 f(x) P (x)/q(x) = O(x m+n+1 ) (2.130) 即 R m,n (x) 的 泰 勒 展 开 的 前 m + n + 1 项 ( 包 括 常 数 项 ) 与 f(x) 的 泰 勒 展 开 是 一 样 的. 这 样 的 分 式 有 理 函 数 就 称 为 f(x) 的 一 个 Padé 逼 近, 简 记 为 [m/n]. 需 要 注 意 的 是, 这 样 定 义 的 padé 逼 近 并 不 总 是 存 在 的. Padé 逼 近 有 很 多 十 分 有 趣 的 性 质, 有 兴 趣 的 同 学 可 以 参 看 由 著 名 理 论 物 理 学 家 G. A. Baker Jr. 所 写 的 The essentials of Padé approximations (Aademi Press, New York, 1975) 一 书. 对 于 一 个 函 数 f(x), 其 Padé 逼 近 [m/n] 可 以 排 成 一 个 表, 称 为 Padé 表, 如 下 式 所 示. m\ n [0/0] [0/1] [0/2] [0/3] [0/4] [0/5] 1 [1/0] [1/1] [1/2] [1/3] [1/4] [1/5] 2 [2/0] [2/1] [2/2] [2/3] [2/4] [2/5] 3 [3/0] [3/1] [3/2] [3/3] [3/4] [3/5] 4 [4/0] [4/1] [4/2] [4/3] [4/4] [4/5] 5 [5/0] [5/1] [5/2] [5/3] [5/4] [5/5]
54 54 第 二 章 物 理 学 中 的 常 用 数 值 方 法 素 : Padé 表 有 很 多 有 趣 的 性 质, 其 中 之 一 是 Wynn 恒 等 式, 对 于 Padé 表 上 相 邻 的 五 个 元 N W C E S 有 1 E C + 1 W C = 1 N C + 1 S C (2.131) 下 面 我 们 讲 述 计 算 Padé 表 的 方 法, 如 果 我 们 的 目 的 是 求 出 Padé 表 的 数 值, 则 可 使 用 ε 算 法, 如 果 已 知 这 一 算 法 首 先 定 义 一 组 ε j 0 = f(x) = i x i i=0 j i x i j = 0, 1, 2, i=0 ε j 1 = 0 j = 0, 1, 2, 3, ε k 1 2k = 0 k = 0, 1, 2, 3, 则 可 以 建 立 下 面 的 ε 表 ε 1 0 ε 2 2 ε 3 4 ε 0 1 ε 0 0 ε 1 1 ε 2 3 ε 3 5 ε 1 2 ε 2 4 ε 1 1 ε 0 1 ε 1 3 ε 2 5 ε 1 0 ε 0 2 ε 1 4 ε 2 1 ε 1 1 ε 0 3 ε 1 5 ε 2 0 ε 1 2 ε 0 4 ε 3 1 ε 2 1 ε 1 3 ε 其 中 诸 ε 之 间 满 足 如 下 的 递 推 关 系..... ε j k+1 = εj+1 k ε j+1 k ε j k (j, k = 0, 1, 2, ) (2.132) 因 此, 从 ε 表 的 第 一 行 及 第 一, 二 两 列 出 发, 便 可 得 到 表 中 的 所 有 元 素. 可 以 证 明, ε 表 与 Padé 表 之 间 有 下 述 关 系 : ε j 2k 因 此, 一 旦 求 得 了 ε 表, 也 就 得 到 了 Padé 表. = [(k + j)/k] (2.133)
55 2.5 插 值 和 逼 近 55 在 (2.132) 中, 如 果 第 二 项 的 分 母 变 为 零 ( 在 机 器 精 度 内 ), 则 计 算 将 无 法 进 行 下 去, 通 常 计 算 机 将 报 告 一 个 除 以 零 (Divide by Zero) 错 误, 这 一 般 是 由 于 在 计 算 中 所 取 项 数 较 多, 原 级 数 已 经 收 敛. 在 此 情 况 下, 可 少 取 几 项 进 行 计 算, 并 不 断 增 加 项 数 比 较 所 得 结 果. 也 可 以 用 下 面 将 要 介 绍 的 方 法 求 出 Padé 逼 近 的 系 数, 用 其 解 析 式 进 行 计 算. 练 习 对 较 小 的 k, j, 验 证 式 (2.133), 并 进 而 证 明 它. ( 提 示 : 用 归 纳 法 ) 练 习 1, 编 写 利 用 ε 表 计 算 padé 逼 近 的 程 序, 利 用 ln(1 + x) = x x2 2 + x3 3 x4 4 +, 用 padé 逼 近 方 法 计 算 ln(5) 的 值 并 与 准 确 值 比 较 2, 考 虑 π 的 一 个 著 名 的 慢 收 敛 级 数, 用 Padé 近 似 计 算 π 的 数 值. 3, 考 虑 积 分 π = = ( 1) k 4 2k + 1 I(x) = 试 证 明 此 积 分 可 写 为 下 面 的 形 式 级 数 0 k=0 e t 1 + xt dt I(x) = 1 1!x + 2!x 2 3!x 3 + 4!x 4 5!x 5 + 从 这 一 发 散 级 数 出 发, 利 用 Padé 近 似 计 算 I(1), (I(1) 的 准 确 值 可 用 数 值 积 分 方 法 求 出 为 ) 4, 对 于 x = 0.5, 利 用 e x 的 幂 级 数 展 开 式, 从 小 到 大 改 变 所 取 级 数 的 项 数 N 并 用 前 面 的 程 序 计 算 其 Padé 逼 近, 观 察 所 得 结 果 并 与 准 确 值 比 较. 当 N 较 大 时 会 发 生 什 么 情 况? 在 很 多 问 题 中, 我 们 并 不 仅 仅 需 要 Padé 逼 近 的 数 值, 而 且 需 要 知 道 Padé 逼 近 的 解 析 形 式, 即 多 项 式 P (x) 和 Q(x) 的 系 数. 为 此, 考 虑 方 程 (2.130), 记 f(x) = x + 2 x x m+n x m+n + O(x m+n+1 ) P (x) = a 0 + a 1 x + a 2 x 2 + a 3 x a m x m Q(x) = 1 + b 1 x + b 2 x 2 + b 3 x b n x n (2.134) 这 里, i, i = 0, 1, 2,, m + n 已 知, 我 们 的 目 的 是 求 a i, i = 0, 1, 2,, m 和 b i, i = 1, 2,, n 使 得 方 程 (2.130) 满 足. 可 以 证 明, 如 果 函 数 f(x) 的 Padé 逼 近 存 在, 则 必 定 是
56 56 第 二 章 物 理 学 中 的 常 用 数 值 方 法 唯 一 的. 因 此, 一 旦 求 得 了 a i 及 b i, 则 P (x)/q(x) 就 是 f(x) 的 [m/n] Padé 逼 近. 为 了 计 算 系 数 a i 及 b i, 把 方 程 (2.130) 改 写 为 f(x)q(x) P (x) = O(x m+n+1 ) (2.135) 把 (2.134) 代 入 (2.135), 比 较 方 程 两 边 x 同 次 幂 的 系 数, 可 以 得 到 下 面 的 两 组 线 性 代 数 方 程. a a b 1 = a m m m 1 m 2 m n b n m m 1 m n+1 b 1 m+1 m m n+2 b 2 =..... m+n 1 m+n 2 m b n m+1 m+2 m+n (2.136) (2.137) 在 上 面 的 方 程 及 后 面 的 讨 论 中, 我 们 规 定, 当 j < 0 时, j = 0. 如 果 方 程 (2.137) 的 解 存 在, 我 们 可 利 用 下 一 章 将 要 介 绍 的 求 解 线 性 代 数 方 程 组 的 方 法 求 得 b i, 再 代 入 (2.136) 求 出 a i, 从 而 得 到 了 Padé 逼 近 的 解. 顺 便 指 出, 同 ε 算 法 一 样, 也 有 一 些 高 效 率 的 迭 代 算 法, 鉴 于 物 理 上 感 兴 趣 的 问 题 中 最 困 难 的 部 分 在 于 求 出 f(x) 的 形 式 级 数, 而 Padé 逼 近 的 计 算 在 总 的 计 算 中 所 占 机 时 完 全 可 以 忽 略 不 计, 因 此 我 们 不 再 做 进 一 步 的 介 绍 发 散 级 数 的 Cesáro 求 和 及 其 推 广 除 了 前 述 Padé 逼 近, 在 物 理 上 还 常 用 另 外 一 种 计 算 发 散 级 数 的 方 法, Cesáro 求 和 方 法 及 其 推 广. 我 们 先 看 几 个 经 典 的 例 子. 考 虑 如 下 求 和 S = (2.138) 按 照 通 常 级 数 收 敛 的 判 据, 这 是 一 个 发 散 级 数. 另 一 方 面, 它 是 下 面 的 展 开 式 中 x = 1 的 情 形 x = 1 x + x2 x 3 + x 4 x 5 + (2.139) 上 式 左 边 对 任 何 x 1 都 有 意 义, 当 x = 1 时, 为 1/2. 现 在 我 们 试 图 从 (2.138) 得 到 这 个 结 果. 注 意 到 (2.138) 的 结 构, 我 们 有 S = = 1 S
57 2.5 插 值 和 逼 近 57 于 是 可 得 到 S = 1/2. 进 一 步 考 虑 S = = 1 2S 由 此 得 到 S = 1/3, 与 (2.139) 左 边 的 结 果 相 同. 这 里, 我 们 实 际 上 利 用 了 所 给 级 数 是 一 个 函 数 的 形 式 展 开 级 数 取 特 定 值 这 样 一 个 事 实, 一 般 这 样 一 种 方 法 在 应 用 时 要 十 分 小 心, 如 果 所 给 级 数 并 不 是 某 一 函 数 的 形 式 展 开, 那 么 上 述 处 理 可 能 给 出 错 误 的 结 果. 一 般 来 说, 如 果 我 们 要 计 算 s = a 0 + a 1 + a 2 + (2.140) 记 部 分 和 为 则 s n = a 0 + a 1 + a a n 1 + a n (2.141) s = lim n s n (2.142) 另 一 方 面, 对 任 何 收 敛 级 数, 其 部 分 和 的 平 均 值 当 n 时 收 敛 于 原 级 数 的 和 s. 因 此 我 们 可 以 用 下 述 Cesáro 变 换 计 算 级 数 和. s 0 + s 1 + s s n s = lim n n + 1 (2.143) 对 于 一 个 不 收 敛 的 级 数, 若 上 式 极 限 存 在, 则 称 级 数 可 Cesáro 求 和 并 把 s 作 为 级 数 的 和. 对 于 部 分 和 为 1, 0, 1, 0, 1, 0, 其 Cesáro 和 为 s = 1. 又 对 于 部 分 和 为 1, 1, 2, 2, 3, 3,
58 58 第 二 章 物 理 学 中 的 常 用 数 值 方 法 并 不 给 出 收 敛 的 结 果. 为 此, 可 以 考 虑 Cesáro 方 法 的 推 广, 定 义 H 1 n = s 0 + s 1 + s s n n + 1 H 2 n = H1 0 + H H H 1 n n + 1 H m+1 n = Hm 0 + H m 1 + H m H m n n + 1 若 到 某 一 级 m, 极 限 lim n H m n 存 在, 则 可 把 此 极 限 作 为 原 级 数 的 和. 对 于 前 面 的 例 子, 我 们 有 H 1 n : 1, 0, 2 3, 0, 3 5, 0, 4 7,, 0, n + 2 2(n + 1), H 2 n : 1, 1 2, 5 9, 5 12, 34 75,, 1 4 = [ 1 1 n 2(2i+1) n n/2 1 注 意 到 Hn 2 = 1 [n/2] 2i+2 n+1 i=1 是 1/4, 第 二 项 的 求 和 的 发 散 部 分 与 ] n+1 2 [n/2] i=1 1, 当 n, 第 一 项 的 极 限 2i+1 1 dx = ln n/2 ln n/2 相 当, 于 是 lim x n 0. n Borel 求 和 Borel 求 和 是 一 种 强 有 力 的 发 散 级 数 的 求 和 方 法, 比 前 一 小 节 的 简 单 方 法 有 更 大 的 适 用 范 围. 在 物 理 上 有 广 泛 应 用. 设 有 一 函 数 J(x), 其 级 数 表 示 J(x) = p n x n 对 所 有 x 都 收 敛. 考 虑 函 数 S(x) = p n s n x n 这 里 s n 为 欲 求 和 的 发 散 级 数 的 部 分 和, 如 果 S(x) lim x J(x) = s 存 在, 则 称 级 数 J 收 敛, s(j) 为 J 收 敛 的 结 果. 实 际 计 算 时, 我 们 一 般 不 是 取 x 趋 于 无 穷 大 的 极 限, 而 是 寻 找 x 的 一 个 S(x) 与 J(x) 之 比 为 常 数 的 范 围, 并 把 此 常 数 作 为 我 们 的 结 果. 最 常 用 的 函 数 为 e x, 对 应 的 p n = 1/n!. 此 时 我 们 寻 找 一 个 使 函 数 e x 0 s n x n n!
59 2.5 插 值 和 逼 近 59 稳 定 的 区 域. 例 题, 考 虑 级 数 1 a + a 2 a 3 + a 4 a 5 + 当 a = 2 时, 即 为 前 一 节 考 虑 过 的 的 例 子. 这 一 级 数 的 部 分 和 为 因 此 S(x) J(x) = e x 0 s n = 1 ( a)n a 1 ( a) n+1 x n 1 + a n! = a + ae x 1 + a = a + ae x e ax 1 + a ( ax) n 上 式 对 Re(a) > 1 收 敛, 当 a = 2 时, 得 到 1/3. 这 一 方 法 称 为 Borel 微 分 求 和 方 法. 另 一 种 Borel 求 和 方 法 是 Borel 积 分 求 和 方 法, 代 替 部 分 求 和, 考 虑 [ N ] s(b) = e x a n x n dx n! 0 很 显 然, 如 果 我 们 对 上 式 逐 项 积 分, 将 得 到 原 级 数, 而 先 对 被 积 函 数 中 的 级 数 求 和 再 计 算 积 分, 则 往 往 可 得 到 正 确 的 结 果. 我 们 仍 然 考 虑 前 一 例 子, 注 意 到 0 0 n! ( a) n x n 0 n! = e ax, 则 当 Re(a) > 1 时, 0 e x e ax dx = a. 当 这 一 方 法 用 于 只 有 有 限 项 的 级 数 时, 积 分 限 一 般 不 是 选 无 限 大, 而 是 选 取 当 所 得 结 果 几 乎 恒 定 时 的 积 分 上 限 为 所 要 上 限, 恒 定 的 结 果 为 带 求 的 值 Bézier 逼 近 在 这 一 节, 我 们 将 处 理 一 个 近 年 来 变 得 十 分 重 要 的 逼 近 问 题, 即 对 于 一 条 曲 线, 寻 找 一 个 函 数 形 式 去 逼 近 它. 这 在 计 算 机 辅 助 设 计 (CAD) 中 有 较 重 要 的 应 用. 这 种 逼 近 称 为 Bézier 逼 近, 它 是 由 Bézier 和 De Casteljau 大 约 在 1962 年 分 别 独 立 发 展 起 来 的. 我 们 首 先 介 绍 Bernstein 多 项 式, 这 是 Bézier 逼 近 的 基 础. 假 定 我 们 考 虑 区 间 a x b, 第 i 个 n 次 Bernstein 多 项 式 定 义 为 ( ) n Bi n (b x) n i (x a) i (x) =, i = 0, 1, 2,, n. (2.144) i (b a) n
60 60 第 二 章 物 理 学 中 的 常 用 数 值 方 法 这 里, ( n i ) n! i!(n i)! 为 二 项 式 系 数. 实 际 计 算 时, 可 以 使 用 下 面 的 递 推 关 系. B 0 0(x) = 1, B n 1 = 0, Bi n (b x)bn 1 i (x) + (x a)b n 1 i 1 (x) = (x), i = 0, 1, 2,, n b a Bn+1(x) n = 0 (2.145) 现 在 考 虑 由 下 式 定 义 的 线 性 组 合 P n (x) = n p i Bi n (x) (2.146) i=0 并 称 其 为 Bézier 多 项 式, 由 此 式 决 定 的 曲 线 称 为 Bézier 曲 线. 因 为 每 一 个 B n i (x) 都 是 n 次 多 项 式, 所 以 P n (x) 也 是 一 个 n 次 多 项 式, 这 个 多 项 式 的 好 处 在 于, 由 p i 的 数 值 就 可 以 大 致 看 出 P n (x) 的 图 像, 例 如, x = a 时, 由 于 当 i 0 时 B n i (a) = 0, B n 0 (a) = 1, 所 以 p 0 给 出 了 P n (a) 的 值. 同 样, P n (b) = p n. 为 了 看 出 其 它 p i 与 由 P n (x) 所 决 定 的 曲 线 之 间 的 关 系, 我 们 定 义 一 组 控 制 点 如 下, 令 t j = a + j (b a) n 并 指 定 一 组 点 (t i, p i ), i = 0, 1, 2, n 为 一 组 控 制 点, 则 由 (t 0, p 0 ) 出 发, 经 (t 1, p 1 ), (t 2, p 2 ),, (t n, p n ) 再 回 到 (t 0, p 0 ) 的 线 段 构 成 的 多 边 形 称 为 Bézier 多 边 形, 而 由 这 一 组 p i 所 决 定 的 P n (x) 的 图 像 则 与 这 一 多 边 形 的 形 状 紧 密 相 关. 图 (7.2) 给 出 了 一 个 例 子, 图 中 虚 线 代 表 Bézier 多 边 形, 圆 点 为 控 制 点, 实 线 为 对 应 的 Bézier 曲 线, 几 者 之 间 的 关 系 是 一 目 了 然 的. CAD 的 任 务 通 常 是 你 的 大 脑 中 有 关 于 某 条 曲 线 的 一 个 设 想, 这 时 便 可 设 置 一 组 控 制 点, 用 Bézier 多 项 式 画 出 曲 线, 通 过 不 断 地 调 节 控 制 点 而 达 到 设 计 要 求. 这 里 只 对 Bézier 逼 近 做 了 一 个 十 分 简 要 地 介 绍, 需 要 更 多 了 解 这 一 内 容 的 同 学 可 参 看 有 关 资 料 多 元 函 数 的 插 值 及 逼 近 多 元 函 数 的 逼 近 问 题 原 则 上 可 以 通 过 推 广 前 述 各 种 方 法 来 进 行, 例 如, 如 果 定 义 n x x i l k (x) = (2.147) x k x j i=1,i k 则 Lagrange 公 式 (2.116) 可 写 为 P (x) = n y k l k (x) (2.148) k=1
61 2.5 插 值 和 逼 近 61 8 图 2.3: 一 组 控 制 点 及 对 应 的 Bézier 多 项 式 和 Bézier 曲 线 这 一 公 式 可 直 接 推 广 到 二 维, 如 果 一 个 二 元 函 数 z = f(x, y) 在 某 一 二 维 区 域 内 的 一 组 点 (x i, y j ), i = 1, 2,, n; j = 1, 2,, m 上 的 值 z ij 已 知, 则 其 Lagrange 插 值 公 式 为 f(x, y) = n m z ij l i (x)l j (y) (2.149) i=1 j=1 练 习 证 明 由 (2.147) 定 义 的 l i (x) 满 足 关 系 l i (x j ) = δ ij, 并 进 而 证 明 公 式 (2.148) 和 (2.149). 三 次 样 条 插 值 也 可 以 推 广 到 二 维, 假 定 函 数 z = f(x, y) 在 矩 形 区 域 a x b, y d 上 的 一 组 网 格 分 点 a = x 1 < x 2 < < x n = b, = y 1 < y 2 < < y m = d 上 给 定, 我 们 可 以 构 造 一 组 分 片 三 次 多 项 式 R ij (x, y)( 对 x 和 y 均 为 三 次 ), 定 义 在 子 区 域 x i 1 x x i, y j 1 y y j 上, 则 S(x, y) = R ij (x, y) 如 果 (x i 1 x x i, y j 1 y y j ) i = 2, 3,, n; j = 2, 3,, m (2.150)
62 62 第 二 章 物 理 学 中 的 常 用 数 值 方 法 R ij (x, y) 可 以 类 似 于 一 维 三 次 样 条 函 数 通 过 要 求 由 S(x, y) 给 出 的 曲 面 适 当 的 光 滑 而 决 定, 其 推 导 过 程 较 繁, 但 并 不 难. 我 们 只 给 出 最 终 结 果. 定 义 则 其 中 h i = x i+1 x i τ j = y j+1 y j u i = x x i 1 h i 1 v j = y y j 1 τ j 1 (2.151) R ij (x, y) = [ u 3 i u 2 i u i 1 ]AG ij A T A = z i 1,j 1 z i 1,j τ j 1 g i 1,j 1 τ j 1 g i 1,j z i,j 1 z i,j τ j 1 g i,j 1 τ j 1 g i,j G ij = h i 1 m i 1,j 1 h i 1 m i 1,j h i 1 τ j 1 l i 1,j 1 h i 1 τ j 1 l i 1,j h i 1 m i,j 1 h i 1 mi, j h i 1 τ j 1 l i,j 1 H i 1 τ j 1 l i,j 而 m ij = S(x,y) x 程 组 x=x i,y=y j, g ij = S(x,y) y v 3 j v 2 j v j 1 (2.152) (2.153) (2.154), l ij = 2 S(x,y), 分 别 满 足 下 面 的 方 x=x i,y=y j x y x=xi,y=y j h i m i 1,j + 2(h i + h i 1 )m ij + h i 1 m i+1,j = 3 h i 1 h i [h 2 i 1z i+1,j + (h 2 i h 2 i 1)z ij h 2 i z i 1,j ] (2.155) i = 2, 3,, n 1; j = 1, 2,, m τ j g i,j 1 + 2(τ j + τ j 1 )g ij + τ j 1 g i,j+1 = 3 τ j 1 τ j [τ 2 j 1z i,j+1 + (τ 2 j τ 2 j 1)z ij τ 2 j z i,j 1 ] (2.156) i = 1, 2,, n; j = 2, 3,, m 1 τ j l i,j 1 + 2(τ j + τ j 1 )l ij + τ j 1 l i,j+1 = 3 τ j 1 τ j [τ 2 j 1m i,j+1 + (τ 2 j τ 2 j 1)m ij τ 2 j m i,j 1 ] (2.157) i = 1, 2,, n; j = 2, 3,, m 1
63 2.6 快 速 付 里 叶 变 换 63 h i l i 1,j + 2(h i + h i 1 )l ij + h i 1 m i+1,j = 3 h i 1 h i [h 2 i 1g i+1,j + (h 2 i h i 1 2 )g ij h 2 i g i 1,j ] (2.158) i = 2, 3,, n 1; j = 1, m 下 面 我 们 来 分 析 一 下 插 值 问 题 是 否 确 定. (2.155) 共 有 m(n 2) 个 方 程, (2.156) 共 有 (m 2)n 个 方 程, (2.157) 共 有 (m 2)n 个 方 程, (2.158) 共 有 2(n 2) 个 方 程, 总 共 有 3mn 2(m + n) 4 个 方 程, 而 未 知 数 的 数 目 为 3mn 个, 因 此, 为 了 求 解, 尚 需 补 充 2(m + n) + 4 个 条 件, 这 些 条 件 通 常 通 过 给 定 边 界 上 的 一 组 函 数 z = f(x, y) 的 导 数 值 来 补 足, 即 给 定 z x x=x i,y=y j i = 1, n; j = 1, 2,, m z y x=xi,y=y j i = 1, 2,, n; j = 1, m 2 z x y x=xi,y=y j i = 1, n; j = 1, m (2.159) 上 面 第 一 行 共 有 2m 个 条 件, 第 二 行 共 有 2n 个 条 件, 第 三 行 共 有 4 个 条 件, 加 上 原 有 的 方 程, 构 成 一 个 完 整 的 线 性 代 数 方 程 组 求 解 问 题. 关 于 这 一 问 题 的 算 法 实 现, 我 们 将 不 再 讨 论, 有 兴 趣 的 同 学 可 参 看 有 关 专 著 付 里 叶 变 换 2.6 快 速 付 里 叶 变 换 付 里 叶 变 换 在 物 理 学 的 很 多 问 题 中 占 有 十 分 重 要 的 地 位. 这 包 括 实 验 数 据 的 处 理, 很 多 理 论 问 题 的 计 算 等. 有 一 些 物 理 问 题 本 身 就 是 用 付 里 叶 变 换 的 语 言 来 表 述 的, 利 如 量 子 力 学 中 波 函 数 在 坐 标 空 间 和 动 量 空 间 的 表 示 就 对 应 于 一 对 付 里 叶 变 换. 这 一 节 我 们 简 要 复 习 一 下 付 里 叶 变 换 的 理 论. 一 个 物 理 过 程 可 以 在 时 间 区 域 上 给 予 描 述, 其 自 变 量 取 为 t, 物 理 过 程 用 函 数 h(t) 表 示 ; 也 可 以 在 频 率 区 域 上 描 述, 其 自 变 量 取 为 f, 物 理 过 程 用 函 数 H(f) 表 示, 这 里 H(f) 通 常 是 一 个 复 数. 时 间 和 频 率 可 以 代 表 各 种 互 相 对 偶 的 一 对 变 量, 如 信 号 处 理 中 的 时 间 和 频 率, 波 动 过 程 中 的 坐 标 和 波 数, 量 子 力 学 中 的 坐 标 和 动 量, 时 间 和 能 量 等. 在 物 理 学 中, 一 般 把 h(t) 和 H(f) 看 为 同 一 物 理 过 程 的 两 种 不 同 的 表 示, 如 量 子 力 学 中 的 ψ(x) 和 ϕ(p) 等. 两 种 表 示 之 间 的 变 换 通 过 付 里 叶 变 换 来 表 示 H(f) = h(t) = h(t)e 2πift dt H(f)e 2πift df (2.160)
64 64 第 二 章 物 理 学 中 的 常 用 数 值 方 法 如 果 h(t) 为 实 函 数 h(t) 为 虚 函 数 h(t) 为 偶 函 数 h(t) 为 奇 函 数 h(t) 为 实 偶 函 数 h(t) 为 实 奇 函 数 h(t) 为 虚 偶 函 数 h(t) 为 虚 奇 函 数 表 2.1: 付 里 叶 变 换 的 对 称 性 质 则 H( f) = H (f) H( f) = H (f) H( f) = H(f) H( f) = H(f) H(f) 为 实 偶 函 数 H(f) 为 虚 奇 函 数 H(f) 为 实 偶 函 数 H(f) 为 实 奇 函 数 如 果 t 用 秒 表 示, 则 f 的 单 位 为 赫 兹. 在 物 理 学 中, 更 常 用 的 习 惯 是 用 ω = 2πf 表 示 频 率, 相 应 地, H(ω) H(f) f=ω/2π, 方 程 (2.160) 成 为 H(ω) = h(t) = 1 2π h(t)e iωt dt H(ω)e iωt dω (2.161) 当 然, 上 式 也 可 以 写 成 对 称 的 形 式, 因 为 从 数 值 计 算 的 角 度 看, 方 程 (2.160) 中 包 含 有 较 少 的 2π 因 子, 计 算 上 比 较 方 便, 因 此 在 下 面 的 讨 论 中 我 们 将 采 用 方 程 (2.160), 在 实 际 应 用 时, 可 把 所 用 的 形 式 变 为 这 里 讨 论 的 形 式, 计 算 完 后 再 变 换 回 去. 从 定 义 显 见, 付 里 叶 变 换 是 线 性 的, 同 时, 付 里 叶 变 换 还 有 表 (2.1) 所 列 的 性 质, 这 些 性 质 可 以 通 过 定 义 来 证 明. 在 实 际 工 作 中, 这 些 性 质 可 以 用 来 提 高 计 算 效 率. 在 以 后 的 讨 论 中, 我 们 用 下 面 的 记 号 表 示 由 方 程 (2.160) 定 义 的 一 对 付 里 叶 变 换 h(t) H(f) (2.162) 利 用 定 义, 可 以 得 到 下 面 对 应 的 变 换 对 h(at) 1 ( ) f a H 时 间 标 度 (2.163) a ( ) 1 t b h H(bf) 频 率 标 度 (2.164) b h(t t 0 ) H(f)e 2πift 0 时 间 平 移 (2.165) h(t)e 2πif 0t H(f f 0 ) 频 率 平 移 (2.166) 对 于 两 个 函 数 g(t) 和 h(t), 其 对 应 的 付 里 叶 变 换 分 别 为 G(f) 和 H(f), 我 们 可 以 定 义 两 个 合 成 函 数, 一 个 是 卷 积 g h, 由 下 式 定 义 g h g(τ)h(t τ)dτ (2.167)
65 2.6 快 速 付 里 叶 变 换 65 g h 是 时 间 区 域 上 的 函 数, 其 付 里 叶 变 换 满 足 下 面 的 卷 积 定 理 g h G(f)H(f) h g 卷 积 定 理 (2.168) 另 一 个 是 相 关 函 数 C[g, h], 定 义 为 C[g, h] g(τ + t)h(τ)dτ (2.169) C[g, h] 是 时 间 区 域 上 的 函 数, 其 付 里 叶 变 换 由 下 面 的 相 关 定 理 给 出 C[g, h] G(f)H( f) 相 关 定 理 (2.170) 如 果 g 和 h 是 实 函 数, 则 上 式 可 写 为 C[g, h] G(f)H (f) (2.171) 一 个 函 数 与 其 自 身 的 相 关 函 数 称 为 自 相 关 函 数, 在 此 情 况 下, 方 程 (2.171) 成 为 C[g, g] G(f) 2 (2.172) 自 相 关 函 数 通 常 称 为 功 率 谱, 而 总 功 率 定 义 为 P 上 式 通 常 称 为 Parseval 定 理. h(t) 2 dt = H(f) 2 df (2.173) 离 散 付 里 叶 变 换 为 了 在 计 算 机 上 实 现 付 里 叶 变 换, 需 要 对 付 里 叶 变 换 进 行 离 散 化 处 理. 这 一 节 介 绍 离 散 付 里 叶 变 换, 首 先 介 绍 对 连 续 付 里 叶 变 换 离 散 化 的 抽 样 方 法. 在 非 常 一 般 的 情 况 下, 对 函 数 h(t) 在 时 间 的 等 间 距 上 进 行 取 样. 令 为 取 样 间 隔, 则 对 h(t) 的 取 样 成 为 h n = h(n ) n =, 3, 2, 1, 0, 1, 2, 3, (2.174) 的 倒 数 称 为 取 样 频 率, 它 反 映 了 取 样 所 能 代 表 的 频 率 上 限. 对 于 一 给 定 的 取 样 间 隔, 存 在 一 个 截 止 频 率 f, 由 下 式 给 出, f = 1 2 (2.175) 这 一 频 率 通 常 称 为 Nyquist 临 界 频 率, 如 果 对 一 个 具 有 Nyquist 临 界 频 率 正 弦 ( 或 余 弦 ) 函 数 进 行 取 样, 则 如 果 一 个 取 样 点 位 于 正 的 波 峰, 则 下 一 个 取 样 点 将 位 于 负 的 波 峰, 再 下 一 个 又 位 于 正 的 波 峰,. 与 Nyquist 临 界 频 率 相 连 系, 有 下 面 的 重 要 结 论 :
66 66 第 二 章 物 理 学 中 的 常 用 数 值 方 法 (1) 如 果 一 连 续 函 数 h(t) 只 有 有 限 带 宽, 且 带 宽 小 于 f, 也 就 是 说, 对 所 有 的 频 率 f > f, 都 有 H(f) = 0, 则 函 数 h(t) 由 其 取 样 值 h n 完 全 决 定. 实 际 上, h(t) 可 由 下 式 显 式 给 出 sin[2πf (t n )] h(t) = h n (2.176) π(t n ) 证 明 如 下, h(t) 与 H(f) 之 间 由 下 式 联 系 H(f) = h(t) = f h(t)e 2πift dt f H(f)e 2πift df (2.177) 上 式 中 的 第 二 个 积 分 限 为 有 限 值, 这 是 由 于 在 积 分 限 外, H(f) = 0. 把 H(f) 延 拓 到 整 个 频 率 域 上, 记 延 拓 后 的 函 数 为 H(f), 满 足 { H(f) = H(f) f f f 则 可 得 到 一 对 新 的 付 里 叶 变 换 (2.179) 的 第 二 式 可 写 为 h(t) = H(f + 2f ) = H(f) = = = H(f) = h(t) = m= H(f)e 2πift df (2m+1)f h(t)e 2πift dt m= (2m 1)f f e 2πi2mf t m= (2.178) H(f)e 2πift df (2.179) H(f)e 2πift df f H(f)e 2πift df e 2πi2mf t h(t) (2.180) 在 得 到 上 式 时, 我 们 利 用 了 式 (2.178), 上 式 中 的 求 和 当 f t = n 2, n = 0, ±1, ±2, 时, 为 无 穷 大, 对 其 它 t 值, 求 和 为 0, 可 以 证 明 ( 请 同 学 作 为 一 个 练 习, 证 明 下 述 关 系 ) e 2πi2mft = δ(t n ) (2.181) m= 在 得 出 上 式 时, 使 用 了 关 系 f = 1 2, 从 而 有 h(t) = n= n= δ(t n )h(t) (2.182)
67 2.6 快 速 付 里 叶 变 换 67 H(f) = = = h(t)e 2πift dt n= n= 在 区 间 [ f, f ] 内, 上 式 就 等 于 H(f), 于 是 f δ(t n )h(t)e 2πift dt h(n )e 2πifn (2.183) h(t) = H(f)e 2πift df f f = h(n ) e 2πif(t n ) df f = n= n= h(n ) sin[2πf (t n )] π(t n ) (2.184) 这 是 一 个 十 分 重 要 的 定 理, 它 告 诉 我 们, 一 个 有 限 带 宽 的 信 号 所 包 含 的 信 息 较 之 一 个 一 般 的 连 续 函 数 是 非 常 小 的 ( 严 格 的 讲, 二 者 的 信 息 量 之 比 为 零 ). 在 通 常 情 况 下, 物 理 上 遇 到 的 信 号 都 是 有 限 带 宽 的, 在 这 种 情 况 下, 只 要 取 取 样 间 隔 小 于 或 等 于 二 倍 最 大 频 率 的 倒 数, 则 可 以 完 整 的 地 得 到 这 一 信 号 所 包 含 的 信 息. (2) 如 果 一 个 信 号 不 是 有 限 带 宽 的 或 Nyquist 临 界 频 率 f 小 于 信 号 的 最 大 频 率, 则 位 于 [ f, f ] 外 的 付 里 叶 分 量 将 移 动 到 [ f, f ] 区 间 内 并 叠 加 在 这 一 区 间 的 分 量 上 面, 这 一 现 象 称 为 波 形 重 叠. 当 一 个 信 号 进 行 离 散 取 样 后, 消 除 波 形 重 叠 几 乎 是 不 可 能 的. 克 服 这 一 困 难 的 方 法 是, 首 先 找 到 信 号 的 自 然 带 度, 或 者 先 用 某 种 方 法 对 信 号 进 行 滤 波, 把 信 号 限 制 于 一 频 率 间 隔 内, 然 后 由 最 大 频 率 确 定 取 样 间 隔. 现 在, 我 们 来 讨 论 如 何 由 有 限 数 目 的 样 点 来 计 算 其 付 里 叶 变 换. 假 定 我 们 有 N 个 相 继 的 取 样 信 号 h k h(t k ), t k k k = 0, 1, 2,, N 1 (2.185) 为 简 单 起 见, 我 们 进 一 步 假 定 N 为 偶 数. 如 果 h(t) 只 在 有 限 时 间 区 间 内 非 零, 则 h(t) 的 取 样 应 包 括 这 个 非 零 区 间, 如 果 h(t) 在 整 个 时 间 区 间 中 非 零, 则 取 样 应 包 括 足 够 大 的 区 间 以 使 区 间 内 的 h(t) 尽 可 能 好 的 代 表 整 个 时 间 区 间 上 的 h(t). 如 果 我 们 只 有 N 个 数 作 为 输 入, 则 显 然 最 多 只 能 得 到 N 个 独 立 的 数 作 为 输 出. 因 此, 要 从 N 个 样 品 点 计 算 [ f, f ] 内 的 所 有 f 值 的 付 里 叶 变 换 H(f) 是 不 可 能 的, 因 此, 我 们 只 计 算 一 系 列 离 散 点 f n n N, n = N 2, N 2 + 1,, N 2 (2.186) 上 式 中 n 的 上 限 值 正 好 是 Nyquist 临 界 频 率 f, 上 式 中 的 n 的 总 数 实 际 上 为 N + 1 个, 而 不 是 N 个, 但 n 的 上 限 值 和 下 限 值 并 不 独 立, 实 际 上, 它 们 代 表 同 一 个 点, 这 样, 独 立 频 率 的 总 数 为 N 个.
68 68 第 二 章 物 理 学 中 的 常 用 数 值 方 法 把 (2.160) 中 的 积 分 变 为 一 个 离 散 求 和 H(f n ) = h(t)e 2πift dt N 1 k=0 N 1 h k e 2πifnt k = k=0 h k e 2πikn/N (2.187) 在 最 后 一 个 等 式 中, 使 用 了 式 (2.174) 和 (2.186), 上 式 的 最 后 求 和 称 为 N 个 数 据 点 h k 的 离 散 付 里 叶 变 换. 记 为 H n N 1 k=0 h k e 2πikn/N (2.188) 它 把 N 个 数 h k 映 射 为 N 个 数 H n, 这 一 求 和 不 依 赖 于 任 何 量 纲 参 数 (h k 与 H n 具 有 相 同 的 量 纲 ), 连 续 付 里 叶 变 换 在 离 散 点 上 的 值 与 离 散 付 里 叶 变 换 由 式 (2.187) 给 出 为 H(f n ) = H n (2.189) 到 此 为 此, 我 们 总 是 取 (2.188) 中 的 n 的 取 值 范 围 为 N/2 到 N/2. 实 际 上, 从 (2.188) 可 知, H n 对 于 n 具 有 周 期 N, 即 H n = H N n, 因 此, 我 们 也 可 以 取 n = 0, 1, 2,, N 1, 这 样, n 和 k 的 变 化 范 围 完 全 相 同. 在 这 种 取 法 下, 0 < f < f 对 应 于 1 n N/2 1, 负 频 率 f < f < 0 对 应 于 N/2 + 1 n N 1, 而 f 和 f 均 对 应 于 n = N/2. 离 散 付 里 叶 变 换 的 逆 变 换 由 下 式 给 出 h k = 1 N N 1 n=0 H n e 2πikn/N (2.190) 这 一 表 达 式 与 (2.188) 的 差 别 在 于 改 变 e 指 数 上 的 符 号 并 把 结 果 除 以 N, 因 此 计 算 离 散 付 里 叶 变 换 的 方 法 ( 或 程 序 ) 只 需 做 微 小 修 改 便 可 用 来 计 算 离 散 付 里 叶 变 换 的 逆 变 换. 离 散 付 里 叶 变 换 具 有 与 连 续 付 里 叶 变 换 几 乎 完 全 相 同 的 性 质, 例 如 表 2.1 中 所 列 的 对 称 性 质 对 于 离 散 付 里 叶 变 换 也 成 立, 只 是 此 时 h k 对 应 于 h(t), h N k 对 应 于 h( t), H n 对 应 于 H(f), 而 H N n 对 应 于 H( f). 例 如 说 H n 为 偶 时, 我 们 是 指 H n = H N n, 等 等 快 速 付 里 叶 变 换 首 先, 让 我 们 看 一 下 对 N 个 数 据 点 作 一 次 离 散 付 里 叶 变 换 所 需 的 计 算 次 数, 定 义 则 (2.188) 可 写 为 W e 2πi/N (2.191) H n = N 1 k=0 W nk h k (2.192) 即 如 果 把 H n 和 h k 看 作 矢 量, 则 上 式 相 当 于 一 矩 阵 与 矢 量 的 乘 积, 矩 阵 的 第 (n, k) 个 分 量 等 于 W 的 nk 次 方. 显 然, 矩 阵 与 矢 量 的 乘 积 需 要 做 N 2 次 乘 法, 总 的 计 算 量 等 于 N 2
69 2.6 快 速 付 里 叶 变 换 69 次 乘 法 加 上 形 成 矩 阵 所 需 的 计 算 次 数, 其 阶 为 N 2. 直 到 1960 年 中 期, 这 是 通 常 的 看 法 年, IBM 公 司 的 J. W. Cooley 和 J. W. Tukey 提 出 了 一 个 离 散 付 里 叶 变 换 的 快 速 算 法, 把 计 算 量 从 N 2 降 低 到 N log 2 N. 为 了 看 出 这 一 改 进 的 重 要 意 义, 考 虑 一 个 N = 的 离 散 付 里 叶 变 换, 这 一 变 换 用 快 速 方 法 在 一 个 486/33 计 算 机 上 约 需 60 秒, 而 如 果 用 (2.192) 直 接 计 算, 则 需 要 大 约 20 天. 事 实 上, 离 散 付 里 叶 变 换 的 快 速 算 法 可 以 追 溯 到 1903 年, 当 时, Runge 提 出 了 12 点 和 24 点 的 算 法 年, Danielson 和 Lanzos 提 出 了 一 种 最 优 算 法, 但 因 为 当 时 还 没 有 电 子 计 算 机, 因 而 没 有 引 起 重 视, 只 是 在 J. W. Cooley 和 J. W. Tukey 提 出 后, 才 引 起 了 广 泛 的 注 意. 下 面 我 们 给 出 这 一 算 法 的 一 个 推 导, 首 先 我 们 证 明, 一 个 N 点 (N 为 偶 数 ) 的 离 散 付 里 叶 变 换 可 以 写 为 二 个 N/2 点 的 离 散 付 里 叶 变 换 之 和, 其 中 一 个 由 处 于 原 来 N 个 点 的 偶 数 位 置 的 点 构 成, 另 一 个 则 由 处 于 原 来 N 个 点 的 奇 数 位 置 的 点 构 成, 这 一 结 论 称 为 Danielson Lanzos 定 理. 证 明 如 下 : H n = = = N 1 k=0 N/2 1 k=0 N/2 1 k=0 e 2πink/N h k e 2πin(2k)/N h 2k + N/2 1 k=0 N/2 1 e 2πink/(N/2) h 2k + W n e 2πin(2k+1)/N h 2k+1 k=0 e 2πink/(N/2) h 2k+1 = H e n + W n H o n (2.193) 上 式 称 为 Danielson Lanzos 公 式. 在 上 式 中, W 由 式 (2.191) 给 出, H e n 表 示 由 长 度 为 N/2, 由 原 h k 的 偶 分 量 组 成 的 数 据 序 列 的 离 散 付 里 叶 变 换 ; 而 H o n 表 示 由 长 度 为 N/2, 由 原 h k 的 奇 分 量 组 成 的 数 据 序 列 的 离 散 付 里 叶 变 换. 请 注 意 上 式 中 最 后 一 行 中 n 的 取 值 仍 然 是 0 到 N, 但 H e n 和 H o n 的 周 期 为 N/2, 因 此 实 际 上 只 要 各 计 算 N/2 个 分 量, 另 外 N/2 个 由 周 期 性 得 到. 在 有 了 上 述 结 果 后, 我 们 可 以 分 别 对 H e n 和 H o n 进 行 同 样 的 变 换, 即 代 替 计 算 长 度 为 N/2 的 离 散 付 里 叶 变 换, 我 们 可 以 计 算 两 个 长 度 为 N/4 的 离 散 付 里 叶 变 换, 分 别 对 应 于 N/2 序 列 中 的 偶 数 分 量 序 列 和 奇 数 分 量 序 列. 也 就 是 说, 我 们 可 以 定 义 H ee n, H eo n, 分 别 为 由 顺 次 划 分 中 的 偶 偶 序 列, 偶 奇 序 列, 的 离 散 付 里 叶 变 换. 为 了 这 一 划 分 可 以 一 直 进 行 下 去, 我 们 要 求 N 应 为 2 的 某 个 幂 次, 如 果 在 实 际 工 作 中 得 到 的 数 据 不 是 2 的 幂 次, 则 可 在 原 数 据 上 增 加 若 干 个 0 使 分 量 的 总 数 成 为 2 的 幂 次 以 便 使 用 快 速 方 法. 在 N 为 2 的 幂 次 的 条 件 下, 这 种 划 分 可 以 一 直 进 行 到 长 度 为 1 的 变 换, 而 长 度 为 1 的 离 散 付 里 叶 变 换 就 是 该 数 本 身. 这 样, 我 们 得 到 N 个 一 点 离 散 付 里 叶 变 换, 每 一 个 对 应 于 一 种 log 2 N 个 e 和 o 的 排 列, 即 H eeoe oo n = h k (2.194)
70 70 第 二 章 物 理 学 中 的 常 用 数 值 方 法 实 际 上, 对 于 一 点 变 换, 其 周 期 为 1, 因 而 上 式 左 边 的 下 标 n 是 多 余 的. 上 式 右 边 的 下 标 k 与 左 边 的 上 标 对 应, 对 于 一 个 给 定 的 e 和 o 的 排 列, 唯 一 地 确 定 了 方 程 右 边 的 下 标 k. 下 面 的 问 题 是 给 出 k 与 e 和 o 的 排 列 之 间 的 对 应 关 系, 这 个 关 系 是 十 分 简 单 的, 首 先, 令 e = 0, o = 1, 则 e 和 o 的 一 种 排 列 与 一 个 2 进 制 数 相 对 应, 我 们 把 这 个 2 进 制 数 前 后 颠 倒, 其 结 果 就 给 出 k 的 2 进 制 表 示. 例 如, 对 于 N = 2 3, eee 000 k = (000) 2 = 0 eeo 001 k = (100) 2 = 4 eoe 010 k = (010) 2 = 2 eoo 011 k = (110) 2 = 6 oee 100 k = (001) 2 = 1 oeo 101 k = (101) 2 = 5 ooe 110 k = (011) 2 = 3 ooo 111 k = (111) 2 = 7 (2.195) 为 了 说 明 这 个 结 果, 我 们 仍 然 以 N = 2 3 为 例, 下 面 是 每 一 步 变 换 步 骤 另 一 方 面, H n = H e n + W n H o n = (H ee n = (H eee n W n (H oee n + W 2n Hn eo ) + W n (Hn oe + W 2n Hn oo ) + W 4n Hn eeo ) + W 2n (Hn eoe + W 4n Hn eoo ) + + W 4n Hn oeo ) + W 3n (Hn ooe + W 4n Hn ooo ) (2.196) H n = h 0 + W n h 1 + W 2n h 2 + W 3n h 3 + W 4n h 4 + W 5n h 5 + W 6n h 6 + W 7n h 7 (2.197) 比 较 (2.196) 和 (2.197) 可 知, k 与 e 和 o 的 排 列 之 间 的 关 系 由 前 面 的 论 断 给 出, 我 们 在 此 仅 仅 对 N 的 一 个 特 殊 值 给 出 了 验 证, 但 可 以 一 般 地 证 明 它 的 正 确 性. 式 (2.196) 也 给 出 了 一 个 计 算 步 骤, 利 用 关 系 W 0 = 1 及 W N/2 = 1, 我 们 看 到, 如 果 把 h k 按 照 0, 4, 2, 6, 1, 5, 3, 7 的 次 序 排 列 ( 这 一 排 列 方 式 正 好 是 k 的 2 进 制 表 示 前 后 颠 倒 后 的 数 的 顺 序 排 列 ), 则 第 一 步 可 对 相 邻 的 数 作 二 点 变 换, 如 式 (2.196) 中 最 后 一 行 的 每 一 个 括 号 所 示, 在 这 一 步, 只 需 计 算 n = 0 和 n = 1,n = 2,, 7 由 周 期 性 条 件 给 出, 需 要 做 2 4 = 8 次 乘 法 ; 第 二 步 由 式 (2.196) 的 第 二 行 给 出, 此 时 需 计 算 n = 0, 1, 2, 3, 需 要 做 4 2 = 8 次 乘 法 ; 最 后 一 步 由 (2.196) 的 第 一 行 给 出, 需 要 做 8 1 = 8 次 乘 法. 因 此, 总 的 乘 法 数 为 8 3 = 8 log 2 8 次. 上 面 的 算 法 可 立 即 推 广 到 一 般 N( 为 2 的 幂 次 ), 我 们 给 出 计 算 离 散 付 里 叶 变 换 的 算 法 如 下 (1) 把 h k 按 照 k 的 2 进 制 表 示 前 后 颠 倒 后 的 数 的 顺 序 重 新 排 列 ; (2) 对 max = 2, 4, 8,, 2 i,, N; 对 于 m = 0, 1,, max; 对 于 相 邻 的 一 对 数 做 二 点 离 散 付 里 叶 变 换.
71 2.7 附 录 : 特 殊 函 数 的 计 算 图 2.4: Runge 函 数 的 付 里 叶 变 换 到 此 为 止, 我 们 讨 论 了 N = 2 γ, γ 为 一 整 数 的 快 速 算 法 ( 在 一 般 文 献 中 称 为 基 2 算 法 ), 在 实 现 时, 我 们 先 对 数 据 进 行 二 进 位 次 序 颠 倒, 再 使 用 Danielson Lanzos 公 式. 当 然, 我 们 也 可 以 先 使 用 Danielson Lanzos 公 式, 再 做 二 进 位 次 序 颠 倒. 除 了 基 2 算 法 外, 也 可 以 进 行 基 4 算 法, 基 8 算 法 等, 也 可 以 通 过 推 广 Danielson Lanzos 公 式, 建 立 以 小 的 素 数 为 基 的 算 法. 对 于 绝 大 多 数 问 题, 基 2 算 法 应 作 为 首 选 算 法, 如 前 面 已 经 指 出 过 的, 若 原 始 数 据 的 个 数 不 是 2 的 幂 次, 则 可 通 过 补 零 的 办 法 凑 齐. 给 出 作 为 例 子, 我 们 来 考 虑 区 间 [ 1, 1] 上 Runge 函 数 的 付 里 叶 变 换. Runge 函 数 由 下 式 h(x) = x 2 把 h(x) 延 拓 到 整 个 实 轴 上, 成 为 周 期 为 2 的 周 期 函 数, 为 了 使 用 前 面 的 程 序, 考 虑 区 间 [0, 2], 由 于 已 经 进 行 了 延 拓, 因 此 [ 1, 1] 和 [0, 2] 均 为 一 个 周 期, 其 付 里 叶 变 换 是 相 同 的. 图 (2.4) 给 出 付 里 叶 变 换 的 计 算 结 果 关 于 快 速 付 里 叶 变 换, 已 有 不 少 专 著 对 其 进 行 讨 论, 希 望 进 一 步 了 解 的 同 学 可 参 看 这 些 书 籍. 但 对 于 大 部 分 实 际 应 用, 本 章 的 内 容 应 已 够 用. 2.7 附 录 : 特 殊 函 数 的 计 算 Γ 函 数, B 函 数, 不 完 全 Γ 函 数 的 计 算 Γ 函 数 由 下 面 的 积 分 定 义 : Γ(z) = 0 t z 1 e t dt (2.198)
72 72 第 二 章 物 理 学 中 的 常 用 数 值 方 法 如 果 z 为 一 整 数, 则 有 Γ 函 数 满 足 如 下 递 推 关 系 : n! = Γ(n + 1) (2.199) Γ(z + 1) = zγ(z) (2.200) 如 果 已 经 知 道 了 Γ 函 数 在 Re(z) > 1 时 的 值, 则 可 利 用 下 述 关 系 求 得 Re(z) < 1 时 的 值. Γ(1 z) = π Γ(z) sin(πz) = πz Γ(1 + z) sin(πz) (2.201) Γ(z) 在 0, 1, 2,, 上 有 单 极 点, 在 复 平 面 的 其 它 地 方 解 析. Lanzos 方 法 似 乎 是 计 算 Γ 函 数 的 数 值 的 最 漂 亮 的 方 法, 对 于 一 定 的 整 数 γ 和 N 以 及 一 定 的 系 数 1, 2,, N, Lanzos 的 近 似 公 式 由 下 式 给 出 : ( Γ(z + 1) = z + γ + 1 ) z+ 1 2 e (z+γ+ 1 2) 2 [ 2π z z ] N z + N + ϵ (Re(z) > 0) (2.202) 这 里 : 0 1, ϵ 代 表 误 差, 对 于 γ = 5, N = 6 可 以 得 到 ϵ < 当 z 较 大 时, Γ 函 数 的 数 值 非 常 大, 极 易 上 溢, 在 实 用 上, 很 多 物 理 公 式 常 常 表 示 为 Γ 函 数 相 除 的 形 式 而 代 表 一 个 合 理 的 数 字. 因 此, 代 替 计 算 Γ 函 数 本 身, 我 们 通 常 计 算 Γ 函 数 的 对 数 ln(γ(z)). 由 上 式 可 得 到 ln(γ(z)) 的 公 式 如 下 : ( ln(γ(z + 1)) = z + 1 ) ( ln z + γ + 1 ) 2 2 这 里 + ln ( z + γ [( 2π(0 + 1 z z = 1 1 = = = = = = ) N z + N + ϵ )] (2.203) (2.204)
73 2.7 附 录 : 特 殊 函 数 的 计 算 73 B 函 数 由 下 式 积 分 定 义 : B(z, w) = B(w, z) = 它 与 Γ 函 数 之 间 满 足 如 下 简 单 的 关 系 : 1 0 t z 1 (1 t) w 1 dt (2.205) B(z, w) = Γ(z)Γ(w) Γ(z + w) (2.206) 因 此, 很 容 易 用 Γ 函 数 的 结 果 计 算 B 函 数. 不 完 全 Γ 函 数 定 义 为 : P (a, x) γ(a, x) Γ(a) 1 Γ(a) x 0 e t t a 1 dt (a > 0) (2.207) 它 具 有 下 面 的 极 限 P (a, 0) = 0, P (a, ) = 1 (2.208) P (a, x) 的 补 函 数 Q(a, x) 1 P (a, x) 的 积 分 形 式 为 : Q(a, x) Γ(a, x) Γ(a) 1 Γ(a) x e t t a 1 dt (a > 0) (2.209) γ(a, x) 可 以 用 级 数 表 示 出 来 : γ(a, x) = e x x a n=0 Γ(a) Γ(a n) xn (2.210) 实 际 计 算 时, 并 不 需 要 对 每 个 n 都 计 算 Γ(a n), 而 通 常 是 利 用 前 一 次 的 值 递 推 计 算. Γ(a, x) 可 以 用 连 分 式 表 示 出 来, Γ(a, x) = e x x a ( 1 x+ 1 a 1+ 1 x+ 2 a 1+ ) 2 x+ (x > 0) (2.211) (2.210) 对 于 较 小 的 x (x < a + 1) 收 敛 较 快, 而 (2.211) 对 于 大 的 x (x > a + 1) 收 敛 较 快, 把 二 个 式 子 结 合 起 来, 就 得 到 计 算 不 完 全 Γ 函 数 的 方 法 误 差 函 数 的 计 算 误 差 函 数 和 余 误 差 函 数 定 义 为 erf(x) = 2 x e t2 dt (2.212) π 0 erf(x) 1 erf(x) = 2 e t2 dt (2.213) π x
74 74 第 二 章 物 理 学 中 的 常 用 数 值 方 法 它 们 具 有 下 面 的 极 限 形 式 erf(0) = 0, erf( ) = 1, erf(0) = 1, erf( ) = 0 (2.214) 及 对 称 关 系 erf( x) = erf(x) erf( x) = 2 erf(x) (2.215) 误 差 函 数 可 用 下 面 的 近 似 逼 近 式 计 算 其 值, 误 差 小 于 erf(x) = ( t t t 3 t = t t) exp( x 2 ) x 这 一 函 数 目 前 已 经 在 很 多 计 算 机 上 作 为 内 部 函 数 给 出, 因 此 在 使 用 本 程 序 前, 请 先 检 查 你 的 机 器 上 是 否 有 此 函 数, 如 果 没 有, 再 使 用 本 节 的 算 法 计 算. 误 差 函 数 也 可 作 为 不 完 全 Γ 函 数 的 特 殊 形 式 给 出, ( ) 1 erf(x) = P 2, x2 (x 0) ( ) 1 erf(x) = Q 2, x2 (x 0) (2.216) 例 题 硅 片 置 于 恒 定 杂 质 浓 度 (N 0 ) 的 气 体 中, 试 确 定 其 内 部 浓 度 随 时 间 的 变 化. 解 : 本 问 题 的 定 解 方 程 为 :( 梁 昆 淼, 数 学 物 理 方 法, P259) u t a 2 u xx = 0 u x=0 = N 0 u t=0 = 0 其 解 可 写 为 : x u(x, t) = N 0 erf( 2a t ) 为 了 得 到 解 的 图 形, 可 利 用 本 节 的 程 序 计 算 余 误 差 函 数 的 值. 作 为 练 习, 请 同 学 完 成 具 体 计 算 指 数 积 分 的 计 算 指 数 积 分 是 指 由 下 式 定 义 的 函 数 E 1 (z) = e t z t dt ( argz < π) (2.217)
75 2.7 附 录 : 特 殊 函 数 的 计 算 75 这 里 z 为 一 辐 角 小 于 π 的 复 数, 与 此 相 关 的 函 数 还 有 它 们 之 间 满 足 下 面 的 关 系 E n (z) = 对 E n (x), 有 下 面 的 不 等 式 1 e zt dt (n = 2, 3, ; Rez > 0) (2.218) tn E n+1 (z) = 1 n [e z ze n (z)] (n = 1, 2, 3, ) (2.219) 1 x + n < ex E n (x) 1 x + n 1 (2.220) 对 于 实 数 宗 量, 当 0 x 1 时, E 1 (x) 可 用 多 项 式 来 近 似 ; 当 x > 1 时, xe x E 1 (x) 可 用 分 式 有 理 函 数 来 近 似, 下 面 是 有 关 公 式 : E 1 (x) = x x x x x ln(x) (0 x 1) E 1 = P (t) exp( x) Q(t) x (x > 1) t = 1 x P (t) = t t t t + 1 Q(t) = t t t t 整 数 阶 贝 塞 尔 函 数 及 虚 宗 量 贝 塞 尔 函 数 的 计 算 贝 塞 尔 函 数 在 物 理 研 究 中 经 常 遇 到, 对 于 任 意 实 数 ν, 贝 塞 尔 函 数 定 义 为 : ( J ν (z) = ( z 2 )ν k=0 z2 4 ) k k!γ(ν + k + 1) 这 个 级 数 对 于 任 何 z 都 是 收 敛 的, 但 当 z 1 时, 对 于 实 际 计 算 并 无 多 大 用 处. 当 ν 不 是 整 数 时, 第 二 类 贝 塞 尔 函 数 Y ν (z) 由 下 式 定 义 : Y ν (z) = J ν(z) os(νπ) J ν (z) sin(νπ) (2.221) (2.222) 当 ν 为 整 数 n 时, Y n 可 由 下 面 的 极 限 得 到. Y n (z) = lim ν n Y ν (z) (2.223)
76 76 第 二 章 物 理 学 中 的 常 用 数 值 方 法 图 2.5: J 0 (x),, J 2 (x), Y 0 (x),, Y 2 (x) 的 图 形 J 0 (x) J 1 (x) J 2 (x) Y 0 (x) Y 1 (x) Y 2 (x) 对 于 小 的 x, ( 例 如, 当 x ν 时 ), 贝 塞 尔 函 数 具 有 如 下 渐 近 表 达 式 : 1 ( x ) ν J ν (x) (ν 0) Γ(ν + 1) 2 Y 0 (x) 2 ln(x) (2.224) π Y ν (x) Γ(ν) ( x ) ν (ν > 0) π 2 而 对 于 大 的 x, ( 如 x ν), 贝 塞 尔 函 数 定 性 与 三 角 函 数 一 致, 但 其 振 幅 按 照 1/ x 的 方 式 衰 减, 其 渐 近 形 式 为 : J ν (x) Y ν (x) 图 (4.1) 给 出 了 前 几 个 贝 塞 尔 函 数 的 图 形. 贝 塞 尔 函 数 满 足 如 下 的 递 推 关 系 : 2 (x πx os 12 νπ 14 ) π 2 (x πx sin 12 νπ 14 ) π J n(x) = nj n(x) x J n+1 (x) J n+1 (x) = 2n x J n(x) J n 1 (x) (2.225) Y n+1 (x) = 2n x Y n(x) Y n 1 (x) (2.226) 第 一 个 可 用 来 计 算 贝 塞 尔 函 数 的 导 数, 第 三 个 递 推 式 对 于 n 增 加 的 递 推 是 稳 定 的, 第 二 个 递 推 式 当 x > n 时 对 于 n 增 加 的 递 推 是 稳 定 的, 而 当 x < n 时 对 于 n 减 小 的 递 推 是 稳 定 的.
77 2.7 附 录 : 特 殊 函 数 的 计 算 77 计 算 整 数 阶 贝 塞 尔 函 数 的 任 务 可 由 两 步 来 完 成, 第 一 步 先 计 算 J 0 (x), J 1 (x), Y 0 (x), Y 1 (x) 的 数 值, 然 后 利 用 递 推 关 系 求 得 其 它 n 的 值. 从 小 x 时 的 渐 近 关 系 我 们 知 道, Y n (x) 在 x = 0 附 近 有 奇 异 性, 因 此, 我 们 应 该 计 算 其 正 规 部 分. Y 0 (x) 2 π J 0(x) ln(x) and Y 1 (x) 2 π [ J 1 (x) ln(x) 1 ] x (2.227) 当 0 x 8 时, J 0 (x), J 1 (x), Y 0 (x), Y 1 (x) 可 以 用 分 式 有 理 函 数 来 表 示, 而 当 8 < x < 时, 对 于 (n = 0, 1), 有 下 面 的 近 似 式 : 2 J n (x) = πx 2 Y n (x) = πx 其 中 [ ( ) ( ) ] 8 8 P n os(x n ) Q n sin(x n ) x x [ ( ) ( ) ] 8 8 P n sin(x n ) + Q n os(x n ) x x X n x 2n + 1 π 4 (2.228) P 0, P 1, Q 0 和 Q 1 是 其 宗 量 的 多 项 式. ( 这 里 选 择 8 作 为 两 种 近 似 表 达 式 的 分 界 线 并 无 特 殊 的 原 因, 选 7 或 9 也 可, 当 然 多 项 式 的 系 数 将 会 不 同 ). 代 替 给 出 表 示 式, 这 里 给 出 计 算 程 序, 读 者 应 该 很 容 易 从 程 序 中 看 出 上 述 各 多 项 式 的 形 式 和 系 数. Funtion bessj0(x) Real*8 y,p1,p2,p3,p4,p5,q1,q2,q3,q4,q5,r1,r2,r3,r4,r5,r6, * s1,s2,s3,s4,s5,s6 Data p1,p2,p3,p4,p5 /1.D0, D-2, D-4, * D-5, D-6/, * q1,q2,q3,q4,q5 / D-1, D-3, * D-5, D-6, D-7/ Data r1,r2,r3,r4,r5,r6 / D0, D0, * D0, D0, D0, * D0/, * s1,s2,s3,s4,s5,s6 / D0, D0, * D0, D0, D0,1.D0/ If(abs(x).LT.8.) Then y=x**2 bessj0=(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6))))) * /(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6))))) Else ax=abs(x) z=8./ax y=z**2 xx=ax bessj0=sqrt( /ax)*(os(xx)*(p1+y*(p2+y*(p3+y*(p4+ * y*p5))))-z*sin(xx)*(q1+y*(q2+y*(q3+y*(q4+y*q5))))) Endif Return End C C Funtion bessy0(x)
78 78 第 二 章 物 理 学 中 的 常 用 数 值 方 法 C C C C Real*8 y,p1,p2,p3,p4,p5,q1,q2,q3,q4,q5,r1,r2,r3,r4,r5,r6, * s1,s2,s3,s4,s5,s6 Data p1,p2,p3,p4,p5 /1.D0, D-2, D-4, * D-5, D-6/, * q1,q2,q3,q4,q5 / D-1, D-3, * D-5, D-6, D-7/ Data r1,r2,r3,r4,r5,r6 / D0, D0, * D0, D0, D0, * D0/, * s1,s2,s3,s4,s5,s6 / D0, D0, * D0, D0, D0,1.D0/ If(x.LT.8.) Then y=x**2 bessy0=(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))))/(s1+y*(s2+y * *(s3+y*(s4+y*(s5+y*s6))))) *bessj0(x)*log(x) Else z=8./x y=z**2 xx=x bessy0=sqrt( /x)*(sin(xx)*(p1+y*(p2+y*(p3+y*(p4+y* * p5))))+z*os(xx)*(q1+y*(q2+y*(q3+y*(q4+y*q5))))) Endif Return End Funtion bessj1(x) Real*8 y,p1,p2,p3,p4,p5,q1,q2,q3,q4,q5,r1,r2,r3,r4,r5,r6, * s1,s2,s3,s4,s5,s6 Data r1,r2,r3,r4,r5,r6 / D0, D0, * D0, D0, D0, * D0/, * s1,s2,s3,s4,s5,s6 / D0, D0, * D0, D0, D0,1.D0/ Data p1,p2,p3,p4,p5 /1.D0, D-2, D-4, * D-5, D-6/, * q1,q2,q3,q4,q5 / D0, D-3, * D-5, D-6, D-6/ If(abs(x).LT.8.) Then y=x**2 bessj1=x*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6))))) /(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6))))) Else ax=abs(x) z=8./ax y=z**2 xx=ax bessj1=sqrt( /ax)*(os(xx)*(p1+y*(p2+y*(p3+y*(p4+y * *p5))))-z*sin(xx)*(q1+y*(q2+y*(q3+y*(q4+y*q5))))) * *sign(1.,x) Endif Return End Funtion bessy1(x)
79 2.7 附 录 : 特 殊 函 数 的 计 算 79 Real*8 y,p1,p2,p3,p4,p5,q1,q2,q3,q4,q5,r1,r2,r3,r4,r5,r6, * s1,s2,s3,s4,s5,s6,s7 Data p1,p2,p3,p4,p5 /1.D0, D-2, D-4, * D-5, D-6/, * q1,q2,q3,q4,q5 / D0, D-3, * D-5, D-6, D-6/ Data r1,r2,r3,r4,r5,r6 / D13, D13, * D11, D9, D7, * D4/, * s1,s2,s3,s4,s5,s6,s7 / D14, D12, * D10, D8, D6, * D3,1.D0/ If(x.LT.8.) Then y=x**2 bessy1=x*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))))/(s1+y*(s2+y* * (s3+y*(s4+y*(s5+y*(s6+y*s7)))))) * *(bessj1(x)*log(x)-1./x) Else z=8./x y=z**2 xx=x bessy1=sqrt( /x)*(sin(xx)*(p1+y*(p2+y*(p3+y*(p4+y * *p5))))+z*os(xx)*(q1+y*(q2+y*(q3+y*(q4+y*q5))))) Endif Return End 高 阶 第 二 类 贝 塞 尔 函 数 的 值 可 以 通 过 递 推 关 系 求 得, J n (x) 的 计 算 比 较 麻 烦, 对 于 小 n 大 x, 按 照 n 增 加 的 方 向 递 推 是 稳 定 的, ( 实 际 工 作 中 碰 到 的 大 都 是 这 种 情 况 ), 但 对 于 大 n 小 x, 则 必 须 按 照 n 减 小 的 方 向 递 推, 这 就 必 须 选 则 一 个 较 大 的 n, 一 般 取 为 n + Const n, 向 下 递 推 至 0, 再 按 照 恒 等 式 1 = J 0 (x) + 2J 2 (x) + 2J 4 (x) + 2J 6 (x) + 对 计 算 结 果 归 一 化. 下 面 就 是 这 一 想 法 的 实 现. C C Funtion bessy(n,x) If(n.LT.2) Pause'bad argument N in BESSY' tox=2./x by=bessy1(x) bym=bessy0(x) Do 11 j=1,n-1 byp=j*tox*by-bym bym=by by=byp 11 Continue bessy=by Return End Funtion bessj(n,x) Parameter(ia=40,bigno=1.E10,bigni=1.E-10) If(n.LT.2) Pause'bad argument N in BESSJ'
80 80 第 二 章 物 理 学 中 的 常 用 数 值 方 法 ax=abs(x) If(ax.EQ.0.) Then bessj=0. Elseif(ax.GT.float(n)) Then tox=2./ax bjm=bessj0(ax) bj=bessj1(ax) Do 11 j=1,n-1 bjp=j*tox*bj-bjm bjm=bj bj=bjp 11 Continue bessj=bj Else tox=2./ax m=2*((n+int(sqrt(float(ia*n))))/2) bessj=0. jsum=0 sum=0. bjp=0. bj=1. Do 12 j=m,1,-1 bjm=j*tox*bj-bjp bjp=bj bj=bjm If(abs(bj).GT.bigno) Then bj=bj*bigni bjp=bjp*bigni bessj=bessj*bigni sum=sum*bigni Endif If(jsum.NE.0) sum=sum+bj jsum=1-jsum If(j.EQ.n) bessj=bjp 12 Continue sum=2.*sum-bj bessj=bessj/sum Endif If(x.LT.0..AND.mod(n,2).EQ.1) bessj=-bessj Return End 现 在 我 们 讨 论 虚 宗 量 贝 塞 尔 函 数 的 计 算. 虚 宗 量 贝 塞 尔 函 数 定 义 为 : I n (x) = ( i) n J n (ix) K n (x) = π 2 in+1 [J n (ix) + iy n (ix)] (2.229) 在 小 x 极 限 下, 它 们 具 有 如 下 渐 近 形 式 : I n (x) 1 ( x ) n n 0 n! 2 K 0 (x) ln(x) (n 1)! ( x ) n K n (x) n > 0 (2.230) 2 2
81 2.7 附 录 : 特 殊 函 数 的 计 算 81 而 在 大 x 极 限 下, 其 渐 近 形 式 为 : I n (x) K n (x) 1 2πx exp(x) π 2πx exp( x) (2.231) 虚 宗 量 贝 塞 尔 函 数 的 递 推 关 系 与 贝 塞 尔 函 数 的 略 有 不 同, 由 下 式 给 出 : 归 一 化 关 系 为 考 虑 到 上 述 改 变, 我 们 给 出 计 算 程 序 如 下 : C C I n(x) = ni n(x) + I n+1 (x) ( x ) 2n I n+1 (x) = I n (x) + I n 1 (x) x ( ) 2n K n+1 (x) = + K n (x) + K n 1 (x) (2.232) x 1 = I 0 (x) 2I 2 (x) + 2I 4 (x) 2I 6 (x) + Funtion bessi0(x) Real*8 y,p1,p2,p3,p4,p5,p6,p7, * q1,q2,q3,q4,q5,q6,q7,q8,q9 Data p1,p2,p3,p4,p5,p6,p7 /1.0D0, D0, D0, * D0, D0, D-1, D-2/ Data q1,q2,q3,q4,q5,q6,q7,q8,q9 / D0, D-1, * D-2, D-2, D-2, D-1, * D-1, D-1, D-2/ If(abs(x).LT.3.75) Then y=(x/3.75)**2 bessi0=p1+y*(p2+y*(p3+y*(p4+y*(p5+y*(p6+y*p7))))) Else ax=abs(x) y=3.75/ax bessi0=(exp(ax)/sqrt(ax))*(q1+y*(q2+y*(q3+y*(q4 * +y*(q5+y*(q6+y*(q7+y*(q8+y*q9)))))))) Endif Return End Funtion bessi1(x) Real*8 y,p1,p2,p3,p4,p5,p6,p7, * q1,q2,q3,q4,q5,q6,q7,q8,q9 Data p1,p2,p3,p4,p5,p6,p7 /0.5D0, D0, D0, * D0, D-1, D-2, D-3/ Data q1,q2,q3,q4,q5,q6,q7,q8,q9 / D0, D-1, * D-2, D-2, D-1, D-1, * D-1, D-1, D-2/ If(abs(x).LT.3.75) Then y=(x/3.75)**2 bessi1=x*(p1+y*(p2+y*(p3+y*(p4+y*(p5+y*(p6+y*p7)))))) Else
82 82 第 二 章 物 理 学 中 的 常 用 数 值 方 法 C C C C ax=abs(x) y=3.75/ax bessi1=(exp(ax)/sqrt(ax))*(q1+y*(q2+y*(q3+y*(q4+ * y*(q5+y*(q6+y*(q7+y*(q8+y*q9)))))))) If(x.LT.0.) bessi1=-bessi1 Endif Return End Funtion bessk0(x) Real*8 y,p1,p2,p3,p4,p5,p6,p7, * q1,q2,q3,q4,q5,q6,q7 Data p1,p2,p3,p4,p5,p6,p7 / D0, D0, * D0, D-1, D-2, D-3,0.74D-5/ Data q1,q2,q3,q4,q5,q6,q7 / D0, D-1, * D-1, D-1, D-2, D-2, * D-3/ If(x.LE.2.0) Then y=x*x/4.0 bessk0=(-log(x/2.0)*bessi0(x))+(p1+y*(p2+y*(p3+ * y*(p4+y*(p5+y*(p6+y*p7)))))) Else y=(2.0/x) bessk0=(exp(-x)/sqrt(x))*(q1+y*(q2+y*(q3+ * y*(q4+y*(q5+y*(q6+y*q7)))))) Endif Return End Funtion bessk1(x) Real*8 y,p1,p2,p3,p4,p5,p6,p7, * q1,q2,q3,q4,q5,q6,q7 Data p1,p2,p3,p4,p5,p6,p7 /1.0D0, D0, D0, * D0, D-1, D-2, D-4/ Data q1,q2,q3,q4,q5,q6,q7 / D0, D0, * D-1, D-1, D-2, D-2, * D-3/ If(x.LE.2.0) Then y=x*x/4.0 bessk1=(log(x/2.0)*bessi1(x))+(1.0/x)*(p1+y*(p2+ * y*(p3+y*(p4+y*(p5+y*(p6+y*p7)))))) Else y=2.0/x bessk1=(exp(-x)/sqrt(x))*(q1+y*(q2+y*(q3+ * y*(q4+y*(q5+y*(q6+y*q7)))))) Endif Return End Funtion bessk(n,x) If(n.LT.2) Pause'bad argument N in BESSK' tox=2.0/x bkm=bessk0(x) bk=bessk1(x) Do 11 j=1,n-1
83 2.7 附 录 : 特 殊 函 数 的 计 算 83 C C bkp=bkm+j*tox*bk bkm=bk bk=bkp 11 Continue bessk=bk Return End Funtion bessi(n,x) Parameter(ia=40,bigno=1.0E10,bigni=1.0E-10) If(n.LT.2) Pause'bad argument N in BESSI' If(x.EQ.0.) Then bessi=0. Else tox=2.0/abs(x) bip=0.0 bi=1.0 bessi=0. m=2*((n+int(sqrt(float(ia*n))))) Do 11 j=m,1,-1 bim=bip+float(j)*tox*bi bip=bi bi=bim If(abs(bi).GT.bigno) Then bessi=bessi*bigni bi=bi*bigni bip=bip*bigni Endif If(j.EQ.n) bessi=bip 11 Continue bessi=bessi*bessi0(x)/bi If(x.LT.0..AND.mod(n,2).EQ.1) bessi=-bessi Endif Return End 练 习 运 行 上 面 的 程 序, 并 与 你 所 能 得 到 的 贝 塞 尔 函 数 的 数 据 表 比 较 例 题 均 匀 圆 柱, 半 径 为 R, 高 为 H, 柱 侧 有 均 匀 分 布 的 恒 定 热 流 进 入, 其 强 度 为 q 0, 圆 柱 上 下 底 面 保 持 为 恒 定 的 u 0 度, 求 解 柱 内 稳 定 温 度 分 布. 这 一 问 题 的 答 案 是 ( 见 梁 昆 淼, 数 学 物 理 方 法, P376) u u 0 = 4Hq 0 kπ 2 1 I 0 (2l + 1) 2 l=0 I 0 ( (2l+1)π H ρ ) ( (2l+1)πR H ) sin (2l + 1)πz H 利 用 I 0(x) = I 1 (x), 由 上 面 给 出 的 贝 塞 尔 函 数 的 计 算 程 序, 可 以 直 接 用 上 式 求 得 u u 0, 由 于 I 0 和 I 1 在 其 宗 量 较 大 时 指 数 上 升, 为 了 避 免 上 溢, 实 际 计 算 时 对 前 面 所 给 程 序 作 了 很 小 的 改 动, 即 把 指 数 上 升 部 分 提 了 出 来. 图 (2.6) 给 出 了 R = 1, H = 2 时 u u 0 与 z 的
84 84 第 二 章 物 理 学 中 的 常 用 数 值 方 法 图 2.6: 关 系 的 计 算 结 果. 从 下 至 上, 曲 线 依 次 对 应 于 ρ = 0, 0.2, 0.4, 0.6, 0.8, 1.0, 从 图 中 可 见, 在 柱 的 轴 线 方 向, 中 间 温 度 最 高, 沿 柱 的 径 向, 则 表 面 温 度 最 高, 这 些 特 点, 在 解 析 式 子 中 是 很 难 看 出 来 的 球 谐 函 数 的 计 算 球 谐 函 数 在 物 理 学 的 各 个 子 领 域 中 都 经 常 遇 到, 它 是 Laplae 方 程 在 球 坐 标 中 分 离 变 量 的 自 然 结 果. 球 谐 函 数 通 常 通 过 连 带 勒 让 德 多 项 式 来 定 义 : 2l + 1 (l m)! Y lm (θ, ϕ) = 4π (l + m)! P l m (os θ)e imϕ (2.233) 利 用 关 系 式 Y l, m (θ, ϕ) = ( 1) m Y lm(θ, ϕ) (2.234) 我 们 总 可 以 把 一 个 任 意 球 谐 函 数 与 m 0 的 连 带 勒 让 德 多 项 式 联 系 起 来. 令 x os θ, 连 带 勒 让 德 多 项 式 定 义 为 : Pl m (x) = ( 1) m (1 x 2 m/2 dm ) dx P l(x) (2.235) m P l (x) 为 l 阶 勒 让 德 多 项 式. 连 带 勒 让 德 多 项 式 有 关 系 式 因 此 我 们 只 需 要 计 算 m > 0 的 情 形. P m m (l m)! l (os θ) = ( 1) (l + m)! P l m (os θ)
85 2.7 附 录 : 特 殊 函 数 的 计 算 85 且 连 带 勒 让 德 多 项 式 满 足 如 下 的 递 推 关 系 : (l m)pl m (x) = x(2l 1)Pl 1 m (l + m 1)Pl 2 m (2.236) P m m (x) = ( 1) m (2m 1)!!(1 x 2 ) m/2 P m m+1(x) = x(2m + 1)P m m (x) (2.237) 由 此, 我 们 得 到 计 算 连 带 勒 让 德 多 项 式 的 程 序 如 下 : Funtion plgndr(l,m,x) If(m.LT.0.OR.m.GT.l.OR.abs(x).GT.1.) Pause'bad arguments' pmm=1. If(m.GT.0) Then somx2=sqrt((1.-x)*(1.+x)) fat=1. Do 11 i=1,m pmm=-pmm*fat*somx2 fat=fat Continue Endif If(l.EQ.m) Then plgndr=pmm Else pmmp1=x*(2*m+1)*pmm If(l.EQ.m+1) Then plgndr=pmmp1 Else Do 12 ll=m+2,l pll=(x*(2*ll-1)*pmmp1-(ll+m-1)*pmm)/(ll-m) pmm=pmmp1 pmmp1=pll 12 Continue plgndr=pll Endif Endif Return End 当 m = 0 时, 程 序 给 出 勒 让 德 多 项 式 的 值. 球 谐 函 数 则 可 通 过 连 带 勒 让 德 多 项 式 乘 以 一 个 因 子 得 到. 例 题 : 设 半 径 为 a 的 球 面 上 的 势 给 定 为 ( 取 球 坐 标, 坐 标 原 点 取 到 球 心 ) { +V 0 θ < π V (θ) = V 2 π < θ π 2 其 球 外 的 电 势 可 解 出 为 ( 见 D. J. 杰 克 逊, 经 典 电 动 力 学, 朱 培 豫 译, P101) Φ(r, θ) = V ( 1) j 1 (2j 1)Γ ( ) j 1 ( 2 2 a ) 2j P2j 1 (os θ) π j! r j=1 利 用 本 节 提 供 的 计 算 Γ 函 数 和 勒 让 德 多 项 式 的 子 程 序, 直 接 对 上 式 求 和, 就 可 得 到 电 势 的 图 像, 图 (2.7) 是 对 五 个 r, (r = 1.1a, 1.6a, 2.1a, 2.6a, 3.1a) 的 数 值 所 做 的 计 算 结 果.
86 86 第 二 章 物 理 学 中 的 常 用 数 值 方 法 图 2.7: 椭 圆 积 分 的 计 算 我 们 知 道, 形 如 dx A(x) + B(x) S(x) C(x) + D(x) S(x) (2.238) 的 积 分 总 可 以 表 示 为 椭 圆 积 分. 这 里 A, B, C, 和 D 为 任 意 多 项 式 而 S 是 一 个 三 次 或 四 次 多 项 式. 为 了 计 算 椭 圆 积 分 的 数 值, 我 们 定 义 广 义 第 二 类 不 完 全 椭 圆 积 分 如 下 : el2(y, k, a, b) y 这 里 y 0, a, b, k 可 以 是 任 何 实 数. 做 变 量 替 换 我 们 得 到 广 义 第 二 类 不 完 全 椭 圆 积 分 的 等 价 表 示 : 0 (a + bx 2 )dx (1 + x 2 ) (1 + x 2 )(1 + k 2 x 2 ) (2.239) x = tan ϕ k 2 = 1 k 2 (2.240) el2(y, k, a, b) = = tan 1 y 0 tan 1 y 0 (a + b tan 2 ϕ)dϕ (1 + tan 2 ϕ) (1 + tan 2 ϕ)(1 + k 2 tan 2 ϕ) a + (b a) sin 2 ϕ dϕ (2.241) 1 k2 sin 2 ϕ 另 一 个 有 用 的 函 数 是 广 义 完 全 椭 圆 积 分, 定 义 为 : el(k, p, a, b) = 0 π/2 0 (a + bx 2 )dx (1 + px 2 ) (1 + x 2 )(1 + k 2 x 2 ) a os 2 ϕ + b sin 2 ϕ (os 2 ϕ + p sin 2 ϕ) dϕ (2.242) os 2 ϕ + k 2 sin 2 ϕ
87 2.7 附 录 : 特 殊 函 数 的 计 算 87 利 用 上 述 两 个 函 数, 则 第 一 类 勒 让 德 椭 圆 积 分 可 表 示 为 : F (ϕ, k) = ϕ 0 dϕ x 1 k2 sin 2 ϕ = dx (1 + x2 )(1 + kx 2 2 ) = el2(x, k, 1, 1) (2.243) 0 这 里 x = tan ϕ, k 2 = 1 k 2 第 一 类 完 全 椭 圆 积 分 可 表 示 为 : 第 二 类 勒 让 德 椭 圆 积 分 可 表 示 为 : E(ϕ, k) = ϕ 0 1 k 2 sin 2 ϕdϕ = 第 二 类 完 全 椭 圆 积 分 可 表 示 为 : K(k) F ( π 2, k) = el(k, 1, 1, 1) (2.244) x k 2 x 2 (1 + x 2 ) (1 + x 2 ) dx = el2(x, k, 1, k 2 ) (2.245) E(k) E( π 2, k) = el(k, 1, 1, k 2 ) (2.246) 这 里 不 给 出 算 法, 讲 义 所 附 计 算 el2 和 el 的 程 序 可 作 为 一 个 黑 匣 子 来 使 用. 例 题 : 考 虑 一 个 单 摆, 由 一 质 量 为 m 的 重 锤 和 一 长 为 l 的 轻 绳 构 成, 平 衡 时 重 锤 坚 直 向 下, 取 摆 绳 偏 离 平 衡 位 置 的 夹 角 为 θ, 则 摆 的 运 动 方 程 为 θ = g l sin θ 其 中 g 为 重 力 加 速 度, 当 θ << 1 时, sin θ θ, 上 面 方 程 可 容 易 解 出, 由 此 可 求 得 单 摆 的 周 期 为 为 了 求 得 一 般 结 果, 把 原 方 程 改 写 为 上 式 两 边 乘 以 θ 并 积 分 得 : l T 0 = 2π g T 2 0 θ = (2π) 2 sin θ dθ dt = ±2π T 0 2(os θ os α) 式 中 α 为 一 积 分 常 数, 代 表 单 摆 的 最 大 摆 角, + 号 表 示 θ 增 加 方 向, 号 表 示 θ 减 小 方 向. 上 式 可 进 一 步 化 为 dt = ± T 0 4π dθ sin 2 α 2 sin2 θ 2
88 88 第 二 章 物 理 学 中 的 常 用 数 值 方 法 T/T α/π 图 2.8: 单 摆 的 周 期 与 最 大 偏 角 之 间 的 关 系 若 设 t = 0 时, θ = 0, 考 虑 0 t T /4, 0 θ α 之 间 的 运 动, 作 代 换 sin θ 2 = sin α 2 sin ϕ, 则 1 ϕ t = T 0 2π 0 dϕ 1 sin 2 α 2 1 = T 0 2π F (ϕ, k) = T 1 0 2π el2(x, k, 1, 1) 其 中 k = sin α, x = tgϕ, k 2 = 1 k 2, 当 θ = α 时, ϕ = π, 由 此 得 摆 的 严 格 周 期 为 2 1 T = 4T 0 2π F (2π 2, k) = T 2 0 π el(k, 1, 1, 1) 图 (2.8) 是 按 照 上 式 求 出 的 T α 关 系. 2.8 附 录 : 高 斯 积 分 的 节 点 和 权 重 这 里 给 出 若 干 常 用 的 高 斯 积 分 的 节 点 和 权 重 表, 更 多 的 数 表 可 在 M. Abramowitz & A. Stegun 编 写 的 Handbook of Mathematial Funtions 中 找 到.
89 2.8 附 录 : 高 斯 积 分 的 节 点 和 权 重 89 表 2.2: 高 斯 勒 让 德 积 分 的 节 点 和 权 重 ±x i w i n= n= n= n= n= n= n=
90 90 第 二 章 物 理 学 中 的 常 用 数 值 方 法 表 2.3: 等 权 重 切 贝 雪 夫 积 分 的 节 点 n ±x i n ±x i n ±x i
91 2.8 附 录 : 高 斯 积 分 的 节 点 和 权 重 91 表 2.4: 高 斯 拉 盖 尔 积 分 的 节 点 和 权 重, 表 示 形 式 为 (E)B = B 10 E x i w i w i e x i n= (-1) (-1) n= (-1) (-1) (-2) (-3) (-5) n= (-1) (-1) (-1) (-2) (-4) (-7) n= (-1) (-1) (-1) (-2) (-3) (-5) (-8) n= (-1) (-1) (-1) (-2) (-3) (-5) (-7) (-9)
92 92 第 二 章 物 理 学 中 的 常 用 数 值 方 法 表 2.5: 高 斯 厄 米 积 分 的 节 点 和 权 重, 表 示 形 式 为 (E)B = B 10 E ±x i w i w i e x2 i n= (-1) n= (-1) (-1) (-2) n= (-1) (-1) (-3) n= (-1) (-1) (-2) (-4) n= (-1) (-1) (-2) (-4)
93 第 三 章 数 值 线 性 代 数 在 这 一 章 里, 我 们 将 讨 论 物 理 学 中 非 常 重 要 的 一 类 计 算 问 题, 即 关 于 线 性 代 数 的 计 算 问 题. 线 性 代 数 计 算 也 是 计 算 数 学 中 研 究 的 最 透 彻 的 问 题 之 一, 目 前 已 经 有 一 些 十 分 完 整 的 程 序 包 运 行 在 从 微 机 到 大 型 机 的 各 种 不 同 档 次 的 计 算 机 上, 其 中 最 著 名 的 是 Linpak 和 Eispak, 第 一 个 是 求 解 线 性 方 程 组 的 通 用 软 件 包, 第 二 个 是 求 解 各 种 矩 阵 本 征 值 和 本 征 向 量 的 通 用 软 件 包. 1 目 前, 这 两 个 包 已 经 合 并 为 LAPACK 软 件 包, 与 基 本 线 性 代 数 包 BLAS 联 合, 可 以 解 决 几 乎 所 有 的 线 性 代 数 问 题. 这 些 软 件 包 可 在 免 费 获 得, 在 校 园 里 十 分 流 行 的 工 具 软 件 Matlab 为 上 述 软 件 包 做 了 很 好 的 界 面, 可 以 帮 助 方 便 使 用. 但 另 一 方 面, 大 型 软 件 包 由 于 包 含 的 程 序 多, 调 用 路 径 复 杂, 对 于 一 些 较 为 简 单 的 问 题, 使 用 起 来 颇 有 牛 刀 杀 鸡 之 感. 因 此, 在 这 一 章 里, 我 们 将 介 绍 几 种 常 见 的 线 性 代 数 问 题 的 计 算 方 法, 对 于 在 研 究 中 碰 到 的 较 为 复 杂 的 问 题, 强 烈 建 议 使 用 前 面 所 提 软 件 包 中 的 标 准 程 序. 3.1 主 元 消 去 法 解 线 性 代 数 方 程 组 一 个 n 元 线 性 代 数 方 程 组 记 为 A X = B (3.1) 这 里, A = a 11 a 12 a 1n a 21 a 22 a 2n.... a n1 a n2 a nn 为 一 n n 矩 阵, X = [x 1, x 2,, x n ] T, B = [b 1, b 2,, b n ] T 1 国 内 最 早 对 这 两 个 软 件 包 进 行 系 统 介 绍 的 是 郭 富 印, 冯 国 环, 石 中 岳 和 朱 耀 祖 所 编 FORTRAN 算 法 汇 编, 第 三 分 册, 并 对 软 件 包 做 了 一 些 扩 充, 但 所 附 程 序 有 个 别 印 刷 错 误.
94 94 第 三 章 数 值 线 性 代 数 为 列 向 量. 显 然, 方 程 (3.1) 的 解 可 形 式 地 写 为 X = A 1 B 但 这 一 形 式 对 于 实 际 计 算 没 有 什 么 用 处. 一 个 实 用 的 算 法 是 消 去 法, 其 计 算 过 程 是 相 当 简 单 的, 首 先, 用 矩 阵 A 的 第 一 行 分 别 乘 以 某 一 适 当 的 数 与 其 它 各 行 相 加, 使 得 矩 阵 A 的 第 一 列 除 a 11 外 全 为 0, 同 时, 对 列 矩 阵 B 施 行 同 样 的 运 算, 由 线 性 代 数 知 道, 这 样 的 运 算 相 当 于 用 第 一 个 方 程 分 别 乘 以 某 一 数 值 与 其 它 方 程 相 加, 而 这 样 的 运 算 并 不 改 变 原 方 程 组 的 解. 用 A 的 第 二 行 分 别 乘 以 某 一 适 当 数 值 与 其 它 各 行 相 加, 同 时 对 B 施 行 同 样 的 运 算, 便 可 以 把 A 的 第 二 列 除 a 22 外 的 元 素 化 为 0, 这 一 过 程 可 以 一 直 (?) 进 行 下 去, 最 后 得 到 一 个 对 角 矩 阵 的 方 程, 其 解 可 直 接 写 出. 然 而, 上 述 过 程 并 不 总 是 能 够 成 功, 事 实 上, 直 接 用 这 一 方 法 计 算 的 话, 大 部 分 问 题 都 无 法 求 解, 一 个 极 端 的 例 子 是, 如 果 a 11 = 0, 则 显 然 第 一 步 就 完 不 成. 解 决 这 一 问 题 的 方 法 自 然 是 十 分 简 单 的, 只 要 交 换 第 一 个 方 程 和 另 一 个 x 1 的 系 数 不 为 0 的 方 程 就 行 了, 实 际 上, 应 该 选 择 x 1 的 系 数 的 绝 对 值 最 大 的 方 程 与 之 交 换, 这 样 可 使 舍 入 误 差 最 小. 既 然 如 此, 对 于 a 11 0 的 情 形, 我 们 也 可 以 作 这 样 一 个 交 换, 把 x 1 的 系 数 的 绝 对 值 最 大 的 方 程 放 在 第 一 个, 这 一 过 程 称 为 选 列 主 元. 当 然, 我 们 对 于 其 后 的 运 算 也 要 进 行 选 主 元 计 算. 完 成 选 列 主 元 的 过 程 等 价 于 交 换 矩 阵 A 的 二 行, 这 一 过 程 并 不 改 变 原 方 程 的 解, 所 以 无 需 保 留 任 何 交 换 的 信 息. 也 许 大 家 可 能 已 经 想 到, 如 果 在 每 一 个 方 程 内, 在 计 算 的 每 一 步 把 系 数 最 大 的 那 一 项 放 在 第 一 个, 可 能 数 值 性 态 会 更 好. 事 实 确 是 如 此, 实 现 这 一 过 程 称 为 选 行 主 元, 可 以 通 过 交 换 矩 阵 的 两 列 来 实 现. 由 于 选 行 主 元 改 变 了 原 方 程 的 结 构, 所 以 在 计 算 的 每 一 步 都 要 保 留 行 主 元 的 信 息, 在 最 后 恢 复 到 原 方 程 的 解. 这 一 过 程 叫 做 全 主 元 高 斯 消 去 法. 我 们 立 刻 可 以 看 到, 这 一 过 程 对 于 求 解 一 组 方 程 和 求 解 A 相 同 而 方 程 右 边 不 同 的 数 组 方 程 一 样 容 易, 更 进 一 步, A 的 逆 矩 阵 也 可 同 时 求 出 ( 如 何 求?). 3.2 LU 分 解 法 前 节 讲 述 的 方 法 基 本 可 以 满 足 一 般 问 题 的 需 要, 但 也 有 一 个 严 重 的 缺 点, 这 就 是 必 须 事 先 知 道 方 程 的 右 边 B, 有 时 候, 我 们 需 要 求 解 这 样 一 类 方 程 组, 其 系 数 矩 阵 是 给 定 的, 但 B 随 问 题 而 变 且 事 先 并 不 知 道. 对 这 样 一 类 问 题, LU 分 解 法 提 供 了 最 好 的 解 决 办 法. 假 定 我 们 可 以 把 矩 阵 A 分 解 为 L U = A (3.2)
95 3.2 LU 分 解 法 95 这 里 L 为 一 下 三 角 矩 阵, U 是 一 个 上 三 角 矩 阵, 其 形 式 为 α α 21 α 22 0 L =.... α n1 α n2 α nn β 11 β 12 β 1n 0 β 22 β 2n U = β nn 利 用 (3.2), 方 程 (3.1) 可 写 为 (3.3) (3.4) A X = L U X = B (3.5) 定 义 一 个 矢 量 Y 为 下 面 方 程 的 解 则 L Y = B (3.6) U X = Y (3.7) 的 解 即 为 原 方 程 (3.1) 的 解. 方 程 (3.6) 和 (3.7) 的 求 解 是 平 庸 的, (3.6) 可 用 所 谓 向 前 代 入 法 求 解, 即 y 1 = b 1 α 11 y i = 1 α ii 而 (3.7) 可 用 向 后 代 入 法 求 解, [ ] i 1 b i α ij y i j=1 i = 2, 3,, n (3.8) x n = y n β nn x i = 1 β ii [ y i n j=i+1 β ij x j ] i = n 1, n 2,, 2 (3.9) 上 述 计 算 是 直 接 了 当 的, 因 此, 只 要 有 了 矩 阵 A 的 LU 分 解, 对 于 任 一 B, 我 们 只 需 按 (3.8) 和 (3.9) 作 简 单 计 算 便 可 求 得 其 解. 现 在 的 问 题 是 要 找 出 矩 阵 A 的 LU 分 解, 为 此, 我 们 写 出 方 程 (3.2) 的 分 量 形 式 α i1 β 1j + α i2 β 2j + + α ii β ij = a ij 当 i < j α i1 β 1j + α i2 β 2j + + α ii β jj = a ij 当 i = j α i1 β 1j + α i2 β 2j + + α ij β jj = a ij 当 i > j (3.10)
96 96 第 三 章 数 值 线 性 代 数 上 式 共 有 n 2 个 方 程, 而 有 n 2 + n 个 末 知 数, 由 于 末 知 数 的 数 目 大 于 方 程 的 数 目, 我 们 可 以 任 意 指 定 n 个 条 件, 然 后 求 解 这 组 方 程. 如 果 指 定 α ii = 1 i = 1, 2,, n (3.11) 则 方 程 (3.10) 可 以 十 分 方 便 的 求 出. 其 算 法 通 常 称 为 Crout 算 法, 可 表 述 为 : 对 每 一 个 j = 1, 2, 3,, n, 作 如 下 两 步 运 算 : 1. 对 i = 1, 2,, j, 利 用 (3.10) 的 一, 二 两 式 及 (3.11) 求 解 β ij, 即 β 1j = a 1j i 1 β ij = a ij α ik β kj i = 2, 3,, j (3.12) 2. 对 i = j + 1, j + 2,, n, 利 用 (3.10) 的 第 三 式 求 解 α ij, 即 k=1 α i1 = 1 a i1 β 11 [ ] α ij = 1 j 1 a ij α ik β kj β jj k=1 请 读 者 用 铅 笔 和 纸 按 照 上 面 的 算 法 做 几 步, 以 验 证 : 方 程 (3.12) 和 (3.13) 右 边 的 诸 α, β 在 需 要 时 已 经 算 出. i = 2, 3,, j (3.13) 每 一 个 a ij 只 使 用 一 次 且 用 过 后 不 再 需 要, 也 就 是 说, α ij 或 β ij 可 以 取 代 a ij 以 节 约 存 储 空 间. 当 完 成 LU 分 解 之 后, 矩 阵 A 变 为 如 下 形 式 : β 11 β 12 β 1n α 21 β 22 β 2n... α n1 α n2 β nn (3.14) 在 描 述 Crout 算 法 时, 我 们 有 意 回 避 了 选 主 元 的 问 题. 这 并 不 意 味 着 主 元 的 选 取 不 重 要, 而 是 为 了 表 述 清 楚. 因 为 这 是 本 讲 义 中 很 少 的 几 个 给 出 详 细 描 述 的 算 法 之 一. 在 Crout 算 法 中, 只 选 列 主 元, 因 为 这 样 做 并 不 会 改 变 原 方 程 组, 而 仅 仅 是 交 换 方 程 而 已. 因 此, 选 列 主 元 后, 我 们 得 到 的 实 际 上 是 A 的 进 行 了 某 些 行 交 换 之 后 的 矩 阵 的 LU 分 解. 练 习 请 证 明, 在 LU 分 解 下, 矩 阵 A 的 行 列 式 由 下 式 给 出 det(a) = Π n j=1β jj 如 何 利 用 LU 分 解 计 算 矩 阵 A 的 逆 矩 阵? 请 给 出 关 键 程 序 段
97 3.3 三 对 角 方 程 组 的 求 解 三 对 角 方 程 组 的 求 解 前 面 两 节 的 方 法 可 以 解 决 任 何 线 性 代 数 方 程 组 的 求 解 问 题, 但 在 实 际 工 作 中 常 常 遇 到 一 些 特 殊 形 式 的 方 程 组, 这 些 方 程 组 当 然 可 以 利 用 前 面 的 一 般 方 法 求 解, 但 如 果 我 们 充 分 利 用 它 们 的 特 殊 性, 则 可 以 更 快 地 得 到 结 果, 或 者 在 同 样 的 计 算 条 件 下 求 解 更 大 的 问 题. 三 对 角 方 程 组 是 最 常 见 的 特 殊 形 式 的 方 程 组 之 一, 它 在 后 面 将 要 讲 到 的 微 分 方 程 求 解 问 题, 在 固 体 物 理 的 紧 束 缚 近 似 方 程 中 均 会 出 现, 因 此 我 们 在 此 给 出 其 求 解 方 法. 三 对 角 方 程 组 是 指 由 下 式 给 出 的 方 程 组 b a 2 b 2 2 a n 1 b n 1 n 1 u 1 u 2 u n 1 = r 1 r 2 r n 1 (3.15) 0 a n b n u n r n 对 上 面 方 程 利 用 高 斯 消 去 法 求 解, 就 可 以 得 到 所 谓 的 追 赶 法, 描 述 如 下, 1. 令 u 1 = r 1 /b 1, γ 1 = 0, 对 j = 2, 3,, n, 作 运 算 γ j = j 1 b j 1 a j 1 γ j 1 u j r j a j u j 1 b j a j γ j (3.16) 2. 对 j = n 1, n 2,, 1, 作 运 算 u j u j γ j+1 u j+1 (3.17) 练 习 试 证 明 上 面 的 算 法 确 实 给 出 (3.15) 的 解 在 这 一 算 法 中, 我 们 没 有 施 行 选 主 元 的 运 算, 因 为 主 元 的 选 取 将 破 坏 原 方 程 的 结 构, 而 原 方 程 的 特 殊 结 构 正 是 我 们 构 造 上 述 算 法 的 基 础, 在 大 部 分 实 际 问 题 中, 三 对 角 方 程 组 的 对 角 线 元 素 本 身 已 经 是 主 元. 因 此, 这 一 缺 陷 对 大 部 分 应 用 不 会 有 影 响, 如 果 在 某 一 问 题 的 求 解 中 上 述 方 法 失 败, 则 建 议 改 用 LU 分 解 方 法, 全 主 元 消 去 法 可 作 为 最 后 的 选 择.
98 98 第 三 章 数 值 线 性 代 数 3.4 实 对 称 矩 阵 的 本 征 值 和 本 征 向 量 计 算 矩 阵 本 征 值 问 题 的 最 佳 办 法 是, 首 先, 把 矩 阵 约 化 为 一 简 单 形 式, 然 后 用 能 够 保 持 这 一 简 单 形 式 的 叠 代 方 法 计 算. 常 用 的 约 化 方 法 有 Givens 方 法 和 Householder 方 法. 常 用 的 叠 代 方 法 有 QR 方 法 和 QL 方 法 等. 这 一 节 我 们 介 绍 Householder 方 法 和 QL 方 法. 本 节 给 出 的 程 序 均 取 自 Eispak, 这 是 一 个 经 过 多 年 考 验 的 软 件 包 Householder 方 法 Householder 方 法 通 过 n 2 步 正 交 变 换 把 一 n n 实 对 称 矩 阵 A 约 化 为 三 对 角 形 式, 即 除 了 主 对 角 线 和 次 对 角 线 外 的 元 素 均 为 0. 这 一 变 换 的 最 基 本 的 部 分 是 Householder 矩 阵 P, 它 具 有 下 面 的 形 式 P = 1 2w w T (3.18) 这 里 w 为 一 实 矢 量 且 满 足 w 2 w T w = 1. 矩 阵 P 是 正 交 的, 这 可 以 简 单 证 明 如 下 P 2 = (1 2w w T ) (1 2w w T ) = 1 4w w T + 4w (w T w) w T = 1 因 此 P = P 1. 由 (3.18) 可 知 P T = P, 所 以 P 1 = P T 即 P 为 一 正 交 矩 阵. 把 P 写 为 P = 1 u ut H 此 处 H 1 2 u 2, u 为 一 任 意 非 零 实 矢 量. 如 果 x 是 由 A 的 第 一 列 构 成 的 矢 量, 选 择 (3.19) u = x x e 1 (3.20) 这 里 e 1 = [1, 0, 0,, 0] T 为 一 单 位 矢 量, 正 负 号 的 选 择 在 后 面 给 出. 则 P x = x u H (x x e 1 )T x = x 2u ( x 2 x x 1 ) 2 x 2 2 x x 1 = x u = ± x e 1 (3.21) 这 一 结 果 证 明, 当 把 P 作 用 在 定 义 P 的 给 定 矢 量 x 上 时, 将 把 x 的 除 第 一 个 元 素 外 的 所 有 元 素 变 为 0.
99 3.4 实 对 称 矩 阵 的 本 征 值 和 本 征 向 量 99 为 了 把 实 对 称 矩 阵 A 变 换 为 三 对 角 形 式, 我 们 选 择 构 成 第 一 个 Householder 矩 阵 的 矢 量 x 为 A 的 第 一 列 的 后 n 1 个 元 素, 即 取 x = [0, a 21, a 31,, a n1 ] T (3.22) 于 是 P 1 具 有 形 式 P 1 = P [n 1] 1 0 (3.23) 这 里 P [n 1] 1 为 一 (n 1) (n 1) 维 的 Householder 矩 阵. 用 P 对 A 进 行 变 换, 得 到 a 11 k 0 0 k A = P 1 A P = 0 (3.24). A [n 1] 0 式 中 k 为 (3.22) 给 出 的 矢 量 x 的 模 的 正 值 或 负 值, A [n 1] 为 一 (n 1) (n 1) 维 实 对 称 矩 阵. 现 在, 选 择 构 成 第 二 个 Householder 矩 阵 的 矢 量 x 为 A [n 1] 的 第 一 列 的 后 n 2 个 元 素, 于 是 P 1 具 有 形 式 P 2 = P [n 2] (3.25) 左 上 角 的 单 位 矩 阵 保 证 了 第 一 步 所 得 到 的 三 对 角 形 式 不 会 在 这 一 步 的 变 换 中 被 改 变. 用 P 2 对 A 进 行 变 换 将 产 生 第 二 个 三 对 角 输 出. 显 然, 经 过 n 2 步 这 样 的 变 换, 我 们 将 得 到 一 个 三 对 角 矩 阵. 于 是 实 际 计 算 P A P 时, 并 不 需 要 做 两 次 矩 阵 乘 法, 而 用 下 面 的 技 巧, 计 算 矢 量 p A u H A P = A (1 u ) ut = A p u T H P A P = A p u T u p T + 2Ku u T (3.26)
100 100 第 三 章 数 值 线 性 代 数 这 里 K 由 下 式 定 义 为 记 则 K = ut p 2H (3.27) q p Ku (3.28) P A P = A q u T u q T (3.29) 这 是 实 际 使 用 的 计 算 公 式. 下 面 将 要 给 出 的 程 序 使 用 了 与 上 面 的 描 述 稍 有 不 同 的 次 序, 即 从 A 的 第 n 列 开 始 计 算. 用 到 的 公 式 列 出 如 下, 读 者 应 能 根 据 前 面 的 介 绍 读 懂 每 一 步 的 内 容. 在 第 m 步, (m = 1, 2,, n 2), u 具 有 下 述 形 式 u = [a i1, a i2,, a ii 1, ± σ, 0,, 0] (3.30) 这 里 i n m + 1 = n, n 1,, 3 (3.31) σ = (a i1 ) 2 + (a i2 ) (a ii 1 ) 2 (3.32) 在 (3.30) 中, 我 们 选 择 σ 的 符 号 与 a ii 1 的 符 号 一 致 以 减 小 舍 入 误 差. 各 个 变 量 以 下 面 的 次 序 计 算, σ, u, H, p, K, q, A. 在 第 m 步, A 对 于 其 后 面 的 m 1 行 和 列 是 三 角 的. 如 果 最 终 的 三 对 角 矩 阵 的 本 征 矢 量 可 以 求 得, 则 A 的 本 征 矢 量 可 以 通 过 作 用 下 面 的 变 换 矩 阵 而 得 到 Q = P 1 P 2 P n 2 (3.33) 如 果 在 计 算 的 某 一 步 x 的 模 为 0, 则 这 一 步 变 换 无 需 进 行, 为 此, 可 引 入 如 下 判 据, 定 义 i 1 ϵ = a ik (3.34) k=1 如 果 在 机 器 精 度 级 ϵ = 0, 则 跳 过 这 一 次 变 换, 否 则, 把 a ik 换 为 a ik /ϵ, 并 利 用 新 的 a ik 进 行 变 换, 因 为 Householder 变 换 只 与 元 素 的 相 对 大 小 有 关 QL 算 法 QL 算 法 的 基 本 思 想 是, 任 何 实 矩 阵 可 以 分 解 为 A = Q L (3.35)
101 3.4 实 对 称 矩 阵 的 本 征 值 和 本 征 向 量 101 其 中 Q 为 一 正 交 矩 阵, 而 L 是 一 下 三 角 矩 阵. 现 在 把 上 式 中 前 后 两 项 互 换 相 乘, 则 有 A = L Q (3.36) 方 程 (3.35) 意 味 着 L = Q T A, 于 是 A = Q T A Q (3.37) 即 A 是 A 的 一 个 正 交 变 换. 对 于 一 般 实 矩 阵, 可 以 证 明, 如 果 反 复 进 行 上 述 变 换, 则 A 将 依 不 同 情 况 最 终 收 敛 于 下 面 的 形 式 : (i), 如 果 A 的 本 征 值 的 绝 对 值 λ i 各 不 相 同, 则 A 收 敛 于 一 下 三 角 矩 阵, 其 本 征 值 按 绝 对 值 大 小 沿 对 角 线 排 列. (ii), 如 果 A 的 某 一 本 征 值 的 绝 对 值 λ i 具 有 简 并 度 p, 则 除 了 一 个 p 阶 的 位 于 对 角 位 置 的 方 阵 外, A 收 敛 于 一 下 三 角 矩 阵, 且 对 角 方 阵 的 本 征 值 趋 于 λ i. 这 一 定 理 的 证 明 较 繁, 这 里 不 亦 给 出. 对 于 实 对 称 矩 阵, 则 A 收 敛 于 一 对 角 矩 阵 及 代 表 相 同 本 征 值 的 对 角 块. 上 三 角 元 素 趋 于 零 的 速 度 为 a (s) ij ( ) s λi 这 里 上 标 s 代 表 叠 代 次 数. 尽 管 λ i < λ j, 但 当 λ i 与 λ j 很 接 近 时, 收 敛 将 是 很 慢 的. 为 了 解 决 这 一 问 题, 可 采 用 移 位 叠 代 的 方 法. 我 们 不 在 此 讨 论 这 种 方 法. 针 对 对 称 矩 阵, 可 以 采 用 隐 式 位 移 叠 代 方 法. 关 于 这 些 方 法 的 介 绍, 请 参 看 J. H. Wilkinson and C. Reinsh Linear Algebra 一 书. λ j 物 理 中 常 见 的 另 一 种 矩 阵 是 厄 米 矩 阵, 这 在 量 子 力 学 问 题 中 经 常 出 现. 如 果 C 为 一 厄 米 矩 阵, C = A + i B, 则 显 然 有, A T = A, B T = B, 因 此, 矩 阵 C 的 本 征 值 问 题 可 以 转 化 为 一 个 实 对 称 矩 阵 的 问 题. C 的 本 征 值 问 题 是 (A + i B)(u + i v) = λ(u + i v) (3.38) 代 替 上 面 的 方 程, 我 们 考 虑 下 面 的 本 征 值 问 题 [ ] [ A B u ] [ u ] B A v = λ v (3.39) 这 是 一 个 实 对 称 矩 阵 的 本 征 值 问 题, 若 C 的 本 征 值 为 λ 1, λ 2,, λ n, 本 征 向 量 为 u + i v, 则 方 程 (3.39) 的 本 征 值 为 λ 1, λ 1, λ 2, λ 2,, λ n, λ n, 本 征 向 量 为 [u, v] T 和 [ v, u] T, 因 此, 由 上 述 对 应 关 系 及 我 们 已 经 知 道 的 实 对 称 矩 阵 问 题 的 解 法, 就 可 以 求 得 厄 米 矩 阵 的 本 征 值 问 题. 练 习 请 证 明 前 段 的 论 断
102 102 第 三 章 数 值 线 性 代 数
103 第 四 章 电 磁 场 的 计 算 4.1 Maxwell 方 程, 边 值 问 题 电 磁 场 的 分 析 和 计 算 在 物 理 和 工 程 应 用 中 都 占 有 重 要 的 地 位. 它 的 基 础 是 Maxwell 方 程 组. 从 数 学 上 看, 电 磁 场 的 分 析 和 计 算 问 题 归 结 为 偏 微 分 方 程 边 值 问 题 的 求 解. 具 体 的 计 算 方 法 可 以 分 为 两 大 类, 一 类 是 解 析 方 法, 另 一 种 是 数 值 方 法. 解 析 方 法 就 是 把 要 求 的 解 表 示 成 解 析 形 式 或 无 穷 级 数, 它 只 适 用 于 边 界 形 状 比 较 简 单 ( 如 球, 柱 等 ) 的 问 题, 应 用 范 围 相 当 有 限. 这 一 方 法 在 数 学 物 理 方 法 课 程 中 已 经 做 了 详 细 讨 论. 数 值 方 法 是 解 决 实 际 问 题 最 有 效 最 普 遍 的 方 法, 随 着 电 子 计 算 机 的 高 速 发 展, 它 已 成 为 工 程 中 的 一 种 常 规 分 析 方 法. 这 一 章 将 以 静 电 场 的 计 算 为 例, 简 单 介 绍 有 限 差 分 法 和 有 限 元 方 法, 这 是 目 前 应 用 最 多 的 两 种 方 法. 电 磁 场 计 算 的 理 论 基 础 是 Maxwell 方 程, 它 的 微 分 形 式 为 : E = B t D = ρ H = J + D t B = 0 (4.1) 式 中, E 为 电 场 强 度, D 为 电 位 移 矢 量, B 为 磁 感 应 强 度, H 为 磁 场 强 度, ρ 和 J 分 别 为 电 荷 密 度 和 电 流 密 度. 对 于 各 向 同 性 的 线 性 介 质, 上 式 中 各 量 之 间 满 足 下 面 的 本 构 方 程 D = εe B = µh J = σe (4.2) 其 中 ε, µ, σ 分 别 为 介 质 的 介 电 常 数, 导 磁 系 数 和 电 导 率. 在 两 种 介 质 的 分 界 面 上, 介 质 的 特 性 系 数 如 ε, µ, σ 将 发 生 突 变. 在 这 种 情 况 下 将 出 现 面 电 荷, 面 电 流 的 分 布, 从 而 使 场 矢
104 104 第 四 章 电 磁 场 的 计 算 量 也 发 生 突 变, 这 种 突 变 由 下 面 的 联 接 条 件 给 出 n (D 2 D 1 ) = ρ s n (E 2 E 1 ) = 0 n (B 2 B 1 ) = 0 n (H 2 H 1 ) = J s n (J 2 J 1 ) = dρ s dt (4.3) 式 中 n 为 界 面 上 从 介 质 1 指 向 介 质 2 的 单 位 矢 量, ρ s 为 自 由 面 电 荷 密 度, J s 为 自 由 面 电 流 密 度. 在 静 电 场 的 情 况 下, Maxwell 方 程 组 简 化 为 E = 0 E = ρ ε 由 于 (4.4) 的 第 一 式, 可 以 引 进 一 标 量 势 函 数 ϕ. 令 (4.4) E = ϕ (4.5) 则 (4.4) 的 第 一 式 自 动 满 足, 代 入 (4.4) 的 第 二 式 可 得 ϕ 满 足 的 偏 微 分 方 程 为 这 时 介 质 分 界 面 上 的 联 接 条 件 为 2 ϕ = ρ ε ϕ 1 = ϕ 2 ϕ 1 ε 1 n ε ϕ 2 2 n = ρ s (4.6) (4.7) 对 于 静 电 场, 通 常 考 虑 下 面 三 种 边 界 条 件 : 1. 给 定 整 个 场 域 边 界 Γ 上 的 电 势 值 ϕ Γ. 这 通 常 称 为 第 一 类 边 值 问 题 或 Dirihlet 边 值 问 题. 2. 给 定 边 界 Γ 上 电 势 的 法 向 导 数 问 题. ϕ n Γ, 这 通 常 称 为 第 二 类 边 值 问 题 或 Neumann 边 值 3. 在 边 界 的 一 部 分 给 定 电 势 值 ϕ Γ1, 另 一 部 分 边 界 上 给 定 电 势 的 法 向 导 数 常 称 为 混 合 边 值 问 题. ϕ n Γ 2. 这 通 可 以 证 明, 静 电 问 题 的 上 述 三 种 边 值 问 题 的 解 是 存 在 而 且 唯 一 的 ( 例 如 见 D. J. Jakson Classial Eletrodynamis John Wiley & Sons, In., 1975, P42)
105 4.2 差 分 和 差 商 差 分 和 差 商 这 一 节 简 单 复 习 一 下 差 分 和 差 商 的 概 念. 这 些 内 容 在 前 面 的 章 节 中 曾 分 散 地 出 现 过, 这 里 则 综 合 起 来 理 一 下. 设 有 函 数 f(x), 若 其 宗 量 的 增 量 为 x = h, 则 对 应 函 数 的 增 量 为 f(x) = f(x + h) f(x) (4.8) 称 为 函 数 f(x) 在 x 点 的 一 阶 向 前 差 分, 或 简 称 为 差 分. 差 分 也 可 定 义 为 f(x) = f(x) f(x h) (4.9) 称 为 函 数 f(x) 在 x 点 的 一 阶 向 后 差 分 及 ( f(x) = f x + h ) f 2 ( x h ) 2 (4.10) 称 为 函 数 f(x) 在 x 点 的 一 阶 中 心 差 分. 一 阶 差 分 除 以 增 量 h 称 为 一 阶 差 商, 根 据 不 同 的 差 分 定 义, 我 们 有 一 阶 向 前 差 商 : f f(x + h) f(x) = x h 一 阶 向 后 差 商 : f f(x) f(x h) = x h 一 阶 中 心 差 商 : f f(x + h/2) f(x h/2) = x h (4.11) df 当 h 趋 向 于 零 时, 上 述 三 种 差 商 均 趋 于 微 商 因 此, 一 阶 差 商 在 实 际 计 算 中 常 常 做 为 一 dx 阶 微 商 的 近 似 值. 下 面 我 们 来 分 析 一 下 用 差 商 代 替 微 商 的 近 似 程 度. 由 Taylor 展 开 式 f(x + h) = f(x) + hf (x) + h2 2! f (x) + h3 3! f (x) + f(x h) = f(x) hf (x) + h2 2! f (x) h3 3! f (x) + 可 以 得 到 : f(x + h) f(x) f (x) h = h 2! f (x) + = O(h) f(x) f(x h) f (x) h = h 2! f (x) + = O(h) f(x + h/2) f(x h/2) f (x) = h2 h 3! f (x) + = O(h 2 ) (4.12) 由 上 式 可 知, 中 心 差 商 的 截 断 误 差 与 h 2 同 阶, 比 向 前 差 商 和 向 后 差 商 高 一 阶, 因 而 精 度 最 高. 同 一 阶 差 商 类 似, 我 们 还 可 定 义 二 阶 差 商 和 高 阶 差 商. 例 如 二 阶 中 心 差 商 定 义 为 2 f(x) h 2 f(x + h/2) f(x h/2) h 2 = f(x + h) 2f(x) + f(x h) h 2 (4.13) 容 易 验 证 2 f(x) = f (x) + O(h 2 ) h 2 用 有 限 差 分 方 法 求 微 分 方 程 的 解 的 过 程 就 是 用 有 限 差 分 代 替 微 分, 从 而 把 微 分 方 程 化 为 差 分 方 程, 然 后 对 所 得 差 分 方 程 进 行 数 值 求 解.
106 106 第 四 章 电 磁 场 的 计 算 4.3 二 维 Possion 方 程 的 五 点 差 分 格 式 这 一 节 以 二 维 Possion 方 程 的 第 一 类 边 值 问 题 为 例 来 具 体 说 明 有 限 差 分 方 法 的 原 理 和 实 现 方 法. 定 解 问 题 为 2 ϕ = ρ ε (4.14) ϕ Γ = f 对 于 平 面 问 题, 在 直 角 坐 标 系 中, (4.14) 中 的 第 一 个 式 子 为 2 ϕ x + 2 ϕ 2 y = ρ 2 ε (4.15) 对 于 具 有 旋 转 对 称 的 静 电 问 题, 可 以 采 用 柱 坐 标 系 (z, r, θ), 由 于 对 称 性, 电 势 与 θ 无 关, 因 此 Posion 方 程 成 为 2 ϕ z + 2 ϕ 2 r + 1 ϕ 2 r r = ρ (4.16) ε 三 维 问 题 退 化 成 一 个 二 维 问 题. 如 果 引 进 一 个 参 量 α, 则 可 把 (4.15) 和 (4.16) 写 成 下 面 的 统 一 形 式, 从 而 可 进 行 统 一 处 理. 2 ϕ z + 2 ϕ 2 r + α ϕ 2 r r = ρ ε (4.17) 当 α = 1 时, 对 应 于 旋 转 对 称 的 场, 此 时 (r, z) 是 圆 柱 坐 标 系 中 的 径 向 和 轴 向 坐 标 ; 当 α = 0 时, 相 应 于 二 维 平 面 问 题, 此 时 (r, z) 对 应 于 直 角 坐 标 系 中 的 (y, x). 假 定 我 们 的 求 解 区 域 如 图 4.1, 则 我 们 可 用 两 族 平 行 于 坐 标 轴 的 直 线 对 区 域 进 行 划 分, 如 图 4.1 所 示. 对 于 上 述 划 分 的 每 一 个 网 格 点, 可 以 建 立 其 差 分 方 程, 为 具 体 起 见, 考 虑 图 4.2 所 示 一 个 网 格 点 ( 记 为 0) 及 其 近 邻 点 ( 记 为 1,2,3,4), 则 点 1,2,3,4 的 电 势 值 可 以 用 0 点 的 电 势 值 表 示 出 来, 对 1,2,3,4 点 的 电 势 作 Taylor 展 开, 有 由 上 式 可 解 得 : ( ) ϕ ϕ 1 = ϕ 0 h 1 z ( ) ϕ ϕ 2 = ϕ 0 + h 2 z ( ) ϕ ϕ 3 = ϕ 0 h 3 r ( ) ϕ ϕ 4 = ϕ 0 + h 4 r ( ) 2 ϕ z 2 ( ) 2 ϕ 0 r 2 ( ) α ϕ r r h h h h2 4 2 ( ) 2 ϕ z 2 ( ) 2 ϕ z 2 ( ) 2 ϕ r 2 ( ) 2 ϕ r = 2 h 2ϕ 1 + h 1 ϕ 2 h 1 h 2 (h 1 + h 2 ) 2ϕ 0 h 1 h 2 + O(h 2 ) = 2 h 4ϕ 3 + h 3 ϕ 4 h 3 h 4 (h 3 + h 4 ) 2ϕ 0 h 3 h 4 + O(h 2 ) = + (4.18) α r 0 (h 3 + h 4 ) (ϕ 4 ϕ 3 ) + O(h 2 ) (4.19)
107 4.3 二 维 POSSION 方 程 的 五 点 差 分 格 式 107 r z 图 4.1: 二 维 空 间 的 网 格 划 分 在 得 出 上 式 时, 我 们 假 定 h 1, h 2, h 3, h 4 为 同 阶 小 量, 且 任 二 者 之 差 为 高 一 阶 的 小 量, 其 阶 统 一 记 为 O(h). 代 入 Possion 方 程, 并 略 去 O(h 2 ) 以 下 的 小 量, 我 们 得 到 2 h 2ϕ 1 + h 1 ϕ 2 h 1 h 2 (h 1 + h 2 ) + 2 h 4ϕ 3 + h 3 ϕ 4 h 3 h 4 (h 3 + h 4 ) 2ϕ 0 2ϕ 0 α + h 1 h 2 h 3 h 4 r 0 (h 3 + h 4 ) (ϕ 4 ϕ 3 ) = ρ 0 ε 整 理 后 得 其 中 C 1 ϕ 1 + C 2 ϕ 2 + C 3 ϕ 3 + C 4 ϕ 4 C 0 ϕ 0 = ρ 0 ε C 1 = C 2 = C 3 = C 4 = 2 h 1 (h 1 + h 2 ) 2 h 2 (h 1 + h 2 ) 2 h 3 (h 3 + h 4 ) 2 h 4 (h 3 + h 4 ) + α r 0 (h 3 + h 4 ) α r 0 (h 3 + h 4 ) C 0 = C 1 + C 2 + C 3 + C 4 = 2 h 1 h h 3 h 4 (4.20) (4.21)
108 r 108 第 四 章 电 磁 场 的 计 算 4 h h 2 2 h 1 h 3 3 图 4.2: z 式 (4.20) 与 (4.21) 一 起 称 为 Possion 方 程 的 五 点 差 分 格 式. 对 于 旋 转 对 称 场, 在 原 点 (r 0 = 0), 方 程 (4.20) 不 成 立. 注 意 到 如 果 电 荷 密 度 在 原 点 ϕ 没 有 奇 异 性, 则 在 r = 0 时 趋 于 0, 因 而 当 r 0 时, 有 r ( ) 1 ϕ 2 lim r 0 r r = ϕ r 2 因 此, 在 r = 0 附 近, 旋 转 对 称 场 的 Possion 方 程 为 0 在 r = 0 点, ( 见 图 4.3) 2 ϕ z ϕ r 2 = ρ ε ( ) 2 ϕ (4.22) r 2 = 2 ϕ 0 h ϕ 4 h 从 而 得 到 轴 上 的 与 式 (4.20) 形 式 相 同 的 差 分 公 式, 但 其 系 数 为 2 C 1 = h 1 (h 1 + h 2 ) 2 C 2 = h 2 (h 1 + h 2 ) C 3 = 0 (4.23) C 4 = 4 h 2 4 C 0 = C 1 + C 2 + C 3 + C 4 = 2 h 1 h h 2 4
109 4.4 差 分 方 程 的 求 解 109 r 4 h 4 1 h 1 0 h 2 2 图 4.3: z 对 于 求 解 区 域 的 每 个 内 节 点 ( 指 不 在 区 域 边 界 上 的 点 ), 都 可 建 立 类 似 的 差 分 方 程, 方 程 中 的 C 0, C 1, C 2, C 3, C 4 是 决 定 于 步 长 的 已 知 函 数, 而 各 个 ϕ 0, ϕ 1, ϕ 2, ϕ 3, ϕ 4 是 待 求 的 未 知 量. 每 个 内 节 点 有 一 个 方 程, 一 个 未 知 量, 因 此 未 知 量 的 数 目 等 于 方 程 的 数 目. 邻 近 边 界 的 节 点 的 差 分 方 程 中, 包 含 有 边 界 点 的 电 势 值, 这 是 已 知 的 边 界 条 件. 这 样, 如 果 有 n 个 内 节 点, 我 们 就 建 立 了 n 个 线 性 代 数 方 程, 可 以 一 般 地 写 为 A ϕ = B (4.24) 通 过 求 解 上 面 的 方 程 便 可 得 到 所 需 的 各 ϕ 值. 这 一 节 我 们 建 立 了 二 维 问 题 的 五 点 差 分 格 式, 这 一 方 法 很 容 易 推 广 到 三 维, 其 差 分 格 式 称 为 七 点 差 分 格 式. 同 样 的 方 法 也 可 用 来 处 理 一 维 问 题, 为 三 点 差 分 格 式. 4.4 差 分 方 程 的 求 解 在 上 一 节, 我 们 得 到 了 Possion 方 程 的 差 分 方 程, 这 一 节 讨 论 其 解 法. 方 程 (4.24) 是 一 线 性 代 数 方 程 组, 原 则 上 可 以 用 前 面 介 绍 过 的 求 解 线 性 代 数 方 程 组 的 一 般 方 法 求 解, 但 是, 由 于 此 方 程 的 一 些 特 殊 的 性 质, 一 般 解 法 将 会 遇 到 困 难. 为 此, 我 们 先 分 析 一 下 方 程 (4.24) 的 系 数 矩 阵 A, 它 具 有 下 面 的 性 质 : 1. A 是 一 个 稀 疏 矩 阵, 事 实 上, A 的 每 一 行 或 每 一 列 的 非 零 元 素 数 目 最 多 只 有 五 个. 2. A 是 一 个 高 阶 矩 阵, 由 于 每 个 内 点 有 一 个 方 程, 因 此 A 的 阶 数 为 为 内 点 的 数 目, 如 果 内 点 的 数 目 为 n, 则 A 为 一 n n 矩 阵, 一 般 在 计 算 中 为 了 提 高 精 度, 网 格 分 得 较 细, 内 点 数 目 较 多, 因 而 A 的 阶 数 也 就 较 高.
110 110 第 四 章 电 磁 场 的 计 算 由 于 A 的 上 述 性 质, 用 通 常 的 解 法 在 时 间 和 存 储 空 间 都 是 十 分 浪 费 的, 更 严 重 的 是, 由 于 A 的 阶 数 较 高, n n 个 元 素 可 能 根 本 无 法 放 入 内 存. 根 据 A 的 性 质, 一 般 用 迭 代 法 求 解. 下 面 介 绍 三 种 常 用 的 迭 代 方 法 简 单 迭 代 法 Jaobi 方 法 直 接 利 用 差 分 方 程 (4.20), 把 其 改 写 为 ϕ 0 = C 1 C 0 ϕ 1 + C 2 C 0 ϕ 2 + C 3 C 0 ϕ 3 + C 4 C 0 ϕ 4 ρ 0 C 0 ε (4.25) 上 式 就 可 作 为 一 迭 代 格 式, 为 明 确 起 见, 把 迭 代 格 式 写 为 ϕ (k+1) 0 = C 1 C 0 ϕ (k) 1 + C 2 C 0 ϕ (k) 2 + C 3 C 0 ϕ (k) 3 + C 4 C 0 ϕ (k) 4 ρ 0 C 0 ε (4.26) 给 定 初 始 的 ϕ (0), 利 用 上 式 对 每 一 个 内 点 进 行 迭 代, 直 到 迭 代 前 后 的 值 小 于 某 一 给 定 的 的 误 差 限 为 止. 可 以 证 明, 不 论 ϕ (0) 如 何 选 取, 当 k 时, ϕ (k) 必 收 敛 于 差 分 方 程 的 解. 由 式 (4.26) 可 知, 计 算 第 k + 1 次 的 某 一 点 的 电 势 值 时 所 用 的 其 邻 近 点 的 电 势 是 第 k 次 迭 代 的 结 果, 因 此 只 有 当 第 k 次 的 n 个 内 点 计 算 完 后, 才 可 开 始 第 k + 1 次 的 计 算, 这 样, 就 必 须 为 每 个 内 点 分 配 两 个 存 储 单 元, 以 储 存 相 邻 两 次 迭 代 的 电 势 值. 另 外, 实 际 计 算 表 明, 这 种 迭 代 方 法 的 收 敛 速 度 也 很 慢 逐 次 迭 代 法 Gauss Seidal 迭 代 方 法 这 是 对 简 单 迭 代 的 一 种 直 接 的 改 进, 在 迭 代 中, 如 果 对 某 一 格 点 作 第 k + 1 次 迭 代 时, 如 果 相 邻 格 点 中 部 分 点 的 第 k + 1 次 电 势 值 已 算 出, 则 利 用 新 的 数 值. 对 于 如 图 4.1 所 示 的 网 格, 如 果 在 z 方 向 的 计 算 顺 序 是 从 左 到 右, 在 r 方 向 的 计 算 顺 序 是 从 下 到 上, 则 Gauss Seidal 迭 代 公 式 为 ϕ (k+1) 0 = C 1 C 0 ϕ (k+1) 1 + C 2 C 0 ϕ (k) 2 + C 3 C 0 ϕ (k+1) 3 + C 4 C 0 ϕ (k) 4 ρ 0 C 0 ε (4.27) 逐 次 迭 代 法 的 收 敛 速 度 比 简 单 迭 代 法 要 快, 同 时 可 以 节 省 计 算 机 存 储 量, 因 为 每 个 格 点 只 需 存 储 一 套 电 势 值 逐 次 超 松 弛 迭 代 法 (Suessive Over-Relaxation) 逐 次 超 松 弛 迭 代 法 是 加 快 收 敛 的 一 种 方 法, 它 介 于 前 述 两 种 方 法 之 间. 具 体 作 法 是, 把 第 k + 1 次 Gauss Seidal 迭 代 的 结 果 与 第 k 次 迭 代 的 结 果 进 行 加 权 平 均 作 为 新 的 第 k + 1 次 的 迭 代 值. 记 k + 1 次 Gauss Seidal 迭 代 的 结 果 为 ϕ, 则 有 ϕ 0 = C 1 C 0 ϕ (k+1) 1 + C 2 C 0 ϕ (k) 2 + C 3 C 0 ϕ (k+1) 3 + C 4 C 0 ϕ (k) 4 ρ 0 C 0 ε (4.28) ϕ (k+1) 0 = ω ϕ 0 + (1 ω)ϕ (k) 0 (4.29)
111 4.4 差 分 方 程 的 求 解 111 将 (4.28) 代 入 (4.29), 得 到 ϕ (k+1) 0 = (1 ω)ϕ (k) 0 + ω ( C1 ϕ (k+1) 1 + C 2 ϕ (k) 2 + C 3 ϕ (k+1) 3 + C 4 ϕ (k) 4 ρ ) 0 C 0 C 0 C 0 C 0 C 0 ε (4.30) 当 ω = 1 时, 上 式 就 成 为 Gauss Seidal 迭 代. ω 称 为 迭 代 松 弛 因 子, 又 叫 阻 尼 因 子. 可 以 证 明, 当 0 < ω < 2 时, 迭 代 (4.30) 是 收 敛 的. 当 1 < ω < 2 时, 迭 代 (4.30) 称 为 超 松 弛 迭 代, 相 应 地 ω 称 为 超 松 弛 迭 代 因 子. 迭 代 因 子 的 选 取 对 收 敛 速 度 的 影 响 很 大, 一 般 它 与 网 格 形 式, 节 点 数 目, 迭 代 次 序 等 因 素 有 关. 在 计 算 数 学 的 理 论 书 中, 对 最 佳 因 子 的 选 取 有 不 少 讨 论, 这 里 介 绍 一 种 选 取 的 方 法.( 证 明 见 南 京 大 学 数 学 系 计 算 数 学 专 业 编 偏 微 分 方 程 数 值 解 法, 科 学 出 版 社, 1979) 记 ϕ (k) i 为 第 i 个 内 节 点 第 k 次 迭 代 的 电 势 值 ( 这 里 i = 1, 2, n 代 表 n 个 内 节 点, 请 与 前 面 i = 0, 1, 2, 3, 4 代 表 一 点 及 其 近 邻 相 区 别 ), 取 相 邻 两 次 迭 代 的 误 差 的 平 均 为 ϵ (k) = 1 n ϕ (k) i ϕ (k 1) i (4.31) n 记 i=1 λ (k) = ϵ(k+1) ϵ (k) (4.32) 若 第 k 次 迭 代 所 用 的 超 松 弛 因 子 为 ω (k), 定 义 µ 2 = (λ(k) + ω (k) 1) 2 (λ (k) ω (k) ) 2 (4.33) 则 第 k + 1 次 迭 代 的 超 松 弛 因 子 为 ω (k+1) 可 取 为 ω (k+1) 2 = (1 + 1 µ 2 ) (4.34) 一 般 可 取 ω (0) 为 1.5 左 右, 利 用 上 述 过 程 不 断 改 进 ω 的 取 值, 当 ω (k+1) ω (k) 小 于 某 一 误 差 限 ( 例 如 10 2 ) 时, 就 用 所 得 的 ω 作 为 最 隹 迭 代 因 子, 进 行 计 算. 当 相 邻 两 次 迭 代 的 误 差 小 于 某 一 事 先 给 定 的 误 差 限 时, 就 可 终 止 计 算. 通 常 误 差 可 选 为 平 均 相 对 误 差 ϕ (k) 或 最 大 绝 对 误 差 n i=1 ϕ (k+1) i n i=1 ϕ(k) i { ϕ (k+1) Max i i } ϕ (k) 最 后 需 要 指 出 的 是, 为 了 达 到 较 高 的 计 算 精 度, 减 小 截 断 误 差, 就 要 减 小 步 长 h, 从 而 增 加 节 点 数, 增 大 计 算 量. 但 随 着 计 算 量 的 增 加, 舍 入 误 差 将 随 之 增 加, 因 此, 对 于 实 际 的 计 算, 并 非 网 格 分 得 越 小 越 好, 对 具 体 问 题, 应 根 据 问 题 本 身 的 特 点 和 计 算 要 求, 选 则 合 适 的 网 格. 有 限 差 分 方 法 概 念 清 楚, 方 法 简 单, 计 算 量 也 较 小. 但 对 边 界 的 处 理 不 够 灵 活, 对 于 复 杂 的 边 界 条 件, 很 难 处 理, 另 外 对 于 部 分 求 解 区 域 电 势 变 化 比 较 大 而 另 外 的 区 域 变 化 比 较 平 缓 的 问 题, 处 理 起 来 也 不 灵 活. 这 些 困 难, 在 我 们 后 面 要 讲 的 有 限 元 方 法 中 可 以 得 到 较 好 的 处 理. i
112 112 第 四 章 电 磁 场 的 计 算 A x B 4 y 图 4.4: 4.5 变 分 方 法 复 习 为 了 给 下 一 节 的 有 限 元 方 法 作 准 备, 这 一 节 复 习 一 下 变 分 方 法. 考 虑 一 个 满 足 一 定 条 件 的 函 数 的 集 合 F : {y(x)} 和 一 个 实 数 的 集 合 R. 如 果 存 在 一 个 对 应 关 系 J, 使 得 对 于 F 中 的 每 一 个 元 素 y(x), 有 R 中 的 一 个 数 J 与 之 对 应, 则 称 J 为 函 数 y(x) 的 泛 函, 记 为 J = J[y(x)] (4.35) 我 们 来 看 一 个 泛 函 的 例 子, 如 图 4.4 所 示, 一 质 点 沿 曲 线 y = y(x) 以 初 速 度 0 从 A 降 落 到 B, 其 所 需 的 时 间 为, T = B A dt = B A ds B 1 + y v = 2 dx (4.36) A 2gy 当 A, B 固 定 时, 对 于 不 同 的 轨 道 y(x), 将 有 不 同 的 时 间 T, 因 此, T 是 轨 道 y(x) 的 泛 函, T = T [y(x)]. 对 于 泛 函 J[y(x)], 如 果 函 数 y(x) 改 变 δy(x), 则 其 对 应 的 泛 函 的 改 变 为 J = J[y(x) + δy(x)] J[y(x)] (4.37) 当 δy(x) 0 时, 式 (4.37) 的 极 限 称 为 泛 函 J[y(x)] 的 变 分, 记 为 δj. 类 似 于 函 数 的 微 分, 泛 函 的 变 分 可 写 为 δj δj = δy(x)dx (4.38) δy(x)
113 4.5 变 分 方 法 复 习 113 δj 其 中 称 为 泛 函 J 的 变 分 导 数, 它 既 是 y(x) 的 泛 函, 又 是 x 的 函 数. 如 果 泛 函 在 δy(x) y(x) = y 0 (x) 时 取 极 值, 则 δj = 0 (4.39) δy(x) y(x)=y0 (x) 下 面 看 几 个 例 子. 例 一 : J = y(x 0 ), 泛 函 为 x = x 0 点 上 函 数 y(x) 的 值. 为 了 计 算 变 分, 注 意 到 J 可 写 为 其 变 分 为 δj = + J = y(x 0 ) = (y(x) + δy(x))δ(x x 0 )dx + + y(x)δ(x x 0 )dx y(x)δ(x x 0 )dx = + δ(x x 0 )δy(x)dx 与 (4.38) 比 较 得 例 二 : 其 变 分 为 δy(x 0 ) δy(x) = δ(x x 0) J = b a y(x) n dx δj = b (y(x) + δy(x)) n dx b y(x) n dx = b a a a ny(x) n 1 δy(x)dx + O(δy(x) 2 ) 而 变 分 导 数 为 例 三 : 其 变 分 为 δj δy(x) = ny(x)n 1 J = b a e y(x) dx δj = 而 变 分 导 数 为 b a e (y(x)+δy(x)) dx b a e y(x) dx = b δj δy(x) = ey(x) a e y(x) δy(x)dx + O(δy(x) 2 ) 从 这 些 例 子 我 们 看 到, 泛 函 与 函 数 有 很 多 相 似 的 性 质, 有 兴 趣 更 进 一 步 了 解 泛 函 及 其 性 质 的 同 学 可 研 读 专 门 的 书 籍. 下 面 我 们 研 究 一 种 特 殊 的 泛 函 积 分 泛 函, 并 指 出 求 其 极 值 的 方 法. 这 种 泛 函 在 物 理 的 各 个 领 域 都 有 重 要 应 用. 为 了 下 面 的 应 用, 我 们 考 虑 定 义 在 多 元 函 数 空 间 上 的 积 分 泛 函 J = F ( x 1, x 2,, x n, y, y x 1, y x 2,, y x n ) dx 1 dx 2, dx n (4.40)
114 114 第 四 章 电 磁 场 的 计 算 这 里, y = y(x 1, x 2,, x n ) 是 一 n 元 函 数. 本 节 开 始 处 质 点 沿 不 同 路 径 的 时 间 就 是 这 种 类 型 泛 函 的 一 个 例 子. 现 在, 我 们 来 求 泛 函 (4.40) 的 极 值. 所 谓 极 值, 就 是 要 在 函 数 y 的 集 合 F 中 寻 找 一 个 特 殊 的 函 数 y, 使 得 泛 函 取 极 大 值 或 极 小 值. 这 通 常 有 两 种 方 法, 一 种 是 直 接 法, 另 一 种 是 微 分 方 程 方 法, 分 别 介 绍 如 下. 一, 直 接 法 : 在 集 合 F 中 构 造 一 个 完 备 的 函 数 集 合 {φ i (x 1, x 2,, x n )}, 一 般 这 是 一 个 无 穷 集 合, 取 其 前 N 个 函 数 展 开 y, 我 们 得 到 y = N i φ i (4.41) i=1 把 上 式 代 入 (4.40) 并 完 成 积 分, 则 泛 函 成 为 N 个 变 量 1, 2,, N 的 函 数, 而 计 算 泛 函 极 值 的 问 题 就 转 化 为 求 多 元 函 数 极 值 的 问 题. 对 于 给 定 的 N, 求 得 的 与 J 的 极 值 对 应 的 y 记 为 y N, 则 y(x 1, x 2,, x n ) = lim y N(x 1, x 2,, x n ) (4.42) N 就 趋 于 极 值 问 题 的 解. 二, 微 分 方 程 法 : 由 于 泛 函 的 极 值 由 其 变 分 为 0 给 出, 所 以 我 们 求 J 的 一 阶 变 分. 对 于 式 (4.40), δj = F n ( ) y δy + F y ( dx 1 dx 2 dx n (4.43) y x i i=1 x i )δ 若 取 δy 在 积 分 区 域 的 边 界 上 固 定 为 0, 对 上 式 分 部 积 分 得 到 δj = F n y F ( δydx 1 dx 2 dx n (4.44) y i=1 如 果 y 使 得 J 取 极 值, 则 此 y 必 使 δj = 0, δy 除 要 求 在 边 界 上 为 0 外 是 任 意 的, 因 而 必 有 F n y ( F x i y = 0 (4.45) i=1 这 一 方 程 称 为 Euler 方 程, 一 般 是 一 偏 微 分 方 程. 这 样, 泛 函 极 值 问 题 就 变 为 微 分 方 程 的 求 解 问 题. 这 一 过 程 也 可 以 反 过 来 进 行, 如 果 要 求 某 一 微 分 方 程 的 解, 而 这 一 微 分 方 程 是 某 一 泛 函 的 Euler 方 程, 我 们 就 可 以 把 微 分 方 程 的 求 解 问 题 转 化 为 泛 函 的 极 值 问 题. 对 于 本 节 开 始 处 的 问 题, 其 Euler 方 程 为 1 + y 2 2 2gyy d dx ( x i ) x i ) ) y 2gy(1 + y 2 ) = 0 注 意 到 d dx = y d dy, 上 式 可 改 写 为 1 + y 2 y 3/2 ( ) + 2y d y = 0 dy y(1 + y 2 )
115 4.6 有 限 元 方 法 的 理 论 基 础 115 乘 以 y 3/2 (1 + y 2 ) 3/2, 并 整 理 得 dy 2y + y dy 1 + y 2 = 0 其 解 为, x = 2 1 y y aros 1 y , 2 为 二 积 分 常 数, 由 A, B 二 点 决 定, 上 式 给 出 了 所 用 时 间 最 短 的 轨 迹. 4.6 有 限 元 方 法 的 理 论 基 础 这 一 节 以 二 阶 椭 圆 型 偏 微 分 方 程 为 例, 讲 述 有 限 元 方 法 的 理 论 基 础. 考 虑 如 下 的 边 值 问 题, { 2 ϕ = f (4.46) ϕ Γ = 0 这 一 边 值 问 题 是 泛 函 F [ϕ] = 1 ( ϕ ϕ 2fϕ) dv (4.47) 2 Ω 的 Euler 方 程. 这 里 Ω 为 边 界 Γ 所 包 围 的 区 域. 求 解 边 值 问 题 (4.46) 与 (4.47) 给 出 的 泛 函 的 极 值 问 题 等 价. 因 此, 代 替 求 解 边 值 问 题 (4.46), 我 们 可 以 用 直 接 法 求 (4.47) 给 出 的 泛 函 的 极 值 问 题, 其 结 果 就 是 原 问 题 的 解. 为 了 用 直 接 法 计 算 泛 函 极 值, 就 需 要 构 造 一 组 完 备 函 数 集. 有 限 元 方 法 的 原 理 就 是 把 待 求 解 区 域 分 为 有 限 个 小 的 单 元, 在 每 个 单 元 上 构 造 插 值 函 数, 再 通 过 总 体 合 成 得 到 函 数 集 合 {φ i }, 把 待 求 的 函 数 ϕ 用 {φ i } 展 开, 用 函 数 求 极 值 的 方 法 求 出 展 开 系 数, 得 到 问 题 的 解. 下 面 以 二 维 问 题 为 例 具 体 说 明 有 限 元 方 法 的 基 本 思 路, 图 4.5 给 出 了 一 个 具 体 的 二 维 求 解 区 域 及 单 元 划 分. 在 图 中, 我 们 使 用 了 三 角 形 划 分, 这 是 实 际 计 算 中 最 常 使 用 的 分 法, 但 有 限 元 方 法 并 不 限 定 单 元 的 划 分 方 法, 使 用 别 的 分 法 也 是 可 以 的. 不 过, 下 节 我 们 将 看 到, 三 角 形 分 法 正 好 可 以 决 定 线 性 插 值 函 数, 简 单 易 行. 三 角 形 分 法 的 三 维 推 广 是 四 面 体 划 分 方 法. 假 定 我 们 把 求 解 区 域 划 分 为 m 个 单 元, 现 在 拿 出 其 中 任 一 单 元 ( 假 定 为 第 e 个 单 元 ) 进 行 分 析. 在 这 一 单 元 上, 取 一 组 插 值 函 数 {w i (p), i = 1, 2,, k}, 其 中 k 为 单 元 的 顶 点 数, 对 于 三 角 形 单 元, k = 3, p 为 单 元 中 的 坐 标. 则 单 元 e 中 的 待 求 函 数 可 写 为 k ϕ (e) (p) = a i w i (p) (4.48) i=1 这 里, w i 具 有 一 定 的 选 择 自 由 度. 在 单 元 的 k 个 顶 点 上, 其 坐 标 值 分 别 为 p 1, p 2,, p k, 设
116 116 第 四 章 电 磁 场 的 计 算 y 图 4.5: x 对 应 的 待 求 函 数 值 为 ϕ (e) 1, ϕ (e) 2,, ϕ (e), 于 是 有 k ϕ (e) 1 = ϕ (e) 2 = k a i w i (p 1 ) i=1 k a i w i (p 2 ) i=1 k ϕ (e) k = a i w i (p k ) i=1 (4.49) w i (p j ) 是 已 知 的, 反 解 上 式, 就 可 以 把 系 数 a i 用 待 求 函 数 ϕ 在 单 元 顶 点 ( 网 格 节 点 ) 上 的 值 表 示 出 来. k a 1 = 1i ϕ i=1 (e) i k a 2 = 2i ϕ (e) i (4.50) i=1 k a k = ki ϕ (e) i i=1
117 4.6 有 限 元 方 法 的 理 论 基 础 117 再 把 上 式 代 回 到 (4.48), 得 到 ϕ (e) (p) = = = k i=1 j=1 k j=1 i=1 ij ϕ (e) j w i (p) (4.51) ( k k ) ij w i (p) ϕ (e) j (4.52) k j=1 ϕ (e) j N (e) j (p) (4.53) 这 里, 可 以 把 N (e) j, j = 1, 2,, k 作 为 第 e 个 单 元 ( 记 为 e ) 上 的 基 函 数. 对 于 每 一 个 单 元, 都 可 以 得 到 一 组 k 个 基 函 数, 可 以 把 这 些 基 函 数 从 每 个 个 别 单 元 推 广 到 整 个 区 域 上. { (e) N Nj e j (p) p e (p) = (4.54) 0 p e 注 意 整 个 区 域 上 的 基 函 数 用 不 带 括 号 的 上 标. 在 每 个 顶 点 上 ϕ (e) (p i ) = k j=1 ϕ (e) j N e j (p i ) (4.55) 因 此, N e j (p i ) = δ ij (4.56) 这 样, 我 们 对 每 个 单 元 构 造 了 基 函 数 并 推 广 到 了 整 个 区 域 上, 但 一 般 这 些 基 函 数 并 不 是 自 洽 的, 也 就 是 说, 在 单 元 与 单 元 之 间 的 交 接 线 上, 由 两 个 单 元 分 别 构 造 的 基 函 数 一 般 并 不 连 续. 因 此, 这 样 的 基 函 数 并 不 满 足 作 为 基 函 数 的 要 求 ( 例 如, 当 被 展 开 函 数 取 这 些 交 接 线 上 的 点 时, 基 函 数 是 双 值 的 ). 为 此, 我 们 可 通 过 适 当 选 择 函 数 w(p) 的 形 式 使 得 基 函 数 在 任 何 相 邻 单 元 的 交 接 线 上 连 续, 这 一 过 程 称 为 总 体 合 成. 经 过 合 成 后, 得 到 n 个 独 立 的 基 函 数 N i (p), i, = 1, 2,, n, 此 处 n 为 内 节 点 的 总 数. 这 些 基 函 数 应 满 足 关 系 N i (p j ) = δ ij 这 样, 就 可 以 把 待 求 函 数 用 这 一 基 函 数 展 开 得 到 ϕ = n ϕ i N i (4.57) i=1 代 入 方 程 (4.47) 得 到 F [ϕ] = F (ϕ 1, ϕ 2,, ϕ n ) (4.58) 令 F ϕ i = 0, i = 1, 2,, n 就 得 到 一 组 n 个 确 定 ϕ i 的 方 程, 求 得 诸 ϕ i 后 代 回 (4.57) 就 得 到 了 问 题 的 解.
118 118 第 四 章 电 磁 场 的 计 算 4.7 用 有 限 元 方 法 求 解 二 维 Laplae 方 程 这 一 节 通 过 一 个 具 体 的 简 单 例 子, 说 明 有 限 元 方 法 计 算 静 电 场 问 题 的 过 程. 我 们 将 要 计 算 的 是 求 解 二 维 Laplae 方 程 的 第 一 边 值 问 题, 其 方 程 为 { 2 ϕ = 0 ϕ Γ = f (4.59) 这 一 方 程 对 应 的 变 分 问 题 为 F [ϕ] = 1 2 Ω [ ( ϕ ) 2 + x ( ) ] 2 ϕ dxdy = Min (4.60) y 这 一 变 分 问 题 具 有 明 确 的 物 理 意 义, 注 意 到 电 场 强 度 为 E = ϕ, 上 式 给 出 的 恰 好 是 电 场 的 能 量, 而 变 分 原 理 在 这 里 则 表 示 真 实 的 解 使 得 电 场 的 能 量 取 极 值 ( 实 际 上 是 极 小 值 ). 有 限 元 方 法 的 计 算 步 骤 如 下 一, 划 分 单 元 : 用 有 限 元 方 法 计 算 时, 先 把 待 求 区 域 划 分 为 有 限 个 互 不 重 叠 的 基 本 单 元. 现 取 为 三 角 形 单 元. 这 些 单 元 的 顶 点 ( 节 点 ) 位 置 的 选 取 原 则 上 是 任 意 的, 一 般 在 需 要 求 解 精 度 较 高 的 区 域 或 电 势 变 化 较 剧 烈 的 区 域 取 得 密 一 些, 反 之 则 可 取 的 疏 一 些. 对 于 大 部 分 情 况, 则 可 按 某 种 规 律 划 分, 以 方 便 编 程. 例 如 可 先 用 平 行 坐 标 轴 的 直 线 族 划 分 成 四 边 形 网 格, 然 后 再 把 每 个 四 边 形 对 分 成 三 角 形, 如 图 4.6 所 示. 对 边 界 上 的 特 殊 点 如 拐 折 点 等 都 应 取 为 节 点, 弯 曲 的 较 历 害 的 边 界, 节 点 应 取 得 密 一 点. 所 有 的 节 点 可 以 分 为 两 类, 一 类 是 内 节 点, 位 于 区 域 内, 其 上 的 电 势 值 未 知 待 求, 另 一 类 是 边 界 点, 其 上 电 势 已 知. 设 有 l 0 个 内 节 点, l 1 l 0 个 边 界 点, 对 节 点 的 编 号 可 以 这 样 进 行, 对 内 节 点 编 号 1, 2,, l 0, 对 外 节 点 编 号 l 0 + 1, l 0 + 2,, l 1. 以 这 些 节 点 为 顶 点 连 成 一 个 由 不 重 叠 的 三 角 形 组 成 的 网. 在 构 成 三 角 形 时, 要 避 免 太 尖 或 太 扁, 而 且 要 求 所 有 的 节 点 都 是 三 角 形 的 顶 点 而 不 能 是 任 何 一 个 三 角 形 的 边 上 的 点. 每 个 三 角 形 称 为 一 个 单 元, 第 e 个 单 元 记 为 e, 节 点 间 的 连 线 称 为 线 元. 区 域 边 界 的 曲 线 只 能 以 线 元 来 近 似, 图 4.6 中 的 三 角 形 ijk 就 是 一 个 典 型 的 单 元. 二, 构 造 单 元 上 的 插 值 函 数 : 下 面 我 们 来 分 析 一 个 典 型 的 单 元, 为 简 单 起 见, 记 三 角 形 的 三 个 顶 点 为 1, 2, 3. 在 单 元 内, 函 数 w 可 选 为 {1, x, y}, 于 是, 单 元 e 中 的 电 势 可 表 为 ϕ (e) (x, y) = α 1 + α 2 x + α 3 y (4.61) 设 单 元 的 三 个 顶 点 1, 2, 3 对 应 的 坐 标 为 (x 1, y 1 ), (x 2, y 2 ), (x 3, y 3 ), 电 势 为 ϕ 1, ϕ 2, ϕ 3, 则 由 (4.61) 得 ϕ(x 1, y 1 ) = α 1 + α 2 x 1 + α 3 y 1 ϕ 1 ϕ(x 2, y 2 ) = α 1 + α 2 x 2 + α 3 y 2 ϕ 2 ϕ(x 3, y 3 ) = α 1 + α 2 x 3 + α 3 y 3 ϕ 3 (4.62)
119 4.7 用 有 限 元 方 法 求 解 二 维 LAPLACE 方 程 119 y 图 4.6: i j k 由 上 式 可 解 出 其 中 a 1 = x 2 y 3 x 3 y 2 b 1 = y 2 y 3 1 = x 3 x 2 x α 1 = 1 2 (a 1ϕ 1 + a 2 ϕ 2 + a 3 ϕ 3 ) α 2 = 1 2 (b 1ϕ 1 + b 2 ϕ 2 + b 3 ϕ 3 ) α 3 = 1 2 ( 1ϕ ϕ ϕ 3 ) (4.63) a 2 = x 3 y 1 x 1 y 3 b 2 = y 3 y 1 2 = x 1 x 3 a 3 = x 1 y 2 x 2 y 1 b 3 = y 1 y 2 (4.64) 3 = x 2 x 1 在 上 式 中, 为 单 元 的 面 积, 其 值 为 = 1 1 x 1 y x 2 y 2 1 x 3 y 3 = 1 2 (b 1 2 b 2 1 ) (4.65) 把 (4.64) 中 的 α 回 代 到 (4.61) 中, 就 得 到 这 一 单 元 中 的 电 势 的 线 性 插 值 函 数 为 ϕ = (a i + b i x + i y)ϕ i (4.66) i=1
120 120 第 四 章 电 磁 场 的 计 算 若 定 义 则 第 e 个 单 元 中 的 电 势 ϕ (e) 可 写 为 N (e) 1 = 1 2 (a 1 + b 1 x + 1 y) N (e) 2 = 1 2 (a 2 + b 2 x + 2 y) (4.67) N (e) 3 = 1 2 (a 3 + b 3 x + 3 y) ϕ (e) = 3 i=1 ϕ i N (e) i (4.68) 在 写 出 此 式 时, 我 们 有 意 加 上 了 上 标 e 以 表 示 是 第 e 个 单 元. 对 每 一 个 单 元 都 可 做 完 全 相 同 的 分 析. 由 于 我 们 在 这 里 使 用 的 是 线 性 插 值 函 数, 因 此 每 个 线 元 上 的 电 势 只 决 定 于 其 两 个 端 点 的 电 势 值, 因 而 自 洽 性 要 求 是 自 动 满 足 的. 三, 单 元 分 析 : 现 在 考 虑 第 e 个 单 元 对 泛 函 (4.60) 的 贡 献. 插 值 函 数 的 导 数 为 ϕ x = 1 2 (b 1ϕ 1 + b 2 ϕ 2 + b 3 ϕ 3 ) ϕ = 1 y 2 ( 1ϕ ϕ ϕ 3 ) (4.69) 上 式 右 边 为 常 数, 这 表 明 在 取 线 性 插 值 函 数 时, 每 一 单 元 内 的 电 场 强 度 为 常 数, 这 当 然 只 有 在 单 元 取 得 很 小 时 才 成 立, 同 时 这 也 为 我 们 选 取 网 格 的 大 小 提 供 了 一 个 参 考, 即 网 格 的 选 取 应 使 单 元 的 范 围 比 把 电 场 强 度 可 看 作 常 数 的 范 围 稍 小. 由 (4.69), 可 求 得 第 e 个 单 元 对 泛 函 (4.60) 的 贡 献 为 F (e) = 1 [ ( ϕ ) 2 ( ) ] 2 ϕ + dxdy 2 x y 其 中, = 1 2 e 3 3 p=1 q=1 a (e) pq ϕ p ϕ q (4.70) a (e) pq = 1 4 (b pb q + p q ) (4.71) 为 了 下 面 的 应 用, 我 们 恢 复 单 元 e 的 顶 点 的 本 来 编 号, 把 1, 2, 3 换 为 j 1 [e], j 2 [e], j 3 [e], 于 是, 式 (4.70) 可 写 成 F (e) = p=1 q=1 总 体 合 成 : 把 所 有 的 单 元 对 泛 函 的 贡 献 加 起 来, 就 得 到 了 泛 函 (4.60) 的 值 F [ϕ] = alle F (e) = 1 2 alle a (e) pq ϕ jp[e]ϕ jq[e] (4.72) 3 p,q=1 a (e) pq ϕ jp[e]ϕ jq[e] (4.73)
121 4.7 用 有 限 元 方 法 求 解 二 维 LAPLACE 方 程 121 上 式 可 以 通 过 以 节 点 的 值 ϕ i 进 行 归 并, 整 理 得 到 F [ϕ] = 1 2 l 1 i,j=1 K ij ϕ i ϕ j (4.74) 为 了 计 算 F [ϕ] 的 极 值, 可 对 上 式 对 ϕ i, = 1, 2,, l 0 求 偏 导 数 并 令 其 为 零, 得 到 l 1 j=1 K ij ϕ j = 0 i = 1, 2,, l 0 或, 把 与 边 界 有 关 的 已 知 项 移 到 右 边 l 0 K ij ϕ j = l 1 j=1 j=l 0 +1 K ij ϕ j u i (4.75) 写 成 矩 阵 形 式, 有 Kϕ = u (4.76) 这 是 一 个 线 性 代 数 方 程 组, 可 用 前 面 介 绍 的 方 法 求 解, 一 旦 求 得 了 诸 ϕ i, 就 可 计 算 出 区 域 中 任 一 点 的 电 势. 在 实 际 计 算 中, 通 常 要 用 一 些 特 殊 的 方 法 求 解 有 限 元 方 程 (4.76). 矩 阵 K 一 般 是 一 个 稀 疏 带 状 距 阵, 且 具 有 正 定, 对 称 的 特 点. 对 于 这 类 矩 阵, 通 常 采 用 一 维 表 示, 使 内 存 要 求 大 大 降 低. 下 面 简 单 介 绍 一 下 一 维 表 示 方 法, 由 于 K 是 对 称 的, 因 此 我 们 只 需 要 存 储 对 角 线 上 的 元 素 和 上 三 角 的 元 素. 在 第 i 列 上 取 出 最 上 面 的 非 零 元 素, 设 其 位 于 第 k i 行, 则 第 i 列 的 带 宽 为 t i = i k i, (i = 1, 2,, l 0 ) (4.77) 显 然, t 1 = 0, 把 矩 阵 K 的 上 三 角 部 分 和 对 角 部 分 先 按 行 再 按 列 排 成 一 个 一 维 数 组, 记 为 A[1 : s], 称 为 带 内 数 据 数 组. 再 建 立 一 个 数 组 N[1 : l 0 ], 其 第 i 个 元 素 定 义 为 : N[i] = (t 1 + 1) + (t 2 + 1) + + (t i + 1), (i = 1, 2,, l 0 ) (4.78) 这 一 数 组 称 为 累 计 带 宽 数 组, N[1] = 1, 它 给 出 了 K 中 元 素 在 数 组 A 中 的 位 置, 例 如 A[N[i]] 为 K 的 第 i 个 对 角 元 素. 一 般 地 K ji = A[N[i] i + j] (4.79) 用 A 和 N 就 可 以 完 整 的 表 示 出 K. 如 果 矩 阵 K 的 最 大 带 宽 (Max{t i }) 为 m, 则 A 的 元 素 数 s ml 0, N 的 元 素 数 为 l 0, 最 多 需 (m + 1) l 0 个 存 储 单 元, 而 直 接 存 储 K 则 需 l 0 l 0 个 单 元, 二 者 在 l 0 较 大 时 相 差 是 很 大 的. 对 于 l 0 = 6 的 一 种 情 形 示 于 (4.80), 其 中 方 块 是 K 中 必 须 存 储 的 的 非 零 元 素, 中 的 元 素 可 以 通 过 对 称 性 得 出, 方 块 中 的 数 字 是 一 维 存 储 时 的 编 号
122 122 第 四 章 电 磁 场 的 计 算 K = (4.80) 在 此 表 示 下, 可 以 方 便 地 用 消 去 法 求 解 方 程 (4.76). 最 后, 具 体 说 明 一 下 构 成 矩 阵 K 和 矢 量 u 的 算 法 1. 对 i, j = 1, 2,, l 0 { Kij = 0 u i = 0 (4.81) 2. 对 所 有 的 单 元 e, 令 i = j p [e], j = j q [e], p, q = 1, 2, 3 (a) 如 果 i > l 0, 不 作 处 理 ; (b) 如 果 i l 0 同 时 j l 0, 则 K ij = a (e) pq + K ij () 如 果 i l 0 同 时 j > l 0, 则 u i = a (e) pq ϕ j + u i 在 一 维 表 示 下, 上 面 的 算 法 变 为 1. 对 i = 1, 2,, l 0 { ti = 0 u i = 0 (4.82) 2. 对 所 有 的 单 元 e, 令 i 1 = j 1 [e], i 2 = j 2 [e], i 3 = j 3 [e] (a) 如 果 i p > l 0, p = 1, 2, 3, 不 作 处 理 ; (b) 计 算 t i : 如 果 i 1 l 0 则 t i1 = Max(t i1, i 1 i 2, i 1 i 3 ) 如 果 i 2 l 0 则 t i2 = Max(t i2, i 2 i 3, i 2 i 1 ) 如 果 i 3 l 0 则 t i3 = Max(t i3, i 3 i 1, i 3 i 2 ) (4.83) 3. 计 算 N i : (a) N 1 = 1; (b) 对 i = 2, 3,, l 0, N i = N i 1 + t i 对 所 有 的 单 元 e, 令 i = j p [e], j = j q [e], p, q = 1, 2, 3 (a) 如 果 i > l 0, 不 作 处 理 ;
123 4.7 用 有 限 元 方 法 求 解 二 维 LAPLACE 方 程 123 (b) 如 果 i l 0 同 时 j l 0, 则 i. 如 果 i > j, 不 作 处 理 ; ii. 如 果 i j, α = N j j + i K α = a (e) pq + K α () 如 果 i l 0 同 时 j > l 0, 则 u i = a (e) pq ϕ j + u i 这 一 节 比 较 详 细 地 处 理 了 有 限 元 方 法 求 解 二 维 Laplae 方 程 的 问 题, 从 讲 解 中 我 们 可 以 看 到, 有 限 元 方 法 节 点 配 置 灵 活, 特 别 适 用 于 处 理 复 杂 边 界 的 问 题, 但 另 一 方 面, 有 限 元 方 法 形 成 的 K 矩 阵 的 形 式 往 往 比 较 复 杂, 当 节 点 较 多 时, 需 要 用 特 殊 的 方 式 储 存 和 运 算, 增 加 了 求 解 的 复 杂 性. 在 实 际 工 作 中, 应 学 会 根 据 具 体 问 题 选 择 合 适 的 方 法. 本 章 没 有 给 出 具 体 程 序, 这 是 因 为 这 里 只 是 对 电 磁 场 的 计 算 做 了 非 常 初 等 的 介 绍. 如 果 要 作 实 际 计 算, 还 必 须 考 虑 很 多 细 节 问 题. 同 学 们 在 作 计 算 时 可 参 看 有 关 的 专 著 和 一 些 较 成 熟 的 软 件 包.
124 124 第 四 章 电 磁 场 的 计 算
125 第 五 章 Monte Carlo 方 法 数 值 模 拟 方 法 在 计 算 物 理 中 具 有 十 分 重 要 的 地 位, 这 一 章, 我 们 将 从 理 论 物 理 的 角 度 来 介 绍 这 一 方 法. 5.1 随 机 变 量 及 其 分 布 在 这 一 节 中, 我 们 介 绍 随 机 变 量 及 几 个 相 关 的 问 题, 随 机 变 量 ( 以 下 用 ξ 表 示 ) 可 分 为 两 类, 一 类 是 离 散 型 随 机 变 量, 它 可 以 取 一 系 列 分 立 值 x 1, x 2,, x n,, 其 对 应 的 取 某 一 值 的 概 率 为 p 1, p 2,, p n,. p i 称 为 ξ 的 概 率 分 布 ; 另 一 类 是 连 续 型 随 机 变 量, ξ 可 连 续 取 值, 设 ξ 在 区 间 [x, x + δx] 内 取 值 的 概 率 为 p(x ξ < x + δx), 令 p(x ξ < x + δx) f(x) = lim δx 0 δx f(x) 称 为 ξ 的 分 布 概 率 密 度, 而 ξ 处 于 区 间 [a, b] 内 的 概 率 由 下 式 给 出 概 率 应 归 一 化, 即 定 义 分 布 函 数 i=1 p(a ξ < b) = p i = 1 f(x) dx = 1 F (x) = p(ξ x) = 代 表 ξ 处 于 [, x] 的 概 率. 显 然, f(x) = df dx. 随 机 变 量 的 数 学 期 望 定 义 为 b a f(x) dx 对 离 散 型 随 机 变 量 对 连 续 型 随 机 变 量 x f(x) dx E(ξ) = i x i p i 对 离 散 型 随 机 变 量 E(ξ) = xf(x) dx 对 连 续 型 随 机 变 量
126 126 第 五 章 MONTE CARLO 方 法 α α X α 表 5.1: 方 差 定 义 为 D(ξ) = i (x i E(ξ)) 2 p i 对 离 散 型 随 机 变 量 D(ξ) = 下 面 介 绍 两 个 重 要 定 理 : (x E(ξ)) 2 f(x) dx 对 连 续 型 随 机 变 量 大 数 定 理 : 设 ξ 1, ξ 2,, ξ N, 为 一 随 机 变 量 序 列, 相 互 独 立, 具 有 同 样 分 布, 且 E(ξ i ) = a 存 在, 则 对 任 意 小 量 ϵ > 0, 有 lim p N { 1 N } N ξ i a < ϵ = 1 i=1 这 一 定 理 指 出, 不 论 随 机 变 量 的 分 布 如 何, 只 要 N 足 够 大, 则 算 术 平 均 与 数 学 期 望 值 可 无 限 接 近, 也 就 是 说, 算 术 平 均 以 概 率 收 敛 于 其 数 学 期 望 值. 中 心 极 限 定 理 : 设 ξ 1, ξ 2,, ξ N, 为 一 随 机 变 量 序 列, 相 互 独 立, 具 有 同 样 分 布, 且 E(ξ i ) = a, D(ξ i ) = σ 2 存 在, 则 当 N 时, 令 推 论 : 则 当 N 很 大 时, { 1 p N { 1 p N N i=1 } ξ i a < X ασ 1 Xα N 2π } N ξ i a < X ασ N i=1 2 2π Xα 1 N 0 2 2π Xα e x2 /2 dx = 1 α 0 e x2 /2 dx e x2 /2 dx N ξ i a < X ασ (5.1) N i=1 成 立 的 概 率 为 1 α, 1 α 称 为 可 信 水 平. α, 1 α 和 X α 的 数 值 关 系 见 表 5.1: 由 表 可 见, 当 X α = 时, 式 (5.1) 成 立 的 概 率 已 经 为 99%, 也 就 是 说, 该 式 的 可 靠 性 已 相 当 高.
127 5.2 赝 随 机 数 的 产 生 赝 随 机 数 的 产 生 在 数 值 模 拟 中, 总 是 要 用 到 随 机 数, 因 此, 我 们 首 先 讨 论 如 何 产 生 随 机 数. 产 生 随 机 数 的 方 法 一 般 有 两 种, 一 种 是 物 理 的 方 法, 一 种 是 数 学 的 方 法. 我 们 只 讨 论 产 生 随 机 数 的 数 学 方 法. 用 数 学 的 方 法, 在 计 算 机 上 产 生 随 机 数, 这 似 乎 是 不 可 能 的, 因 为 一 个 程 序 在 运 行 中 算 得 的 结 果 完 全 是 确 定 的, 不 具 有 任 何 随 机 性. 但 另 一 方 面, 确 实 可 以 用 确 定 的 程 序, 产 生 出 可 以 重 复 的, 满 足 随 机 数 的 各 个 检 验 要 求 的 数 列, 为 了 与 真 实 的 随 机 数 区 别, 我 们 通 常 把 数 学 方 法 产 生 的 随 机 数 称 为 赝 随 机 数. 由 于 赝 随 机 数 序 列 是 用 确 定 的 方 法 产 生 的, 因 此 它 有 一 定 的 周 期, 即 这 一 序 列 在 它 的 第 N 个 数 开 始 重 复. 从 实 用 的 角 度 讲, 周 期 要 尽 可 能 的 长, 这 样, 在 一 次 数 值 模 拟 中 所 用 的 随 机 数 的 个 数 小 于 其 周 期, 否 则, 如 果 在 一 次 计 算 中 所 用 的 随 机 数 的 数 目 超 过 了 它 的 周 期, 则 可 能 产 生 虚 假 的 结 果. 最 常 用, 最 基 本 的 产 生 赝 随 机 数 的 方 法 是 同 余 法, 即 下 面 的 递 推 关 系 : I j+1 = ai j + (mod m) (5.2) 这 里, a,, m 是 三 个 整 数, 由 上 述 关 系 可 推 出 一 个 序 列 I 1, I 2, I 3,, 对 于 适 当 选 定 的 a,, m, 这 一 序 列 可 以 作 为 赝 随 机 数 使 用 且 具 有 足 够 长 的 周 期. 因 此, 对 于 大 部 分 实 际 应 用, 下 面 两 句 FORTRAN 语 句 放 到 任 何 需 要 随 机 数 的 地 方 就 可 以 满 足 要 求 JRAN = MOD(JRAN*IA+IC, IM) RAN = FLOAT(JRAN)/FLOAT(IM) 这 里 RAN 就 是 一 个 在 区 间 [0,1] 上 的 赝 随 机 数. 关 于 系 数 的 一 个 特 别 的 选 择 是 a = 16807, = 0 于 是, 在 32 位 机 器 上, 下 面 的 语 句 就 可 以 产 生 (1, 2 31 ) 之 间 的 随 机 数 linux=linux*16807 if(linux.lt.0) linux=linux 对 于 大 型 的 计 算 项 目, 需 要 质 量 较 好 且 与 机 器 无 关 的 随 机 数 发 生 器, 一 种 笔 者 常 用 的 随 机 数 发 生 器 是 Fibonai 发 生 器, 其 新 的 随 机 数 由 前 面 的 两 个 已 经 得 到 的 随 机 数 通 过 加, 减 或 乘 得 到, 一 种 简 单 的 实 现 是 : x k+1 = x k 17 x k 5 当 x < 0 时, x x + 1. 这 一 实 现 称 为 17 位 Fibonai 发 生 器, 可 以 通 过 下 面 的 程 序 段 来 实 现, 使 I 和 J 分 别 初 始 化 为 17 和 5, 并 生 成 17 个 随 机 数 存 在 数 组 U 中
128 128 第 五 章 MONTE CARLO 方 法 UNI=U(I)-U(J) IF(UNI.LT.0.0) UNI=UNI+1.0 U(I)=UNI I=I-1 J=J-1 IF(I.EQ.0) I=17 IF(J.EQ.0) J=17 这 一 随 机 数 发 生 器 的 周 期 可 以 达 到 10 12, 基 本 能 满 足 大 部 分 实 际 计 算 的 需 要. 目 前 广 泛 使 用 的 一 个 赝 随 机 数 发 生 器 是 Shift-Register 发 生 器, 其 程 序 实 现 称 为 R250, 这 似 乎 是 一 个 质 量 更 高 的 发 生 器 R250 假 定 已 经 有 了 250 个 随 机 整 数 数, 然 后, 第 251 个 为 x 251 = x 1 x 148 或 一 般 的 x k = x k 250 x k 103 这 是 一 类 随 机 数 发 生 器 中 的 一 个, 这 类 发 生 器 均 可 写 为 x k = x k p x k q 这 里 表 示 对 整 数 按 照 二 进 制 位 做 xor 运 算 其 它 的 (p, q) 组 合 有 (98, 27) (1279,216) (1279,418) (9689, 84) (9689,471) (9689, 1836) (9689, 2444) (9689, 4187) 对 于 其 它 分 布 的 赝 随 机 数, 只 要 对 上 面 程 序 产 生 的 序 列 做 变 换 就 可 得 到. 这 里 做 一 个 简 短 的 介 绍 对 于 一 个 给 定 的 分 布 P (y), 我 们 希 望 由 均 匀 分 布 的 随 机 数 x 获 得 满 足 分 布 P (y) 的 随 机 数 即 我 们 需 要 找 到 一 个 x 的 函 数 f (x), 对 于 一 系 列 在 [0, 1] 按 照 均 匀 分 布 的 x, 由 y = f (x) 得 到 按 照 P (y) 分 布 的 y. 注 意 到 y P (y ) dy F (y) = x, 则 显 然 下 面 是 一 个 例 子 : 1, 指 数 分 布 P (y) = y = F 1 (x). { 0, y < 0 λe λy, y > 0.
129 5.3 用 MONTE CARLO 方 法 计 算 积 分 129 则 F (y) = y P (y ) dy = { 0, y < 0 1 e λy, y > 0, y = f (x) F 1 (x) = 1 ln (1 x). λ 不 幸 的 是, 对 于 绝 大 多 数 分 布 而 言, 上 面 的 积 分 无 法 解 析 积 出, 因 此 变 换 无 法 完 成, 因 此, 需 要 寻 找 其 它 方 法 5.3 用 Monte Carlo 方 法 计 算 积 分 在 第 三 章 中, 我 们 曾 指 出, 高 维 积 分 的 工 作 量 之 大, 是 通 常 积 分 方 法 无 法 完 成 的, 这 是 因 为 计 算 量 对 积 分 重 数 的 依 赖 是 指 数 关 系, 即 为 a N, 这 里 a 是 一 个 数, 大 体 为 计 算 一 重 积 分 的 计 算 量, N 为 积 分 重 数. 如 果 要 求 的 精 度 不 是 很 高, 则 Monte Carlo 方 法 计 算 高 维 积 分 可 以 大 大 减 小 计 算 量. 由 中 心 极 限 定 理 可 知, 如 果 我 们 在 一 个 多 维 体 积 V 中 均 匀 随 机 地 选 N 个 点, x 1, x 2, x 3,, x N, 则 f 2 f fdv V f ± V 2 N V (5.3) 这 里 表 示 取 算 术 平 均, f 1 N N f(x i ) f 2 1 N N f 2 (x i ) i=1 i=1 在 方 程 (5.3) 中, 右 边 第 一 项 是 积 分 的 近 似 值, 而 第 二 项 为 误 差 估 计 ( 取 X α = 1 并 以 f 代 替 数 学 期 望 值 ). 注 意 到 误 差 项 反 比 于 N, 正 比 于 被 积 函 数 的 方 差. 因 此, 为 了 达 到 较 高 的 精 度, 一 种 方 法 就 是 增 大 N, 但 显 然, 为 了 增 加 一 位 有 效 数 字, 就 要 增 加 100 倍 的 计 算 量, 下 面 是 一 个 例 子, 我 们 用 Monte Carlo 方 法 计 算 积 分 dx 1 dx 10 x 2 i 0 0 i=1 这 个 积 分 可 以 解 析 积 出 来, 其 结 果 为 10/ , 下 表 是 用 Monte Carlo 方 法 计 算 的 结 果, 可 以 清 楚 地 看 到 其 缓 慢 收 敛 的 过 程. N <f> <f>-10/3 sqrt((<f^2>-<f>^2)/n) E E E E E E E E-02
130 130 第 五 章 MONTE CARLO 方 法 另 一 种 提 高 精 度 的 方 法 是 减 小 方 差, 为 此, 考 虑 不 在 积 分 域 内 均 匀 取 点, 而 是 按 照 某 一 分 布 取 点, 用 g(x) 记 这 一 分 布, 则 方 程 (5.3) 成 为 V fdv V f/g ± V (f/g)2 f/g 2 N (5.4) 其 中 为 对 于 按 照 分 布 g(x) 取 样 的 点 所 做 的 平 均 如 果 选 择 g = f V f/g (5.5) 则 方 程 中 的 误 差 项 为 零! 但 仔 细 观 察 上 式 就 会 发 现, 这 实 际 上 是 做 不 到 的, 因 为 上 式 中 包 含 有 待 求 的 项 f/g, 而 在 g 未 给 出 之 前 f/g 根 本 无 法 计 算. 但 另 一 方 面,g(x) 与 被 积 函 数 成 比 例, 如 果 选 择 一 个 形 状 非 常 接 近 于 被 积 函 数 的 分 布, 就 可 能 减 小 方 差 不 过, 还 有 一 个 更 本 质 的 困 难, 一 般 我 们 给 出 的 是 均 匀 分 布 的 随 机 数, 因 此 实 现 均 匀 抽 样 完 全 是 直 接 了 当 的, 但 当 我 们 要 实 现 一 个 指 定 分 布 的 抽 样 时, 就 面 临 把 均 匀 分 布 的 随 机 数 变 为 所 需 分 布 的 问 题, 具 体 地 说, 就 是 要 找 一 变 换 y = y(x) 使 得 对 于 均 匀 分 布 的 x 有 以 g 分 布 的 y, 这 种 变 换 的 寻 找 也 许 比 原 积 分 的 计 算 更 难,( 至 少 对 绝 大 多 数 问 题 是 如 此!). 因 此, 这 一 想 法 似 乎 是 无 用 的. 不 过, (5.5) 毕 竟 给 我 们 一 些 提 示, 由 于 g 正 比 于 f, 这 就 提 示 我 们 在 被 积 函 数 值 较 大 的 地 方 多 选 取 样 点. 因 此 可 以 构 造 一 些 简 单 ( 变 换 容 易 ) 而 又 满 足 上 述 要 求 的 分 布 进 行 取 样. 关 于 这 一 方 面 的 内 容, 需 进 一 步 了 解 者 可 参 看 ( 裴 鹿 成, 张 孝 泽 著, 蒙 特 卡 罗 方 法 及 其 在 粒 子 输 运 问 题 中 的 应 用 ). 下 一 章 我 们 将 介 绍 另 外 一 种 基 于 这 样 一 种 观 察 的 方 法 来 模 拟 统 计 物 理 问 题. 我 们 再 来 看 一 个 例 子, 考 虑 积 分 I = 10 0 dx x 68 exp( 25x) 这 个 积 分 的 精 确 值 是 I exat = 用 简 单 抽 样 法 计 算, 结 果 如 下
131 5.3 用 MONTE CARLO 方 法 计 算 积 分 131 N I I I I N I exat I N I I exat I exat I exat I 其 中, I I 变 量, 由 此 得 到 : 是 相 对 误 差 的 估 计, 一 种 估 算 方 法 是 直 接 把 被 积 函 数 的 抽 样 值 作 为 随 机 I I = f 2 f 2 N f 2 另 一 种 方 法 是 把 总 的 步 数 分 为 若 干 段, 在 每 一 段 计 算 I, 并 把 其 看 做 为 随 机 变 量, 然 后 求 误 差 取 大 约 段, 所 得 结 果 与 第 一 种 方 法 的 结 果 大 致 相 同 这 里 的 结 果 来 自 第 一 种 方 法 从 最 后 一 列 可 以 看 出, 误 差 估 值 反 比 于 N, 其 比 例 系 数 与 方 差 相 联 系 为 了 减 少 方 差, 我 们 尝 试 用 一 个 与 被 积 函 数 比 较 接 近 的 分 布 来 取 样, 取 此 分 布 为 g(x) = exp( 2.5(x 2.8) 2 ) 然 后, 利 用 这 个 分 布 取 样, 并 计 算 x 68 exp( 25x) exp( 2.5(x 2.8) 2 ) 的 平 均 值 和 误 差, 计 算 结 果 如 下 注 意 到 最 后 一 列 比 简 单 抽 样 小 差 不 多 一 个 数 量 级 N I I I I N I exat I N I I exat I exat I exat I
132 132 第 五 章 MONTE CARLO 方 法 为 了 实 现 对 于 g(x) 的 抽 样, 我 们 利 用 如 下 Metropolis 算 法, 关 于 这 一 算 法 的 解 释 将 在 下 一 章 给 出 算 法 如 下 : 1. 任 取 x 0 [0, 10] 2. 设 已 经 得 到 x i, 选 y = x i + δ (ran() 0.5). 其 中 ran() 给 出 (0, 1) 之 间 均 匀 分 布 的 随 机 数,δ 为 一 可 调 参 数 计 算 g(y) 3. 如 果 y < 0 或 y > 10, 则 令 x i+1 = x i. 否 则, 产 生 随 机 数 ξ = ran(), 如 果 g(x)/g(x i ) ξ, 则 x i+1 = x i, 否 则 x i+1 = x i. 这 样 得 到 的 序 列 x 0, x 1,..., x N 满 足 分 布 g(x). 建 议 写 一 个 实 现 上 述 算 法 的 小 程 序, 产 生 一 个 序 列, 做 出 其 分 布 的 直 方 图 并 检 验 上 述 论 断 5.4 自 相 似 性 与 分 形 在 本 章 的 其 余 几 节 我 们 将 介 绍 几 种 与 随 机 数 和 模 拟 有 关 的 物 理 过 程. 这 一 节 先 介 绍 分 形 的 概 念. 对 于 任 一 物 体, 其 形 状 本 身 就 是 一 个 很 有 趣 的 性 质, 我 们 日 常 生 活 中 经 常 遇 到 的 如 圆 形, 椭 圆, 球, 长 方 体 等 都 代 表 某 种 形 状. 与 这 些 形 状 相 关 的 是 其 维 数, 如 我 们 知 道 圆 面, 椭 圆 面, 长 方 形 面 都 是 二 维 的 而 球, 长 方 体 等 则 是 三 维 的. 从 数 学 上 看, 如 果 我 们 把 一 个 二 维 物 体 的 线 度 增 加 倍, 则 其 面 积 将 变 为 原 来 的 四 倍, 即 S R 2. 这 里 S 为 所 研 究 物 体 的 面 积 而 R 是 其 特 征 长 度. 对 于 三 维 物 体, 我 们 有, V R 3. 作 为 一 个 一 般 的 关 系, 我 们 考 虑 所 研 究 的 物 体 具 有 均 匀 面 密 度 或 体 密 度, 于 是 有 M R d 这 里 d 为 所 研 究 物 体 的 维 数. 近 年 来, 人 们 对 于 另 外 一 类 形 状 发 生 了 很 大 的 兴 趣, 这 类 物 体 的 形 状 通 常 都 非 常 复 杂, 自 然 界 如 雪 花, 海 岸 等 数 学 上, 利 用 简 单 的 规 则, 可 以 生 成 很 多 种 复 杂 图 形 物 理 上 如 扩 散 限 制 粘 结 的 图 样 等 这 样 一 类 形 状 被 称 为 分 形. 我 们 以 一 个 直 观 的 简 单 例 子 开 始 讨 论, 考 虑 一 个 正 方 形, 显 然, 它 的 维 数 是 二. 现 把 它 分 为 9 个 相 等 的 小 正 方 形, 并 把 中 心 的 小 正 方 形 拿 掉, 对 剩 下 的 8 个 小 正 方 形 重 复 这 一 过 程 直 到 无 穷, 这 样 得 到 的 形 状 成 为 Sierpinski 地 毯. Sierpinski 地 毯 是 一 种 确 定 性 分 形, 这 是 因 为 产 生 Sierpinski 地 毯 的 规 则 完 全 是 确 定 的, 后 面 我 们 还 会 看 到 随 机 分 形 的 例 子, 这 类 分 形 是 通 过 一 定 的 随 机 过 程
133 5.4 自 相 似 性 与 分 形 133 图 5.1: Sierpinski 地 毯. 图 5.2: Koh 曲 线. 而 生 成 的. 分 形 的 一 个 显 著 特 点 是 自 相 似 性, 如 果 我 们 从 不 同 的 空 间 尺 度 去 观 察 分 形, 看 到 的 形 状 特 点 都 是 一 样 的, 或 者, 如 果 我 们 仅 仅 只 看 分 形, 则 无 法 知 道 所 看 到 的 部 分 是 否 被 放 大 了, 放 大 了 多 少 倍. Sierpinski 地 毯 就 是 这 样 一 个 典 型 的 例 子. 标 志 分 形 的 关 键 量 是 它 的 维 数, 对 于 规 则 形 状, 直 观 上 很 容 易 给 出 其 维 数, 这 个 维 数 实 际 上 就 是 可 以 把 此 形 状 嵌 入 的 最 小 空 间 维 数, 如 一 个 平 面 物 体 可 以 嵌 入 二 维 空 间, 是 二 维 的, 一 个 空 间 物 体 如 球, 立 方 体 等 可 以 嵌 入 三 维 空 间, 是 三 维 的. 而 分 形 的 另 一 个 特 点 是 很 难 从 直 观 上 给 出 其 维 数, 再 以 Sierpinski 地 毯 为 例, 它 的 维 数 是 多 少? 与 前 一 段 的 分 析 类 似, 我 们 可 以 一 般 地 用 下 述 公 式 M R d f 定 义 一 个 物 体 的 维 数. 对 于 大 多 数 复 杂 形 状, d f 通 常 并 不 是 一 个 整 数, 而 是 一 个 分 数 或 无 理 数, 这 就 是 分 形 这 一 名 称 的 来 源. 对 于 一 个 d f 维 的 形 状, 由 上 面 的 定 义 可 知, 如 果 我 们 用 某 个 长 度 单 位 u 来 量 度 其 特 征 长 度, 则 面 积 的 单 位 为 u 2, 体 积 的 单 位 为 u 3. 一 个 物 体 的 大 小 可 以 用 能 容 纳 该 物 体 的 最 小 正 规 维 数 的 空 间 来 量 度, 如 前 面 的 Sierponski 地 毯 可 容 纳 于 二 维 空 间, 因 此 可 以 用 u 2 来 量 度 其 大 小, 所 谓 大 小, 在 这 一 例 子 中 是 指 至 少 用 多 少 个 单 位 面 积 可 以 完 全 覆 盖 物 体. 设 在 此 选 定 单 位 下 特 征 长 度 的 值 为 L, 或 有 L 个 长 度 单 位. 如 果 我 们 把 所 用 的 长 度 单 位
134 134 第 五 章 MONTE CARLO 方 法 减 少 到 原 来 的 1/l, 则 显 然 L 变 为 原 来 的 l 倍, 而 面 积 和 体 积 分 别 变 为 原 来 的 l 2 及 l 3 倍. 或 d 维 形 状 的 大 小 变 为 原 来 的 N = l d 倍. 如 果 一 个 维 数 为 d f 的 形 状 嵌 入 d 维 空 间, 此 处 d 称 为 正 规 维 数, 只 能 取 整 数 值. 则 此 形 状 在 单 位 变 换 下 其 大 小 变 为 原 来 的 N = l d f 倍. 于 是 维 数 d f = ln N ln l. 我 们 可 以 用 这 样 一 种 关 系 来 计 算 分 形 的 维 数. 对 于 Sierpinski 地 毯, 设 我 们 取 其 边 长 为 单 位, 则 其 大 小 为 1, 把 长 度 单 位 缩 小 到 原 来 的 1/3, 大 小 成 为 8, 再 缩 小 到 1/3, 大 小 成 为 8 2, 或 一 般 地, 长 度 单 位 每 缩 小 到 原 来 1/3, 则 大 小 增 加 到 8 倍. 这 里 N = 8, l = 3, 于 是 Sierpinski 地 毯 的 分 形 维 数 为 d f = ln 8/ ln 3 = 与 Sierpinski 地 毯 有 关 的 还 有 Koh 曲 线, 它 是 把 一 单 位 长 度 的 线 段 三 等 分, 把 中 间 的 一 段 拿 掉, 连 上 由 长 度 为 1/3 的 线 段 构 成 的 上 翘 三 角 形, 然 后 对 每 一 线 段 重 复 上 述 过 程 至 无 穷, 得 到 的 结 果 即 为 Koh 曲 线. 如 图 所 示. 练 习 : 计 算 Koh 曲 线 的 分 形 维 数.( 提 示, 考 察 Koh 曲 线 的 总 长 度 与 长 度 单 位 改 变 之 间 的 关 系 ). 在 自 然 界 中, 一 个 与 分 形 有 关 的 著 名 例 子 是 英 国 的 海 岸 线 有 多 长? 如 果 我 们 拿 一 张 地 图, 分 别 用 不 同 长 度 的 尺 子 来 量 度 英 国 的 海 岸 线, 则 可 以 得 到 不 同 的 长 度, 随 着 尺 子 不 断 变 短, 则 我 们 的 到 的 海 岸 线 的 长 度 变 长. 一 个 自 然 的 想 法 是 当 尺 子 足 够 短 时, 这 一 长 度 应 该 趋 于 一 个 恒 定 值, 并 可 把 这 一 恒 定 值 定 义 为 英 国 海 岸 线 的 长 度. 然 而, 这 一 直 观 的 想 法 并 不 成 立, 事 实 上, 当 我 们 的 尺 子 越 来 越 短 时, 我 们 可 能 达 到 一 张 地 图 分 辨 率 的 极 限, 此 时 我 们 需 要 一 张 分 辨 率 更 高 的 地 图, 但 我 们 并 不 能 得 到 一 个 确 定 的 长 度, 最 后, 也 许 我 们 需 要 沿 着 英 国 海 岸, 在 距 离 水 边 一 米 处 测 量, 即 便 如 此, 随 着 尺 子 长 度 的 改 变, 我 们 依 然 不 能 得 到 确 定 的 海 岸 线 长 度. 事 实 上, 海 岸 线 的 长 度 并 不 是 一 个 一 维 量, 而 是 一 个 分 形, 它 的 维 数 大 于 一. 为 了 计 算 其 维 数, 我 们 可 以 用 不 同 长 度 的 尺 子 测 量 海 岸 线 的 长 度, 并 把 测 得 的 长 度 的 数 值 的 对 数 与 尺 子 长 度 的 对 数 作 图, 则 可 得 到 一 条 直 线, 直 线 的 斜 率 就 给 出 海 岸 线 的 维 数. 练 习 : 找 一 张 较 大 的 中 国 地 图, 试 测 量 并 计 算 中 国 海 岸 线 的 分 形 维 数. 5.5 扩 散 限 制 粘 结 的 计 算 机 模 拟 扩 散 限 制 粘 结 (Diffusion limited aggregation), 简 称 DLA, 是 近 三 十 年 来 引 起 广 泛 兴 趣, 得 到 大 量 研 究 的 物 理 过 程 其 开 端 是 由 Witten 和 Sander 为 了 充 分 使 用 一 台 当 时 最 新 的 绘 图 仪 而 引 发, 且 一 发 而 不 可 收 拾 (Diffusion-Limited Aggregation, a Kineti Critial Phenomenon, Phys. Rev. Lett. 47, (1981)) 全 面 介 绍 这 样 一 个 重 要 的 领 域 大 大 超 出 了 本 讲 义 的 范 围, 这 一 节 我 们 介 绍 一 种 用 计 算 机 生 成 DLA 集 团 的 方 法, 同 学 门 可 由 此 体 会 一 点 DLA 的 初 步 知 识.
135 5.6 高 分 子 的 模 拟 和 无 规 行 走 135 考 虑 一 个 正 方 格 子, 现 在 格 子 的 中 心 放 一 个 粒 子, 作 为 DLA 的 种 子. 从 格 子 的 边 缘 随 机 选 定 一 个 出 发 点, 并 使 一 粒 子 从 该 点 出 发, 在 格 子 上 做 无 规 行 走, 当 此 粒 子 到 达 作 为 种 子 的 近 邻 时, 则 使 其 停 下, 并 随 机 在 格 子 边 缘 选 一 出 发 点, 继 续 这 一 过 程 ; 如 果 粒 子 在 无 规 行 走 中 到 达 边 界, 则 放 弃 这 一 粒 子. 重 复 这 一 过 程 多 次 直 到 生 成 一 个 较 大 的 集 团, 如 果 我 们 把 这 个 集 团 显 示 到 计 算 机 显 示 器 上 或 打 印 出 来, 我 们 就 会 看 到 这 一 图 案 与 很 多 自 然 现 象 有 相 似 之 处, 如 雪 花, 闪 电 的 图 样, 山 上 岩 石 的 裂 纹 等. DLA 图 样 是 随 机 分 形 的 典 型 例 子, 为 了 计 算 其 分 形 维 数, 我 们 可 以 考 虑 以 种 子 所 在 的 点 为 圆 心, 不 断 改 变 半 径 并 数 出 圆 内 所 具 有 的 粒 子 数 M, 则 应 有 M R d f, 作 出 ln M 与 ln R 的 图, 就 可 得 到 分 形 维 数. 计 算 机 实 习 题 : 编 写 生 成 DLA 的 程 序 并 生 成 DLA 集 团, 分 析 其 分 形 维 数. 5.6 高 分 子 的 模 拟 和 无 规 行 走 无 规 行 走 可 以 作 为 高 分 子 链 的 简 单 模 型, 为 了 简 单 直 观 起 见, 这 一 节 我 们 只 考 虑 二 维 空 间 的 无 规 行 走, 推 广 到 三 维 是 直 接 了 当 的 简 单 无 规 行 走 (RW) 考 虑 一 个 二 维 的 正 方 格 子 ( 其 它 格 子 亦 可 ), 从 格 子 上 的 一 个 格 点 出 发, 随 机 地 在 四 个 可 能 的 方 向 上 选 择 一 个 方 向, 前 进 一 步 然 后 以 新 的 位 置 为 出 发 点, 重 复 前 进, 走 N 步 后, 其 所 走 的 轨 迹 构 成 一 个 一 维 链 这 个 链 可 以 看 作 最 简 单 的 高 分 子 链 的 模 型 因 为 每 一 步 有 z = 4 种 等 价 的 选 择, 而 相 邻 的 步 是 独 立 的, 因 此, 无 规 行 走 的 配 分 函 数 ( 总 的 状 态 数 ) 可 以 方 便 写 出 Q = z N 这 里,z 是 格 点 的 最 近 邻 格 点 数, 对 于 正 方 格 子,z = 4. 用 r i 表 示 第 i 步 的 位 移,N 步 后 的 位 移 是 R = R = R 是 起 点 与 终 点 之 间 的 距 离, 称 为 末 端 距 显 然 R = 0 而 末 端 距 的 平 方 的 平 均 为 N i=1 r i N R 2 = r i r j = i,j=1 N ri 2 = Na 2 i=1
136 136 第 五 章 MONTE CARLO 方 法 这 里 a 是 晶 格 常 数 随 后 将 会 看 到, 这 个 严 格 的 结 果 在 模 拟 计 算 中 非 常 有 用 不 回 头 无 规 行 走 (NRRW) 与 简 单 无 规 行 走 类 似, 除 了 每 一 步 不 容 许 立 即 回 头, 即 只 能 在 z 1 个 可 能 的 方 向 中 选 择 对 于 N 步 行 走, 其 配 分 函 数 为 而 末 端 距 平 方 的 平 均 值 是 Q = (z 1) N R 2 = 4 3 Na2 自 回 避 无 规 行 走 (SAW) N 如 果 考 虑 到 高 分 子 链 具 有 体 积 效 应, 即 每 个 格 点 最 多 只 能 访 问 一 次, 那 么, 在 无 规 行 走 中, 如 果 遇 到 已 经 访 问 过 的 点, 就 必 须 回 避 一 种 实 际 的 计 算 方 法 是, 产 生 NRRW 链, 一 旦 选 择 的 新 格 点 被 占 据, 就 停 止 显 然, 这 样 一 种 方 法 很 难 得 到 N 比 较 大 的 链, 事 实 上, 在 长 度 为 N 的 NRRW 链 中, 自 回 避 链 所 占 的 比 例 由 其 配 分 函 数 的 比 值 给 出 w N = QSAW Q NRRW 这 也 是 计 算 SAW 配 分 函 数 的 一 个 方 法 事 实 上,SAW 的 配 分 函 数 无 法 解 析 得 到, 在 N 时, 可 以 得 到 其 渐 进 形 式 为 Q SAW = N γ 1 z N eff 其 中,γ 是 一 个 临 界 指 数,z eff < z 1 为 有 效 近 邻 数, 通 常 不 是 一 个 整 数 这 连 个 数 一 般 只 能 通 过 数 值 模 拟 求 得, 目 前 已 知 的 结 果 是 : 三 维 空 间 γ 7 6, 二 维 空 间 γ 4 3. 利 用 这 个 结 果, 可 以 得 到 ( ) N ( w N = N γ 1 zeff = exp N ln z 1 ) + (γ 1) ln N z 1 z eff 从 上 式 可 以 看 出, 随 着 N 增 加,SAW 链 出 现 的 概 率 指 数 衰 减, 因 此, 当 N 较 大, 例 如 达 到 100 时, 从 NRRW 中 挑 出 一 个 SAW 是 非 常 难 的 所 以, 直 接 生 成 的 方 法 通 常 限 于 N < 100 的 SAW 链 的 研 究 除 了 自 回 避 外, 如 果 在 最 近 邻 的 占 据 格 点 上 加 上 一 点 吸 引 相 互 作 用, 则 会 得 到 非 常 有 趣 的 结 果 此 时,SAW 链 存 在 一 个 相 变, 其 来 源 是 自 回 避 排 斥 作 用, 熵 和 吸 引 相 互 作 用 的 竞 争 存 在 一 个 临 界 温 度 T, 当 T > T 时,SAW 的 末 端 距 平 方 的 平 均 值 在 大 N 极 限 下 为 R 2 N 2ν, ν 0.59 这 里 ν 是 另 外 一 个 临 界 指 数 当 T < T 时, R 2 N 2/3 而 当 T = T 时 R 2 N
137 第 六 章 逾 渗 和 统 计 物 理 问 题 6.1 逾 渗 简 介 逾 渗 问 题 本 身 不 是 一 个 物 理 问 题, 但 这 一 问 题 的 研 究 包 含 了 现 代 物 理 的 很 多 重 要 概 念, 如 相 变, 临 界 指 数, 重 整 化 群 等. 由 于 逾 渗 问 题 比 实 际 统 计 物 理 问 题 简 单 很 多, 因 此 成 为 介 绍 这 些 重 要 物 理 概 念 的 一 个 合 适 的 入 门 模 型. 逾 渗 的 很 多 概 念 和 模 型 在 无 序 固 体 及 软 物 质 的 研 究 中 也 有 重 要 应 用. 这 一 节 我 们 简 单 介 绍 点 逾 渗 模 型 及 一 些 概 念, 下 一 节 给 出 一 种 计 算 机 分 析 逾 渗 的 方 法. 为 简 单 起 见, 我 们 考 虑 二 维 问 题, 把 平 面 划 分 为 正 方 格 子, 如 图 所 示. 每 一 个 小 的 方 格 可 以 处 于 占 据 和 空 两 种 状 态, 在 图 中 以 灰 和 白 表 示. 设 每 一 个 格 点 被 占 据 的 概 率 为 p, 这 一 概 率 与 格 点 的 周 围 环 境 无 关. 这 样 一 种 模 型 称 为 点 逾 渗 模 型. 对 于 给 定 的 占 据 概 率 p, 每 一 占 据 格 点 或 者 是 孤 立 的, 或 者 与 最 近 邻 占 据 格 点 形 成 集 团. 我 们 定 义 若 二 格 点 为 最 近 邻 且 均 被 占 据, 则 此 二 格 点 直 接 相 连, 若 二 格 点 之 间 可 以 找 到 一 个 通 路, 沿 通 路 最 近 邻 格 点 相 连, 则 此 二 格 点 间 接 相 连. 集 团 定 义 为 这 样 一 组 占 据 格 点, 其 中 的 任 何 二 个 都 直 接 或 间 接 相 连. 集 团 的 大 小 是 逾 渗 问 题 中 的 一 个 关 键 量. 设 想 若 每 个 占 据 格 点 为 导 体 而 空 格 点 为 绝 缘 体, 则 如 果 存 在 一 个 大 集 团 从 格 子 的 一 边 延 伸 到 另 一 边, 则 逾 渗 样 品 将 导 通, 否 则 为 绝 缘 体. 我 们 可 以 很 容 易 用 计 算 机 生 成 逾 渗 集 团, 对 于 每 一 个 格 点, 产 生 一 个 在 区 间 [0, 1] 上 均 匀 分 布 的 随 机 数 r, 若 p > r, 则 此 格 点 标 记 为 占 据, 否 则 为 空. 如 果 占 据 概 率 p 很 小, 我 们 期 望 只 有 一 些 孤 立 的 小 集 团, 如 图 A 所 示, 如 果 占 据 概 率 p 1, 我 们 期 望 大 多 数 占 据 格 点 形 成 一 个 跨 越 边 界 的 大 集 团, 我 们 称 此 集 团 为 跨 越 集 团. 对 于 中 等 大 小 的 p, 如 p 处 于 之 间, 会 发 生 什 么 情 况? 下 面 我 们 将 看 到, 对 于 一 个 无 穷 大 的 格 点, 存 在 一 个 确 定 的 临 界 概 率 p, 当 p > p 时, 存 在 一 个 无 穷 大 的 跨 越 集 团 ; 当 p < p 时, 所 有 集 团 都 是 有 限 的, 不 存 在 跨 越 集 团. 逾 渗 的 本 征 量 是 其 连 通 性, 随 着 格 点 占 据 概 率 的 连 续 变 化, 连 通 性 在 一 个 特 定 值 p 发 生 突 变. 这 种 由 无 跨 越 集 团 到 有 跨 越 集 团 的 变 化 是 一 种 相 变, 现 在 一 般 称 为 几 何 相 变. 逾 渗 并 不 仅 仅 是 一 个 有 趣 的 模 型, 实 际 上 有 很 多 与 之 相 关 的 物 理 问 题. 一 个 有 实 际 意 义 的 问 题 是 随 机 复 合 介 质 问 题, 如 果 我 们 把 金 属 球 和 橡 胶 球 均 匀 的 随 机 放 入 一 个 容 器
138 138 第 六 章 逾 渗 和 统 计 物 理 问 题 图 6.1: 中, 如 果 金 属 球 没 有 形 成 通 路, 则 样 品 整 体 表 现 出 绝 缘 性, 而 当 金 属 球 形 成 通 路 时, 则 样 品 在 整 体 上 表 现 为 导 体. 我 们 用 金 属 球 在 容 器 中 所 占 的 体 积 与 容 器 的 体 积 之 比, 体 积 分 数 ϕ 来 表 示 金 属 球 的 多 少, 当 ϕ 很 小 时, 样 品 的 电 导 为 0, 在 一 个 临 界 体 积 分 数 ϕ, 电 导 变 为 非 零 并 随 ϕ 的 增 加 而 急 剧 增 加. 这 是 一 个 金 属 绝 缘 体 转 变 的 典 型 例 子. 其 他 的 应 用 还 有 如 磁 性 物 质 的 非 磁 性 掺 杂, 森 林 火 灾 的 扩 展, 流 行 病 的 扩 展 等 等. 为 了 定 量 研 究 逾 渗 问 题, 我 们 定 义 下 面 一 些 量. 集 团 尺 寸 s, 定 义 为 集 团 内 的 格 点 数 ; 平 均 集 团 尺 寸 分 布 n s (p), 定 义 为 尺 寸 为 s 的 集 团 的 数 目 与 总 的 格 点 数 之 比 ( 当 p > p 时, 我 们 排 除 跨 越 集 团 ); 显 然, sn s 为 尺 寸 为 s 的 集 团 所 占 据 的 格 点 的 总 数, 而 w s = sn s s sn s 为 随 机 抽 取 一 个 占 据 格 点 时, 该 格 点 处 于 某 一 尺 寸 为 s 的 集 团 的 概 率, 平 均 集 团 尺 寸 则 由 下 式 给 出 S = s sw s = s s2 n s. s sn s 另 一 个 描 述 逾 渗 问 题 的 重 要 量 是 跨 越 集 团 概 率 P, 定 义 为 跨 越 集 团 内 包 含 的 格 点 总 数 与 占 据 格 点 总 数 之 比. 对 于 一 个 无 穷 大 的 格 点, 当 p < p 时, P = 0 而 当 p = 1 时, P = 1, 在 p = p, P 由 零 变 为 非 零 且 随 p 增 加 而 增 加. 在 热 力 学 统 计 物 理 中 我 们 学 过 热 力 学 相 变 和 临 界 现 象, 一 个 比 较 简 单 但 具 有 代 表 性 的 例 子 是 铁 磁 系 统 的 临 界 现 象, 当 温 度 T 小 于 临 界 温 度 T 时, 系 统 为 铁 磁 体, 具 有 自 发 磁 化, 而 当 T > T 时, 系 统 为 顺 磁 体. 系 统 的 相 变 由 参 数 温 度 引 起, 在 临 界 温 度 附 近, 系 统 具 有 长 程 关 联, 关 联 长 度 在 临 界 点 发 散, 其 宏 观 表 现 为 一 系 列 热 力 学 量 在 临 界 点 的
139 6.1 逾 渗 简 介 139 非 解 析 性 质. 逾 渗 相 变 与 热 力 学 临 界 现 象 有 很 多 相 似 之 处, 下 面 我 们 给 出 一 些 定 义 和 分 析, 这 些 分 析 对 理 解 更 为 复 杂 和 丰 富 多 采 的 热 力 学 临 界 现 象 可 提 供 帮 助. 首 先 定 义 一 个 与 逾 渗 有 关 的 长 度, 即 平 均 连 接 长 度 ξ(p), 代 表 集 团 的 空 间 尺 寸. 这 一 长 度 可 以 有 多 种 定 义 方 式, 这 里 我 们 考 虑 一 个 大 小 为 s 的 集 团 的 回 转 半 径 R s, 定 义 为 R 2 s = 1 s s (r i r) 2 i=1 其 中 r = 1 s s i=1 r i 而 r i 是 第 i 个 格 点 的 位 置 矢 量. r 是 集 团 的 质 心. 我 们 可 以 把 非 跨 越 集 团 回 转 半 径 的 平 均 值 定 义 为 ξ, 也 可 把 最 大 的 非 跨 越 集 团 的 回 转 半 径 定 义 为 ξ. 当 p < p 时, ξ 随 p 的 增 加 而 增 加, 当 p > p 时, ξ 随 p 的 减 小 而 增 加, 在 p = p 处 ξ 发 散. 当 p p 1 时, 我 们 称 系 统 处 于 临 界 区 域, ξ 的 发 散 行 为 是 非 解 析 的, 满 足 如 下 的 指 数 关 系 ξ(p) p p ν ν 是 我 们 遇 到 的 第 一 个 重 要 的 数, 称 为 关 联 长 度 的 临 界 指 数. 在 临 界 区 域, 我 们 期 望 当 p > p 时, 有 P (p p ) β 在 临 界 区 域, 集 团 的 尺 寸 发 散, 我 们 期 望 其 行 为 是 S(p) p p γ 这 样 我 们 定 义 了 三 个 临 界 指 数, 对 于 二 维 问 题, 这 些 临 界 指 数 可 以 解 析 求 出, 其 值 为 β = 5/36, γ = 43/18, ν = 4/3. 对 于 三 维 问 题, 只 能 用 各 种 近 似 方 法 来 得 到, 其 结 果 为 β 0.4, γ 1.8, ν 0.9. 这 些 指 数 具 有 很 大 的 普 适 性, 与 晶 格 结 构 以 及 与 关 联 长 度 的 不 同 定 义 均 无 关. 除 此 之 外, 它 们 之 间 还 满 足 一 定 的 关 系, 如 2β + γ = νd 式 中 d 为 空 间 维 数, 这 种 关 系 称 为 标 度 关 系. 有 关 这 些 关 系 及 其 在 相 变 和 临 界 现 象 中 的 重 要 意 义 将 在 高 等 统 计 物 理 课 程 中 详 细 讨 论. 有 兴 趣 的 同 学 也 可 参 看 有 关 书 籍 和 文 献. 相 对 于 临 界 指 数, 临 界 点 p 则 不 是 一 个 普 适 量, 对 于 二 维 正 方 格 点, p 而 对 于 三 角 格 子 p = 1/2.
140 140 第 六 章 逾 渗 和 统 计 物 理 问 题 6.2 逾 渗 的 计 算 机 模 拟 和 分 析 上 一 节 我 们 简 单 介 绍 了 逾 渗 的 概 念, 这 一 节 将 讨 论 用 计 算 机 研 究 逾 渗 问 题 的 一 些 方 法. 研 究 逾 渗 问 题 大 体 上 分 为 三 步, 第 一 步 是 生 成 逾 渗 集 团, 这 是 最 简 单 的 一 步, 已 经 在 上 节 介 绍 过 了 ; 第 二 步 是 标 定 集 团, 即 找 出 每 个 集 团 所 包 含 的 格 点, 并 对 集 团 编 号, 以 便 进 一 步 分 析, 这 是 整 个 分 析 中 最 困 难 的 一 步 ; 第 三 步 是 根 据 第 二 步 的 结 果, 具 体 计 算 临 界 概 率, 临 界 指 数 等. 一 种 直 观 的 标 定 集 团 的 算 法 是 从 一 个 占 据 格 点 出 发, 找 出 与 此 格 点 直 接 和 间 接 相 连 的 所 有 格 点, 并 给 这 些 格 点 赋 予 数 1; 然 后 从 剩 下 的 占 据 格 点 中 选 出 一 个, 找 出 所 有 与 这 一 格 点 相 连 的 格 点 并 赋 予 数 2; 重 复 这 一 过 程 直 到 所 有 占 据 过 格 点 全 部 用 完. 请 同 学 试 写 出 这 一 算 法 的 程 序 并 对 从 小 到 大 的 格 点 进 行 试 算, 看 会 有 什 么 结 果? 实 际 上, 随 着 格 点 数 目 的 增 加, 计 算 量 将 指 数 增 加, 从 而 使 计 算 实 际 上 成 为 不 可 能. 下 面 我 们 介 绍 一 种 由 Hoshen 和 Kopelman 发 展 的 算 法. 这 一 算 法 可 通 过 下 面 的 例 子 来 介 绍. 考 虑 图 6.2 所 示 的 一 个 逾 渗 样 本, 我 们 从 左 下 角 开 始, 并 从 左 到 右, 从 下 到 上 进 行 编 号. 因 格 点 (1,1) 被 占 据, 我 们 给 它 赋 予 集 团 标 号 1, 下 一 个 没 有 占 据, 无 需 赋 值, 下 一 个 占 据 格 点 是 (3,1), 由 于 其 左 边 的 格 点 为 空, 我 们 给 它 赋 予 下 一 个 集 团 标 号 2, 格 点 (4,1) 左 边 占 据, 与 其 左 边 的 格 点 同 属 一 个 集 团, 也 赋 予 2, 这 一 行 其 余 格 点 的 分 析 是 直 接 了 当 的. 然 后 我 们 到 第 二 行, 考 察 格 点 (1,2), 由 于 这 一 格 点 被 占 据, 它 的 上 一 行 的 近 邻 (1,1) 的 集 团 标 号 为 1, 因 此 我 们 对 它 赋 值 1, 并 从 左 到 右 检 查 这 一 行, 如 果 一 个 格 点 为 空, 则 跳 过 该 格 点, 如 果 格 点 被 占 据, 则 考 察 其 左 边 和 下 边 的 最 近 邻, 若 此 2 近 邻 均 空, 则 给 此 格 点 赋 予 下 一 个 集 团 标 号, 如 果 只 有 一 个 近 邻 被 占 据, 则 给 此 格 点 赋 予 其 近 邻 的 集 团 标 号, 如 格 点 (2,2) 赋 予 1, 因 为 只 有 其 左 边 的 近 邻 被 占 据 且 具 有 标 号 1. 如 果 格 点 的 左 和 下 两 个 近 邻 均 被 占 据, 则 意 味 着 原 标 定 为 不 同 标 号 的 两 个 集 团 实 际 上 是 一 个 集 团, 我 们 必 需 进 行 合 并 并 重 新 编 号. 如 格 点 (6,2), 其 左 边 格 点 (5,2) 标 号 为 4, 而 其 下 边 格 点 (6,1) 标 号 为 3, 显 然 我 们 应 该 对 (6,2) 赋 予 较 小 的 标 号 3 并 把 (5,2) 的 标 号 更 新 为 3, 但 是 在 后 面 可 能 还 会 有 进 一 步 的 重 复 和 合 并, 我 们 把 这 一 更 新 过 程 推 迟 到 后 面 再 进 行. 为 了 记 录 这 种 合 并 信 息, 我 们 引 入 一 个 正 规 标 定 数 组 n, 数 组 的 每 一 个 元 素 与 一 个 集 团 标 号 相 联 系, 对 独 立 的 集 团 标 号, 数 组 的 对 应 元 素 赋 值 为 该 数 组 的 下 标, 否 则 赋 值 对 应 将 要 合 并 的 集 团 的 标 号. 对 于 本 例, 在 到 达 格 点 (6,2) 前, 分 别 有 np(1) = 1, np(2) = 2, np(3) = 3, np(4) = 4. 而 到 达 格 点 (6,2), 我 们 知 道 标 号 为 4 的 集 团 实 际 上 与 标 号 为 3 的 集 团 是 同 一 集 团, 为 了 记 住 这 一 信 息, 我 们 有 np(4) = 3. 这 一 赋 值 告 诉 我 们 标 号 4 是 非 正 规 的, 而 且 与 正 规 标 号 3 相 连. 这 样 一 个 过 程 仍 然 有 不 确 定 性, 当 我 们 到 达 格 点 (5,4), 此 格 点 的 左 边 标 号 为 5, 下 边 标 号 为 4, 我 们 已 经 知 道 标 号 4 为 非 正 规 标 号 ( 因 为 np(4) 4), 此 时 我 们 并 不 是 按 照 上 面
141 6.3 正 则 系 综 和 统 计 模 型 图 6.2: 集 团 的 构 造 算 法 的 规 则 为 (5,4) 标 号 4, 而 是 标 号 为 较 小 标 号 所 指 的 正 规 标 号, 这 里 为 3( 因 为 np(4) = 3), 同 时 我 们 知 道 标 号 5 也 是 非 正 规 的, 其 所 对 应 的 正 规 编 号 为 3, 故 应 令 np(5) = 3. 当 检 查 完 所 有 格 点 后, 我 们 可 以 根 据 数 组 np 的 值 对 非 正 规 标 号 进 行 更 新. 实 际 计 算 时, 我 们 总 是 分 析 有 限 的 格 点, 对 每 一 个 给 定 大 小 的 格 点 和 在 给 定 p 后 生 成 的 逾 渗 样 本, 计 算 得 到 的 P 一 般 并 不 相 同, 因 此 必 需 对 多 个 样 本 进 行 平 均. 这 样 计 算 得 到 的 结 果 与 所 取 样 本 大 小 有 关, 为 了 得 到 无 穷 大 格 点 的 结 果, 应 对 不 同 大 小 的 格 点 进 行 计 算, 然 后 外 推 到 无 穷 大 样 本. 为 了 计 算 临 界 指 数, 我 们 可 在 p 附 近 对 不 同 的 p 计 算 P, 设 P (p p ) β, 则 ln P = β ln(p p ) + C 这 里 C 为 一 个 常 数, 通 过 调 节 p, 使 得 ln P 与 ln(p p ) 成 为 一 条 直 线, 则 直 线 的 斜 率 就 给 出 β. 作 为 一 个 计 算 实 习 题, 请 同 学 根 据 前 面 二 节 的 内 容 分 析 二 维 正 方 格 子 上 的 逾 渗 问 题, 试 通 过 计 算 P, ξ 等 量 来 得 到 临 界 概 率 p 及 临 界 指 数. 6.3 正 则 系 综 和 统 计 模 型 在 热 力 学 与 统 计 物 理 中 我 们 学 过, 如 果 一 个 多 体 系 统 的 Hamiltonian 为 H, 则 对 于 给 定 系 统 的 粒 子 数 N, 体 积 V 和 温 度 T 之 后, 系 统 的 平 衡 分 布 由 正 则 分 布 给 出 为 : P (x) = 1 Z exp[ βh(x)] (6.1) 式 中 x 代 表 系 统 的 任 一 位 形, 而 P (x) 则 给 出 在 平 衡 态 时 系 统 处 于 该 位 形 的 概 率. Z = dx exp( βh(x)) (6.2)
142 142 第 六 章 逾 渗 和 统 计 物 理 问 题 为 系 统 的 正 则 配 分 函 数 ( 与 标 准 定 义 差 一 因 子 N!, 这 在 Monte Carlo 计 算 中 并 不 重 要, 因 为 后 面 将 会 看 到, Monte Carlo 方 法 几 乎 不 用 来 计 算 配 分 函 数 本 身 ) 在 分 立 变 量 的 情 况 下, 式 (6.2) 中 的 积 分 应 理 解 为 对 各 种 位 形 的 求 和. 物 理 量 是 位 形 的 函 数, 对 于 物 理 量 b(x), 其 平 均 值 B 为 B = dxb(x)p (x) (6.3) 下 面 我 们 看 几 个 具 体 的 例 子 Ising 模 型 Ising 模 型 的 Hamiltonian 为 H = J nn s i s j h i s i (6.4) 式 中 J 称 为 交 换 积 分, h 为 外 场, s i 可 取 值 ±1, 称 为 自 旋 变 量. Ising 模 型 是 最 简 单 的 非 平 庸 统 计 物 理 模 型, 它 是 由 德 国 物 理 学 家 Lenz 在 二 十 年 代 提 出 的, 这 一 模 型 可 用 来 描 述 单 轴 各 向 异 性 磁 性 系 统, 合 金 等 物 理 体 系, 同 时 也 是 一 个 十 分 有 兴 趣 的 理 论 模 型. Ising 最 早 给 出 了 这 一 模 型 在 一 维 情 况 下 的 严 格 解, 证 明 了 在 一 维 下 这 一 模 型 不 存 在 相 变. Onsager 于 1945 年 做 出 了 零 场 下 这 一 模 型 在 二 维 空 间 的 严 格 解 并 计 算 了 它 的 相 变 温 度, 比 热 在 相 变 点 的 行 为 等 热 力 学 量. 杨 振 宁 在 1952 年 解 出 了 外 场 很 小 时 二 维 空 间 的 Ising 模 型, 求 出 了 序 参 量 的 临 界 行 为. 由 于 对 这 一 模 型 的 很 多 形 为 目 前 了 解 的 比 较 透 彻, 因 此 它 经 常 被 用 来 做 为 检 验 各 种 数 值 方 法 或 解 析 近 似 方 法 的 标 准 年,A. E. Ferdinand 和 M. E. Fisher(Bounded and Inhomogeneous Ising Models. I. Speifi-Heat Anomaly of a Finite Lattie,Phys. Rev. 185, (1969) ) 求 得 了 有 限 尺 寸 2D Ising 模 型 在 周 期 性 边 界 条 件 下 的 严 格 解, 成 为 检 验 模 拟 结 果 的 一 个 有 效 标 准 对 于 Ising 模 型, 人 们 通 常 感 兴 趣 的 热 力 学 量 是 能 量 E = H, 序 参 量 m = 1 N i s i, 能 量 的 涨 落 H 2 H 2, 序 参 量 的 涨 落 m 2 m 2 等. 能 量 的 涨 落 与 系 统 的 比 热 成 正 比, 而 序 参 量 的 涨 落 则 正 比 于 系 统 的 磁 化 率. 与 Ising 模 型 类 似 的 还 有 Heisenberg 模 型 : H = ij (J x S i xs j x + J y S i ys j y + J z S i zs j z) (6.5) 式 中, J x, J y, J z 称 为 交 换 积 分, S = (S x, S y, S z ) 为 自 旋 矢 量. S 可 为 量 子 算 符, 也 可 取 为 经 典 量, 分 别 对 应 于 量 子 Heisenberg 模 型 和 经 典 Heisenberg 模 型. 在 这 里, 我 们 只 讨 论 经 典 问 题. 若 J x = J y = J z J, 则 上 式 成 为 各 向 同 性 的 Heisenberg 模 型 : H = J S i S j (6.6) ij
143 6.4 统 计 物 理 的 MONTE CARLO 模 拟, METROPLIS 方 法 143 通 过 适 当 调 整 J, 式 中 的 S 可 以 看 作 三 维 空 间 的 单 位 矢 量. 如 果 把 矢 量 S 的 维 数 降 为 二, 我 们 得 到 所 谓 的 XY 模 型 ; 当 矢 量 S 的 维 数 趋 于 无 穷 大 时, 对 应 于 球 模 型, 而 当 矢 量 S 的 维 数 趋 于 零 时, 可 用 来 描 写 高 分 子 溶 液. 在 Ising 模 型 中, 如 果 s 的 取 值 不 是 ±1, 而 可 以 取 多 个 值, 则 对 应 于 所 谓 Potts 模 型 Lenard-Jones 模 型 在 高 温 下, 量 子 效 应 是 不 重 要 的, 可 以 用 经 典 统 计 物 理 来 描 述. 最 简 单 的 多 粒 子 系 统 是 惰 性 元 素 组 成 的 系 统, 除 了 氦 之 外, 其 它 惰 性 元 素 组 成 的 系 统 在 变 成 固 体 前 的 整 个 温 度 范 围 内 都 可 用 经 典 方 法 来 描 述. 惰 性 元 素 的 电 子 是 满 壳 层 的, 其 相 互 作 用 由 两 部 分 组 成, 一 部 分 是 由 原 子 的 瞬 时 偶 极 矩 导 致 的 与 距 离 如 6 次 方 成 正 比 的 吸 引 相 互 作 用, 另 一 部 分 是 来 源 于 量 子 效 应 的 强 排 斥 芯. 其 Hamiltonian 可 写 为 H = 1 2m N p 2 i i=1 N N u(r ij ) (6.7) i=1 j=1 式 中 第 一 项 为 动 能 项, 第 二 项 是 相 互 作 用, N 为 系 统 的 粒 子 数. r ij = r i r j 为 第 i 个 粒 子 与 第 j 个 粒 子 之 间 的 距 离. [ ( ) 12 ( ) ] 6 σ σ u(r ij ) = 4ϵ r ij r ij 为 Lennard-Jones 相 互 作 用, 其 中 ϵ 为 势 的 极 小 值, σ 是 长 度 的 单 位. 在 粒 子 问 题 中 感 兴 趣 的 热 力 学 量 通 常 是 能 量 E = H, 能 量 的 涨 落 H 2 H 2, 以 及 对 相 关 函 数 g(r), 很 多 热 力 学 量 如 压 强, 化 学 势 等 均 可 用 对 相 关 函 数 g(r) 来 表 示. g(r) 定 义 为 δ(r r ij ) 的 平 均 值. 对 于 相 互 作 用 各 向 同 性 的 系 统, 这 一 平 均 值 只 与 r 的 大 小 有 关. 实 际 的 粒 子 系 统 的 相 互 作 用 常 常 十 分 复 杂, 相 互 作 用 不 仅 与 距 离 有 关, 一 般 也 与 方 向 有 关, 除 了 二 体 相 互 作 用 外, 通 常 还 有 多 体 相 互 作 用. 6.4 统 计 物 理 的 Monte Carlo 模 拟, Metroplis 方 法 由 (6.3) 可 知, 为 了 计 算 热 力 学 量, 我 们 需 要 计 算 一 个 多 重 积 分 ( 对 于 分 立 变 量 的 系 统, 是 一 个 对 各 种 位 形 的 求 和 ), 如 果 所 考 虑 的 系 统 有 N 个 原 子, 就 需 要 计 算 3N 重 的 积 分, N 通 常 是 一 个 较 大 的 数, 例 如, 为 了 得 到 可 靠 的 结 果, N 一 般 取 左 右. 为 了 计 算 这 样 高 重 的 积 分, 除 非 可 以 解 析 求 解, 否 则 Monte Carlo 方 法 就 是 唯 一 的 选 择.
144 144 第 六 章 逾 渗 和 统 计 物 理 问 题 从 第 5.3 可 知, 对 于 (6.3) 式 的 积 分, 可 以 在 积 分 区 域 内 取 一 系 列 均 匀 分 布 的 随 机 点 x 1, x 2, x 3,, x n, 则 积 分 就 成 为 B = n i=1 b(x i) exp( βh(x i )) n i=1 exp( βh(x i)) (6.8) 稍 一 分 析, 我 们 就 可 发 现 这 种 作 法 是 很 难 行 得 通 的. 由 于 指 数 因 子 的 存 在, 整 个 被 积 函 数 在 积 分 区 域 内 剧 烈 变 化, 因 而 其 方 差 是 非 常 大 的, 这 将 导 致 误 差 变 大. 实 际 情 况 比 这 还 要 糟 糕, 因 为 被 积 函 数 相 差 太 大, 对 于 有 限 位 数 的 计 算 机 来 说, 式 (6.8) 的 求 和 根 本 无 法 进 行. 根 据 5.3 的 讨 论, 为 了 减 小 方 差, 可 以 不 在 积 分 区 域 内 均 匀 取 点, 而 是 按 照 某 种 分 布 P (x) 取 点, 此 时 式 (6.8) 成 为 B = n i=1 b(x i) exp( βh(x i ))/P (x i ) n i=1 exp( βh(x i))/p (x i ) (6.9) 如 果 取 P (x i ) = exp( βh(x)) Z 为 正 则 分 布, 方 差 可 大 为 减 小, 且 式 (6.9) 简 化 成 为 (6.10) B = 1 n n b(x i ) (6.11) i=1 过 程. 现 在 的 问 题 在 于, 如 何 实 现 按 正 则 分 布 的 抽 样? 为 此, 我 们 先 简 单 介 绍 一 下 Markov 对 于 一 个 我 们 所 要 研 究 的 统 计 物 理 系 统, 它 可 以 处 于 各 种 微 观 状 态. 例 如 对 于 Ising 模 型, 给 定 了 每 个 自 旋 的 取 值 就 对 应 于 一 种 微 观 状 态, 如 果 系 统 由 N 个 自 旋 构 成, 则 总 的 微 观 状 态 数 就 有 2 N 个 ; 又 如 对 于 一 个 由 N 个 粒 子 组 成 的 系 统, 给 定 了 每 个 粒 子 的 位 置 和 动 量 就 决 定 了 一 个 状 态, 这 可 用 由 3N 维 空 间 和 3N 维 动 量 空 间 构 成 的 6N 维 相 空 间 的 一 个 点 来 表 示. 从 经 典 角 度 来 讲, 系 统 可 有 无 穷 多 个 微 观 状 态, 但 量 子 力 学 的 不 确 定 关 系 限 制 了 相 空 间 一 个 点 最 小 为 h 3N, h 为 Plank 常 数. 因 而 系 统 总 的 微 观 状 态 数 约 为 ( 4π 3 p3 V ) N 1 h 3N N! 式 中 p 为 单 个 粒 子 动 量 大 小 的 平 均 值, V 为 体 积, 分 母 上 的 N! 因 子 是 由 于 考 虑 了 粒 子 的 全 同 性. 我 们 注 意 到, 当 N 较 大 时, 系 统 的 微 观 状 态 数 是 非 常 大 的, 因 而 对 所 有 状 态 的 求 和 也 是 无 法 办 到 的. 现 在 我 们 构 造 一 个 过 程, 从 系 统 的 某 一 微 观 状 态 出 发, 并 在 过 程 的 每 一 步 转 移 到 一 个 新 的 状 态. 为 了 确 定 起 见, 下 面 用 x i 代 表 系 统 的 微 观 状 态, 如 果 从 x 0 出 发, 则 这 一 过 程 产 生 一 系 列 状 态 x 1, x 2,, x i,, 这 一 系 列 状 态 构 成 一 个 链. 所 谓 Markov 过 程, 是 指 这 样 一 种 过 程, 在 过 程 的 每 一 步 所 达 到 的 状 态 只 与 前 一 状 态 有 关, 从 一 状 态 r 到 另 一 状 态 s 的 转 移 通 过 一 转 移 概 率 w(x r x s ) 来 实 现. 由 Markov 过 程 产 生 的 一 系 列 状 态 所 构 成 的 链 称 为 Markov 链.
145 6.4 统 计 物 理 的 MONTE CARLO 模 拟, METROPLIS 方 法 145 为 了 实 现 按 照 正 则 分 布 抽 样, 我 们 可 以 构 造 这 样 一 个 Markov 链, 使 得 无 论 从 何 状 态 出 发, 存 在 一 个 大 数 M, 在 丢 掉 链 的 前 面 M 个 状 态 后, 链 上 其 余 的 状 态 满 足 正 则 分 布. 现 在 我 们 来 证 明, 只 要 取 w(x r x s ) 满 足 如 下 条 件, 就 可 达 到 我 们 的 要 求. P (x r )w(x r x s ) = P (x s )w(x s x r ) (6.12) 式 中 P (x) 为 正 则 分 布 (6.10). 这 一 式 子 又 称 为 细 致 平 衡 条 件. 为 了 证 明 上 式, 我 们 考 虑 很 多 个 平 行 的 Markov 链, 在 一 个 给 定 的 某 一 步, 有 N r 个 链 处 于 第 r 个 态, N s 个 链 处 于 第 s 个 态. 于 是 在 下 一 步 从 r 态 到 s 态 的 数 目 为 N r s = N r w(x r x s ) 从 s 态 到 r 态 的 数 目 为 N s r = N s w(x s x r ) 从 r 态 到 s 态 的 净 转 移 的 数 目 为 N r s = N r w(x s x r ) 若 w(x r x s ) 满 足 式 (6.12), 则 上 式 成 为 N r s = N r w(x s x r ) [ w(xr x s ) w(x s x r ) N ] s N r [ P (xs ) P (x r ) N ] s N r (6.13) (6.14) 这 是 一 个 十 分 重 要 的 结 果, 上 式 表 明, 如 果 二 个 状 态 之 间 不 满 足 正 则 分 布, 则 这 一 Markov 过 程 的 演 化 结 果 将 总 是 使 其 趋 于 满 足. 这 样, 就 证 明 了 我 们 的 论 断. 有 了 上 面 的 定 理, 就 可 以 实 现 正 则 分 布 的 抽 样 了, 我 们 只 要 选 择 一 个 满 足 细 致 平 衡 条 件 的 转 移 概 率, 产 生 一 个 Markov 链, 丢 掉 链 的 前 而 面 M 个 状 态, 并 用 其 余 状 态 进 行 计 算 即 可. 这 一 算 法 是 五 十 年 代 初 由 Metropolis 提 出 来 的, 因 此 现 在 一 般 称 为 Metropolis 算 法. 考 虑 从 r 态 到 s 态 的 转 移, 若 二 状 态 的 能 量 差 为 δh H(x s ) H(x r ) 则 当 年 Metropolis 选 择 w(x r x s ) w(x s x r ) = exp[ βδh] w(x r x s ) = { exp[ βδh] 如 果 δh > 0 1 如 果 δh 0 (6.15) 目 前 常 用 的 另 一 种 选 择 是 w(x r x s ) = 1 2 [ ( βδh 1 tanh 2 )] (6.16)
146 146 第 六 章 逾 渗 和 统 计 物 理 问 题 应 当 注 意 的 是, w 的 选 择 并 不 唯 一, 只 要 满 足 (6.12) 的 要 求 即 可, 但 不 同 的 w 收 敛 速 度 往 往 差 别 很 大, 如 何 选 择 合 适 的 w 以 达 到 尽 可 能 快 的 收 敛 速 度 和 尽 可 能 高 的 计 算 精 度 仍 然 是 当 前 Monte Carlo 算 法 研 究 的 前 沿 课 题 之 一. 6.5 Ising 模 型 的 Monte Carlo 模 拟 这 一 节 以 Ising 模 型 为 例, 介 绍 分 立 变 量 模 型 Monte Carlo 模 拟 方 法. 为 了 模 拟 Ising 模 型, 首 先 要 确 定 一 个 晶 格 和 晶 格 的 尺 寸. 例 如, 我 们 可 以 取 一 个 简 单 立 方 格 子, 取 三 个 方 向 的 大 小 均 为 L; 其 次, 我 们 要 指 定 一 个 初 始 位 形, 一 般 来 说, 如 果 在 临 界 温 度 之 下 进 行 计 算, 通 常 取 所 有 自 旋 沿 同 一 方 向 为 初 始 位 形, 而 如 果 在 临 界 温 度 之 上 进 行 计 算, 通 常 取 随 机 分 布 的 自 旋 取 向 为 初 始 位 形, 也 可 取 所 有 自 旋 沿 同 一 方 向 为 初 始 位 形. 这 是 由 于 在 临 界 温 度 之 下 的 平 衡 位 形 是 有 序 的, 若 从 一 无 序 位 形 出 发, 系 统 在 演 变 中 将 形 成 若 干 个 有 序 的 区 域, 相 邻 区 域 的 边 界 上 将 出 现 畴 壁. 当 然, 如 果 计 算 的 目 的 是 为 了 研 究 畴 壁, 则 必 须 从 一 自 旋 取 向 为 随 机 分 布 的 初 始 位 形 出 发 ; 第 三 件 事 是 要 确 定 适 当 的 边 界 条 件, 因 为 计 算 总 是 对 有 限 大 小 的 系 统 进 行 的, 选 择 合 适 的 边 界 条 件 对 于 得 到 好 的 结 果 是 十 分 重 要 的, 如 果 我 们 感 兴 趣 的 是 系 统 的 体 性 质, 则 应 尽 量 消 除 边 界 的 影 响, 此 时 一 般 取 周 期 性 边 界 条 件, 即 在 每 个 方 向 上, 取 s L+1 s 1. 然 而, 周 期 性 边 界 条 件 对 于 写 并 行 计 算 的 程 序 不 太 方 便, 而 并 行 计 算 是 当 前 计 算 机 发 展 的 一 个 重 要 方 向, 因 此, 另 一 种 称 为 螺 旋 周 期 边 界 条 件 得 到 了 较 多 的 应 用, 以 二 维 正 方 格 子 为 例, 这 种 边 界 条 件 是 让 每 一 行 的 最 后 一 个 自 旋 与 其 下 一 行 的 第 一 个 自 旋 相 同 ; 最 后 一 个 需 要 确 定 的 问 题 是 选 取 产 生 一 系 列 状 态 的 方 式, 一 般 来 说, Markov 链 中 的 每 一 个 状 态 与 其 前 一 个 状 态 相 差 应 较 小, 因 为 如 果 两 个 状 态 相 差 过 大, 其 能 量 差 亦 较 大, 从 而 转 移 概 率 太 小, 计 算 很 容 易 陷 入 相 空 间 中 初 态 附 近 一 个 很 小 的 子 空 间 内, 通 常 有 两 种 作 法, 一 种 是 一 次 翻 转 一 个 自 旋, 这 是 一 种 不 保 持 总 自 旋 守 恒 的 计 算, 另 一 种 是 每 次 交 换 一 对 相 邻 自 旋, 这 种 计 算 将 保 持 总 自 旋 守 恒. 有 了 这 些 讨 论, 我 们 给 出 一 个 算 法 如 下 : 重 复 如 下 步 骤 多 次 : 1. 选 择 一 个 格 点 i, 其 自 旋 将 考 虑 作 翻 转 s i s i. 2. 计 算 与 此 翻 转 相 联 系 的 能 量 变 化 δh. 3. 用 式 (6.15) 计 算 这 一 翻 转 的 转 移 概 率 w. 4. 产 生 一 在 [0,1] 之 间 均 匀 分 布 的 随 机 数 z. 5. 如 果 z < w, 则 翻 转 该 自 旋, 否 则, 保 持 不 变. 不 论 何 种 情 况, 其 结 果 都 作 为 一 新 的 状 态.
147 6.6 经 典 统 计 物 理 复 习 分 析 该 状 态, 为 计 算 平 均 值 收 集 数 据. 计 算 平 均 值, 输 出 结 果. 在 具 体 给 出 这 一 算 法 的 实 现 之 前, 我 们 先 作 一 些 讨 论, 关 于 每 一 步 要 翻 转 的 格 点 i 的 选 择, 一 般 来 说 可 有 很 多 种 不 同 的 方 法, 最 常 用 的 有 两 种, 一 种 是 顺 序 取 每 一 个 格 点, 另 一 种 是 随 机 的 选 取. 在 随 机 选 取 时, 应 使 每 个 格 点 平 均 说 来 被 访 问 的 次 数 相 同, 通 常 每 个 格 点 被 访 问 一 次 称 为 一 个 Monte Carlo 步 (Monte Carlo Step or MCS), 一 次 有 价 值 的 计 算 通 常 需 要 做 几 千 或 几 万 个 MCS. 有 时, 为 了 得 到 高 精 度 的 结 果, 甚 至 要 作 百 万 MCS 以 上 的 计 算. 由 于 每 一 个 状 态 与 其 前 导 状 态 最 多 相 差 一 个 自 旋 翻 转, 因 而 其 物 理 性 质 具 有 很 强 的 关 联. 这 样, 上 述 过 程 的 第 6 步 不 必 对 每 次 自 旋 都 进 行, 而 是 每 间 隔 一 个 或 数 个 MCS( 视 问 题 的 关 联 时 间 的 大 小 ) 进 行 一 次. 另 外, 如 在 前 面 已 经 指 出 过 的, 前 面 若 干 个 MCS 应 舍 弃. 计 算 能 量 差 是 最 费 时 的 工 作, 对 于 Ising 模 型, 由 于 能 量 差 只 能 取 很 少 几 个 数 值, 我 们 可 以 予 先 算 好 存 起 来 以 节 省 计 算 量. 这 一 技 巧 不 仅 适 用 于 Ising 模 型, 也 适 用 于 其 它 分 立 变 量 的 模 型 如 Potts 模 型 等. 下 面 我 们 以 三 维 简 单 立 方 格 子 为 例 来 给 出 算 法 的 实 现. 取 一 个 L L L 的 简 单 立 方 格 子, 每 个 格 点 放 一 个 自 旋, 可 取 值 ±1. 对 于 一 个 给 定 的 自 旋, 共 有 6 个 最 近 邻 格 点, 因 此, 对 其 最 近 邻 的 求 和 只 取 7 个 可 能 的 值, 也 就 是 说 s i = { 6, 4, 2, 0, 2, 4, 6} (6.17) <ij> 对 应 于 s i 的 6 个 近 邻 格 点 中 全 与 s i 反 向, 5 个 反 向,, 1 个 反 向, 全 不 反 向. 将 (6.17) 中 的 数 加 7, 可 得 到 {1, 3, 5, 7, 9, 11, 13}, 这 样, 前 面 7 个 数 就 代 表 了 一 格 点 周 围 的 近 邻 自 旋 相 对 于 该 格 点 取 向 的 全 部 信 息. 如 果 我 们 再 规 定 数 的 正 负 号 与 自 旋 的 向 上 和 向 下 相 对 应, 则 {±1, ±3, ±5, ±7, ±9, ±11, ±13} 可 代 表 无 外 场 时 一 个 格 点 的 自 旋 及 其 与 其 近 邻 自 旋 相 对 取 向 的 全 部 信 息. 为 了 计 及 自 旋 与 外 场 的 相 对 关 系, 我 们 利 用 前 面 数 之 间 的 空 档, 例 如, 可 令 上 面 的 数 代 表 与 外 场 平 行 的 情 形, 则 可 取 每 一 数 的 绝 对 值 大 一 的 数 代 表 相 同 位 形 但 自 旋 与 外 场 反 平 行 的 情 形. 对 于 所 有 {±1, ±2, ± 14} 共 28 个 数, 实 际 使 用 的 只 有 一 半, 因 为 若 外 场 沿 自 旋 向 下, 则 负 奇 数 代 表 自 旋 向 下, 正 偶 数 代 表 自 旋 向 上. 6.6 经 典 统 计 物 理 复 习 Statistial mehanis is the studies of many partile systems under external onditions, the number of partiles is typially The basis of statistial mehanis is the ensemble theory, there are three very important ensembles, the miro-anonial, anonial and grand anonial,
148 148 第 六 章 逾 渗 和 统 计 物 理 问 题 orrespond to fixed total energy, temperature and hemial potential respetively, for eah ensemble there exist a distribution funtion P (X) from it the average of physial quantities are alulated by X A (X) P (X) A = X P (X). Where X represents points in the phase spae and = X ( ) 3N 1 d 3 r 1 d 3 r 2 d 3 r N h V d 3 p 1 d 3 p 2 d 3 p N is the summation over the phase spae The miro anonial ensemble(nve) In this ensemble the distribution is given by P (X) = δ (H (X) E). The total number of states with energy E is Ω (N, V, E) = 1 δ (H (X) E). N! X The entropy is defined as S (N, V, E) = k B ln Ω (N, V, E). Thermodynami quantities are obtained by ( ) ( ) 1 S S T = µ = T E N,V N V,E P = T ( ) S. V N,E The anonial ensemble(nvt) In this ensemble the energy is allowed to vary but the system is in ontat with a heat bath at temperature T. The distribution funtion is The anonial partition funtion is P (X) = exp Z (N, V, T ) = 1 N! = E [ H (X) ]. k B T X [ exp H (X) ] k B T e βe Ω (N, V, E).
149 6.6 经 典 统 计 物 理 复 习 149 Where β = 1/k B T, The free energy F (N, V, T ) = k B T ln Z (N, V, T ), and µ = ( ) F N V,T ( ) F P = V N,T ( ) F S =. T N,V The NPT ensemble(npt) Here the pressure is fixed while volume is allowed to vary P (V, X) = exp [ β (P V + H (X))]. The partition funtion Q (N, P, T ) = = dv 1 exp [ β (P V + H (X))] N! X dv exp [ βp V ] Z (N, V, T ). Gibbs free energy G (N, P, T ) = k B T ln Q (N, P, T ), with µ = ( ) G N p,t V = ( ) G P N,T ( ) F S =. T N,P The grand anonial ensemble( µvt) The partile number is not fixed while the hemial potential is fixed, P (N, X) = exp [ β (H (X) µn)], the grand partition funtion Z G (µ, V, T ) = N = N 1 N! exp [ β (H (X) µn)] X exp [βµn] Z (N, V, T ), the grand anonial potential Ω G (µ, V, T ) = k B T ln Z G (µ, V, T ), with N = ( ) ΩG µ V,T P = ( ) ΩG P V,T S = ( ) ΩG. T µ,v
150 150 第 六 章 逾 渗 和 统 计 物 理 问 题 Thermodynamial relations There are relations between thermodynami potentials F = E T S, G = F + P V = Nµ, Ω G = F µn = P V. There are two kinds of physial quantities, one is the mehanial quantities, whih an be obtained by average with respet to distributions, the typial one is H (X) : E = H (X). The other is thermal quantities whih an only be obtained through the derivatives of the thermodynami potentials, the typial one is hemial potential µ and free energy itself. This kind of quantities are diffiult to alulate in simulations and often obtained through integration of mehani quantities Correlation funtions F (T, V 1 ) = F (T, V 0 ) F (T 1, V ) = F (T 0, V ) T 1 T 0 V1 V 0 P (T, V ) dv ; T1 E (T, V ) T 0 T 2 A very important quantity in statistial mehanis is the pair orrelation funtion g (r, r ), defined as where g (r, r ) = V 2 Z R = It may also be written as Z R V V g (r, r ) = dt. d 3 r 3 d 3 r 4 d 3 r N exp [ βv N (r, r, r 3,, r N )], d 3 r 1 d 3 r 2 d 3 r N exp [ βv N (r 1, r 2, r 3,, r N )]. V 2 δ (r r i ) δ (r r j ). N (N 1) i,j;i j For a homogeneous system the pair orrelation funtion depends only on the distane between r and r. In this ase we denote it as g (r). The g (r, r ) is proportional to the probability that given a partile at point r and find another partile at point r. At large distanes g (r) tends to 1, we may define the total orrelation funtion h (r) = g (r) 1.
151 6.6 经 典 统 计 物 理 复 习 151 The Fourier transform of the above funtion gives the stati struture funtion S (k) = 1 + n g (r) e ik r d 3 r. The struture funtion is defined as the orrelation funtion of Fourier omponent of density flutuations S (k) = 1 N n k n k = 1 e ik (r i r j ) + 1 N ij;i j = d 3 rd 3 r e ik (r r ) 1 δ (r r i ) δ (r r j ) + 1 N ij;i j = N 1 d 3 rd 3 r e ik (r r ) g(r r ) + 1 V 2 = 1 + n d 3 rg(r)e ik r = 1 + n d 3 rh(r)e ik r + nδ (k). The struture funtion an be measured diretly by sattering experiments and an also be alulated by simulations. Many physial quantities an be expressed in terms of the pair orrelation funtions, for example the energy in NVT ensemble is E = 3 2 Nk BT + N 2 n d 3 r V (r) g (r). The pressure is βp n = 1 β N ^r i i V N 3N i=1 = 1 β 6 n d 3 r ^r V (r) g (r). The ompressibility ( ) n k B T = 1 + n d 3 r (g (r) 1). p T This expression an be derived from the flutuations of partile numbers N 2 N 2 = k B T ( N µ ) T,V = k B T N 2 V 2 Sine n = N, dv = V 2 dn, so V N ( ) N 2 n N 2 = N k B T. P T ( V P ). T, N
152 152 第 六 章 逾 渗 和 统 计 物 理 问 题 On the other hand, it an be proved that ( N 2 N 2 = N 1 + n ) d 3 r (g (r) 1). We have the final results Time orrelation funtion and transport oeffiients The time orrelation funtion: Consider the orrelations of two physial quantities at different times, C AB (t, t ) = A(t)B(t ). For systems at equilibrium the time orrelation funtion is a funtion of the time differene only and an be written as C AB (t) = A(t)B(0). One example of time orrelation funtion is the veloity auto orrelation funtion of the ith partile C vv (t) = v i (t) v i (0). Transport oeffiients are defined in terms of the response of a system to a perturbation. For example, the diffusion oeffiient relates the partile flux to a onentration gradient, while the shear visosity is a measure of the shear stress indued by an applied veloity gradient. By introduing suh perturbations into the Hamiltonian, or diretly into the equations of motion, their effet on the distribution funtion P may be alulated. Generally, a time-dependent, non-equilibrium distribution P eq + δp (t) is produed. Hene, any non-equilibrium ensemble average may be alulated. By retaining the linear terms in the perturbation and omparing the equation for the response with a marosopi transport equation, we may identify the transport oeffiients. This is usually the infinite time integral of an equilibrium time orrelation funtion of the form γ = 0 dt A (t) A (0) where γ is the transport oeffiient, and A is a physial variable appearing in the perturbation Hamiltonian. There is also an Einstein relation assoiated with this kind of expression (A (t) A (0)) 2 = 2γt whih holds for large t, (t τ, where τ is the orrelation time of A). The diffusion oeffiient D is given by
153 6.7 液 体 模 型 的 MONTE CARLO 模 拟 153 and the Einstein relation is D = dt v i (t) v i (0) 1 (ri (t) r i (0)) 2 = 2Dt. 3 Where r i (t) and v i (t) are the position and veloity of the ith partile. The shear visosity η is given by η = V k B T 0 dt P αβ (t) P αβ (0) or Here V k B T Q αβ (t) Q αβ (0) = 2ηt. P αβ = 1 ( ) piα p iβ + r iα f iβ V Q αβ = 1 V i m i r iα p iβ. i The negative of P αβ is often alled stress tensor. 6.7 液 体 模 型 的 Monte Carlo 模 拟 相 对 于 气 体 和 固 体, 液 体 是 最 复 杂 的 一 相 描 写 液 体 的 最 简 单 的 模 型 是 硬 球 模 型, 这 个 模 型 把 每 个 分 子 看 成 直 径 为 σ 的 硬 球, 并 假 定 除 此 之 外 没 有 其 它 相 互 作 用 即 便 是 这 样 一 个 简 单 的 模 型, 也 没 有 找 到 它 的 精 确 解 尽 管 如 此, 通 过 数 十 年 来 大 量 的 研 究, 我 们 对 这 个 模 型 已 经 有 了 非 常 多 的 了 解 硬 球 系 统 的 相 互 作 用 势 只 有 0 或 两 个 可 能 值, 因 此, 模 拟 计 算 非 常 简 单 另 一 个 稍 微 实 际 一 点 的 模 型 是 Lennard-Jones 模 型, 这 个 模 型 假 定 分 子 是 球 形 的, 其 二 体 相 互 作 用 为 : [ (σ ) 12 ( σ ) ] 6 V LJ (r) = ε r r 这 一 模 型 由 两 部 分 构 成, 一 部 分 是 吸 引 相 互 作 用, 与 距 离 的 6 次 方 成 反 比, 来 自 于 中 性 原 子 的 涨 落 偶 极 矩 的 相 互 作 用, 是 一 个 纯 量 子 力 学 效 应, 可 以 通 过 二 阶 微 扰 得 到 ; 另 一 部 分 是 与 距 离 的 12 次 方 成 反 比 的 排 斥 相 互 作 用, 这 一 部 分 主 要 来 自 于 泡 利 不 相 容 原 理, 但 并 没 有 很 好 的 量 子 力 学 计 算, 基 本 上 是 唯 像 引 入 这 一 节 主 要 介 绍 这 两 个 模 型 的 模 拟
154 154 第 六 章 逾 渗 和 统 计 物 理 问 题 Monte Carlo Simulation of The Lenard -Jones Model Lets onsider the Lenard -Jones model of fluids, we have already met this model before. In this model one onsider a olletion of strutureless partiles interating through the pairwise potentials, Its interation energy is V = [ ( ) 12 ( ) ] 6 σ σ 4ε. (6.18) i,j r ij where r ij = r i r j, σ and ε are two parameters, the summation is over all the pairs of partiles. The onfiguration of the system is speified by the set of all the partile positions. The Monte Carlo simulation by Metropolis algorithm is given by the following steps 1. Initialize the partiles on a FCC lattie. 2. Choose a partile k at random and propose to move: r k = r k + δr k, where δx k = (rand () 0.5) δy k = (rand () 0.5) δz k = (rand () 0.5). (6.19) Here is a pre-speified value and adjusted so that the aeptane ratio(see bellow) will be roughly 0.5(not always true), rand () is any good random number generator generates uniformly distributed random number between 0 and Calulate the energy inrement E = V ({r }) V ({r}). (6.20) r ij 4. Aept the proposed move as the new state if a uniformly distributed random number (between 0 and 1) is less than exp ( β E) ; retain the old onfiguration as the new onfiguration otherwise. 5. Go to 2. In the Monte Carlo simulations using the Metropolis algorithm, the next onfiguration depends on the previous one. Due to this orrelation between Monte Carlo steps, the formula for the statistial error ε = σ N underestimates the true error, and it should be replaed by 1 + 2τ ε = σ N. (6.21)
155 6.7 液 体 模 型 的 MONTE CARLO 模 拟 155 The quantity τ is alled orrelation time, whih is roughly the number of Monte Carlo steps needed to generate independent onfigurations. We an ompute the orrelation time τ as follows: define the time-dependent orrelation funtion f (t) = A (t ) A (t + t) A 2 A 2 A 2, (6.22) where time t is measured in terms of Monte Carlo steps. A (t ) is the quantity at steps t whose error we want to estimate. The angular brakets denote average over Monte Carlo steps. The orrelation time is defined by τ = f(t). (6.23) t=1 Just as many physial quantities beome singular at the ritial point, the orrelation time is also beomes singular at the ritial point. On an infinite lattie it diverges with a power law τ T T νz. (6.24) Here ν is the orrelation length exponent and z is alled dynami ritial exponent. This phenomena that the orrelation time beomes very large is alled ritial slowing down. It not only happens in omputer simulations but also happens in real systems. On a finite system of linear size L, the orrelation time will not go to infinity, but it will grow with size as Substituting this result into the error formula, we find that τ L z, at T = T. (6.25) ε σlz/2 N (6.26) for large system near T. For the two dimensional Ising model with Metropolis algorithm, z = 2.1, we see typially that inreasing the size leads to a large error in the quantity to be alulated. The Metropolis algorithm makes hanges loally one site at a time, This is the ause of the ritial slowing down. The Swendsen-Wang algorithm and its extensions solved this problem by the luster methods. In 1987, Swendsen and Wang proposed a multi-luster algorithm to solve the problem of the ritial slowing down, their algorithm redued the dynamial exponent z from 2.1 to around 0 for 2D Ising model. The algorithm goes: 1. Start from some arbitrary state {s}. 2. Go through eah nearest neighbor onnetion of the lattie, reate a bond between the two neighboring sites i and j with probability p = 1 exp ( 2βJ) when the two spins are the same. Never put a bond between the sites if the spin values are different.
156 156 第 六 章 逾 渗 和 统 计 物 理 问 题 3. Identify lusters as a set of sites onneted by bonds, or isolated sites. Two sites are said to be in the same luster if there is a onneted path of bonds joining them. Every site has to belong to one of the lusters. After the lusters are found, eah luster is assigned a new Ising spin hosen with equal probability between +1 and 1. The old spin values now an be forgotten. 4. One MCS finished. Go to step 2 for the next step. The performane of the algorithm in terms orrelation time in omparison with Metropolis algorithm is remarkable. For two dimensional Ising model the dynami exponent is less than 0.3, or possibly 0 (but τ ln L ). In three dimensional it is about 0.5, At and above four dimensions it is 1. In 1989 Wollf proposed a algorithm based on the Swendsen-Wang algorithm, in stead of generate many lusters eah time, Wollf proposed that one piks a site at random, and then generate one single luster by growing a luster from the seed. The neighbors of the seed will belong to the luster if the spins are parallel to the seed and a random number is less than p = 1 exp ( 2βJ). Neighbors of eah new site are tested for membership. The reursive proess will eventually terminate. The spins in the luster are turned over with probability 1. Wollf algorithm is more effiient than the multi-luster Swendsen-Wang algorithm and easier to implement. There are many ways to extend the luster method both to Ising like models and ontinuous models, it seems for Ising like models Wollf algorithm is still the best hoie 自 由 能 计 算 The alulation of free energy, entropy or hemial potential is muh more diffiult than the alulation of the averages of mehanial quantities in Monte Carlo methods. We give here a very brief disussion of the alulation of free energy by Monte Carlo simulations. The most ommon way is the thermodynamial integration method, whih was disussed in the ontext of moleular dynamis simulations. We give here the Bennett method. In this method one alulates the differene of two systems desribed by potentials U 0 and U 1 respetively. The free energy is β F = βf 1 βf 0 = ln Z 1 Z 0. (6.27)
157 6.7 液 体 模 型 的 MONTE CARLO 模 拟 157 Where Z 1 = Z 0 = exp ( βu 1 (x)) dx, exp ( βu 0 (x)) dx. (6.28) are partition funtions for potential U 1 and U 0. The ratio may be transformed as Z 1 = Z 1 W (x) exp { β [U0 (x) + U 1 (x)]} dx Z 0 Z 0 W (x) exp { β [U0 (x) + U 1 (x)]} dx = W exp [ βu 1] 0 W exp [ βu 0 ] 1. (6.29) Where the subsript 0 and 1 means average with respet to anonial distributions of potential U 0 and U 1. The W is an arbitrary funtion. Now we hoose ( Z1 W = onst. exp [ βu 0 ] + Z ) 0 exp [ βu 1 ], (6.30) n 1 n 0 where n 0 and n 1 are two arbitrary onstant, we have ( ) 1 Z 1 = Z 1 + Z 1n 0 Z 1n 0 n 1 exp [β (U 1 U 0 )] 0 Z 0 Z 0 n ( ) Z 0n 1 Z 1 n 0 exp [β (U 0 U 1 )] If we set then we get 0 1. (6.31) Z 1 n 0 Z 0 n 1 = e C (6.32) Z 1 Z 0 = e C f (βu 1 βu 0 + C) 0 f (βu 0 βu 1 C) 1. (6.33) where f (x) = (1 + e x ) 1 is the Fermi funtion(there is nothing to do with Fermi distribution!). So that the free energy differene is 王 -Landau 方 法 及 其 它 F = ln Z 1 Z 0 = ln f (βu 1 βu 0 + C) 0 f (βu 0 βu 1 C) 1 C. (6.34) 与 自 由 能 计 算 相 关 的 的 是 态 密 度 的 计 算, 在 统 计 物 理 中, 态 密 度 定 义 为 单 位 能 量 间 隔 内 的 微 观 状 态 数, 通 常 记 为 Ω(E). 如 果 已 知 一 个 系 统 的 态 密 度, 那 么, 配 分 函 数 可 以 写 成 Q(β) = 对 Q 求 对 数 并 乘 以 kt 就 得 到 了 自 由 能 Ω(E)e βe de
158 158 第 六 章 逾 渗 和 统 计 物 理 问 题 1987 年,Ferrenberg 和 Swendsen (Physial Review Letters, 61,2635,1988) 提 出 了 一 个 直 方 图 算 法, 实 际 上 用 到 了 态 密 度 利 用 这 一 方 法, 可 以 通 过 很 少 几 个 点 的 模 拟 而 得 到 整 个 温 区 的 结 果 其 基 本 思 路 非 常 简 单 : 注 意 到 给 定 温 度 下 系 统 按 照 能 量 的 分 布 是 P (β, E) = Ω(E)e βe Q(β) 对 于 一 个 确 定 的 温 度, 由 Metropolis 算 法, 可 以 得 到 这 个 分 布 的 直 方 图 直 方 图 H(β, E) 与 P (β, E) 成 正 比, 或 H(β, E) Ω(E)e βe 于 是 Ω(E) H(β, E)e βe 对 于 另 一 个 温 度 β, 其 分 布 可 由 上 述 Ω(E) 得 到 P (β, E) = Ω(E)e β E Q(β ) = H(β, E)e (β β )E de H(β, E)e (β β )E 这 样, 在 一 个 温 度 下 的 模 拟 结 果, 原 则 上 可 以 用 来 计 算 所 有 温 度 的 平 均 值 而 上 式 的 分 母, 则 可 以 用 来 估 算 配 分 函 数 从 而 估 算 自 由 能 ( 相 差 一 个 任 意 常 数 ) 这 一 方 法 取 得 了 巨 大 成 功, 大 致 可 以 把 Monte Carlo 的 计 算 时 间 减 少 一 个 量 级, 同 时 也 提 供 了 计 算 自 由 能 的 思 路 和 方 法 另 一 个 直 接 针 对 态 密 度 的 计 算 的 方 法 是 由 Berg 在 1992 年 提 出 来 的 多 正 则 系 综 方 法 这 是 一 个 迭 代 算 法, 基 于 如 下 观 察 设 系 统 的 态 密 度 为 Ω(E), 现 在, 如 果 我 们 已 经 知 道 了 态 密 度, 并 利 用 1 Ω(E) 取 样 做 模 拟 计 算, 那 么 我 们 将 得 到 一 个 平 的 分 布, 也 就 是 说 模 拟 结 果 对 能 量 做 直 方 图 H(E), 将 得 到 一 个 常 数 Berg 算 法 的 思 路 是, 先 假 设 一 个 态 密 度 Ω(E), 然 后 由 此 态 密 度 的 导 数 取 样, 得 到 直 方 图 H(E), 然 后, 把 态 密 度 变 为 Ω(E)/H(E), 开 始 一 轮 新 的 迭 代, 知 道 直 方 图 变 平 ( 在 给 定 的 精 度 下 ), 最 后 得 到 的 Ω(E) 就 是 所 求 的 态 密 度 这 一 方 法 思 路 很 清 楚, 但 实 现 起 来 非 常 困 难 首 先, 方 法 本 身 的 稳 定 性 不 好, 对 于 一 个 比 较 任 意 的 初 始 态 密 度, 很 难 得 到 收 敛 的 结 果 其 次, 需 要 认 真 处 理 能 量 的 上 界 和 下 界 处 的 问 题, 在 这 些 地 方, 态 密 度 很 小, 容 易 出 问 题 2005 年 由 王 福 高 和 Landau 提 出 的 算 法, 克 服 了 Berg 算 法 的 缺 点, 这 一 算 法 的 基 本 思 路 与 Berg 的 思 路 相 同, 但 采 取 了 一 个 不 满 足 细 致 平 衡 条 件 的 做 法 在 模 拟 的 每 一 步 都 修 正 态 密 度 其 基 本 步 骤 是 :1, 给 定 一 个 初 始 态 密 度 Ω(E), 从 一 个 初 始 位 形 ( 对 应 于 一 个 确 定 能 量 ) 出 发 ;2, 按 照 1 Ω (E) 取 样, 前 进 一 步, 到 达 新 的 位 形 和 对 应 能 量 ;3, 立 刻 把 这 个 新 的 能 量 对 应 的 态 密 度 乘 以 一 个 放 大 因 子, 继 续 计 算 在 计 算 中 同 时 统 计 直 方 图, 当 直 方 图 基 本 变 平 时, 缩 小 放 大 因 子, 并 把 所 得 态 密 度 作 为 新 的 初 始 态 密 度, 开
159 6.8 分 子 动 力 学 方 法 159 始 计 算 当 放 大 因 子 缩 的 足 够 小, 且 直 方 图 在 精 度 要 求 下 变 平 时, 得 到 最 终 的 态 密 度 计 算 结 果 这 个 方 法 的 稳 定 性 非 常 好, 几 乎 对 于 所 有 模 型, 任 何 初 始 态 密 度 都 能 得 到 收 敛 的 结 果 这 个 算 法 的 发 现, 被 看 成 是 Monte Carlo 历 史 上 具 有 里 程 碑 意 义 的 事 件 但 是, 这 个 算 法 也 有 比 较 严 重 的 问 题, 虽 然 能 够 保 证 收 敛 且 计 算 非 常 稳 定, 但 收 敛 的 精 度 似 乎 有 一 个 极 限, 到 达 此 极 限 后, 似 乎 无 法 通 过 加 大 计 算 量 来 提 高 精 度 另 外, 一 个 显 而 易 见 的 问 题 是, 即 便 以 精 确 态 密 度 作 为 初 始 态 密 度, 一 旦 开 始 计 算, 也 开 始 引 进 误 差, 最 终 得 到 的 是 有 一 定 误 差 的 态 密 度 6.8 分 子 动 力 学 方 法 General proedure of MD (NVE ensemble) Now I desribe the general proedure of the MD in the ontext of the NVE ensemble. A moleular dynamis simulation inludes the following basi steps: 1. Initialize; 2. Start simulation and let the system reah equilibrium; 3. Continue simulation and store results. Now we disuss these steps in detail. Initialize: The number of partiles and interations between partiles are speified; The simulation box is setup, the total energy of the system is speified, usually temperature is more important than energy so it an be an input parameter, we will see how an we tune the system to a desired temperature. We assign to eah partile its position and momentum. In many ases we assign partiles in a FCC lattie, whih is a losed paking struture and usually the ground state of many systems. If we use ubi unit ell and ube box then the number of partiles per unit ell is 4, and the total number of partiles are 4M 3, M = 1, 2, 3,. That is we may simulation systems with total number of partiles N = 108, 256, 500, 864,. The veloities of partiles are draw from a Maxwell distribution with the speified temperature. This is aomplished by drawing the three omponents of the veloity from the Gaussian distribution, for example, the distribution of the x-omponent is [ ] exp mv2 x. 2k B T
160 160 第 六 章 逾 渗 和 统 计 物 理 问 题 Draw numbers from a Gaussian distribution may be done in this way, onsider the distribution [ ] [ ] [ P (v x, v y ) exp mv2 x exp mv2 y = exp m ( )] vx 2 + vy 2. 2k B T 2k B T 2k B T Then P (v x, v y )dv x dv y = P (v)vdvdϕ, where v 2 = v 2 x + v 2 y and ] P (v) exp [ mv2. 2k B T So the distribution of v x and v y may be obtained from v and ϕ, whih has distribution v exp and uniform in the interval [0, 2π]. Sine ] v exp [ mv2 dv = 2k BT 2k B T m ] [ exp mv2 + C. 2k B T [ ] mv2 2k B T If we draw random numbers x uniformly distributed in the interval [0, 1], then v = 2k BT ln (x) m [ ] will has distribution v exp mv2 2k B, now if we draw random numbers ϕ uniformly distributed T in the interval [0, 2π]. We an get two random numbers v x = v os ϕ, v y = v sin ϕ satisfy the Gaussian distribution. Another method of draw random numbers in the Gaussian distribution is through the following empirial methods. Consider the distribution ] exp [ x2. 2 Aording to the enter limit theorem, if we draw uniform random numbers r i in interval [0, 1], and define a variable ξ = 1 n n i=1 r i 1 2, 1 12n when n the distribution of ξ is the Gaussian distribution exp [ ] of ξ = ξσ is exp ξ 2. If we take n = 12, we get 2σ 2 12 ξ = r i 6. i=1 [ ] ξ2. And the distribution 2 That is we may generate eah random number distributed aording to Gaussian from 12 random numbers in an uniform distribution.
161 6.8 分 子 动 力 学 方 法 161 Homework: 1, Write programs for the two methods to generate Guassian random numbers. 2, Compare the two methods for effiieny and quality. After the generation of the veloity of eah partile, we may shift the veloity so that the total momentum is zero Start simulation and let the system reah equilibrium: The system we prepared in the way desribed above are not in the equilibrium state, we now use an algorithm to integrate it. There are many methods used in moleular dynamis simulations, we use a very simple one to desribe the onepts here and desribe the algorithms in the leture follows. The standard Verlet algorithm is the first suessful method in history and still wide used today in different forms. It is r (t + h) = 2r (t) r (t h) + h 2 F (r (t)) /m. Where r (t) is the position of partile at time t = nh. To start the integration we need r (h), given by r (h) = r (0) + hv (0) + h 2 F (r (0)) /m. During the integration, the veloity an be alulated by v (t) = r (t + h) r (t h). 2h Variations of this method are v (t + h/2) = v (t h/2) + hf (r (t)) r (t + h) = r (t) + hv (t + h/2). And r (t + h) = r (t) + hv (t) + h 2 F (r (t)) v (t + h) = F (r (t + h)) + F (r (t)) v (t) + h. 2 Both of these variations are mathematially equivalent to the original one but more stable under finite preision arithmeti. The PBC are usually treated in two ways, one is the minimum image method, that is, in eah diretion, we only sum the fore due to partiles whih is not farther than L/2 in that diretion. The other is the ut off method, one simply ut the interation at a distane r utoff and
162 162 第 六 章 逾 渗 和 统 计 物 理 问 题 neglet interations beyond this distane. In this method the disontinuity at r utoff may ause inauraies in the integration, this may be solved by shift the potential in the way as V sh (r) = V (r) V (r utoff ). For long range interations like eletrostati interations, speial method should be used, we will disuss it latter. The temperature of the system is given by the equal partition theorem, that is the average of kineti energy of eah degree of freedom is half k B T, that is 3 2 k BT D = 1 N 1 N i=1 1 2 mv2 i. The N 1 is due to the onservation of the total momentum redue the degree of freedom by 3. To reah the desired temperature we may sale the veloity at every few steps of integration and the saling fator λ is hosen as λ = v i (t) λv i (t), (N 1) 3k B T N. i=1 mv2 i Continue simulation and store results: After the system reahes equilibrium the integration ontinue in the same way as above without saling of veloity. The data are stored or aumulated for the alulating physial properties. The stati properties of physial quantity A is given by a time average Ā = 1 n A ν, n n 0 ν>n 0 here A ν is the value of A at νth time step. Usually the data stored in eah step inlude: 1, the kineti energy N 1 i=1 2 mv2 i ; 2, the potential energy U = i,j V (r ij) ; 3, the virial i,j r ij V (r ij) r ij. We also needs data to alulate the pair orrelation funtion, this is done by divide the interval [0, r max ] into sub intervals [i r, (i + 1) r], at eah stage of updating, add the number of pairs with separation in the interval to an array n (i) and find the average value after simulation, the pair orrelation funtion is given by Tail orretions: g (r) = V n (r) N (N 1) /2 4πr 2 r.
163 6.8 分 子 动 力 学 方 法 163 U = U utoff + 4π N r 2 drv (r) g (r) V r utoff P k B T = 1 1 V r ij N 3Nk B T r ij 6k B T V i,j utoff r utoff r 3 dr V r g (r). The pair orrelation funtion in the above expression may be taken to be the asymptoti value g (r) = Simulation of Lennard-Jones liquids Consider the system of partiles interat by the potential [ (σ ) 12 ( σ ) ] 6 V (r) = 4ε r r whih are good approximation for inert gases. Some values of ε and σ are Ar Kr Xe CH 4 N 2 CO 2 C 2 H 4 τ = ε/k B (K) σ (A) We may use ε/k B as the unit of temperature, energy in unit of ε, length in unit of σ, and mσ 2 ε be set to 2.5σ. Homework: as the unit of time. A good time step is about h = The ut off distane may 1, Write a MD program use the ut off potential to simulate LJ system. 2, Calulate the pressure and energy of Ar at 3-5 different densities from, say 0.9 to 1.2 under temperature 1. (note: the averaged temperature may be slightly different to the desired value) Simulation of Hard-sphere systems The simulation of hard sphere systems historially was the first Moleular simulation on digital omputers(alder and Wainwright, J. Chem. Phys, 27, 1208(1957); 31,459(1959)). It onsists of the following steps: 1, Loate the next ollision; 2, Move all partiles forward until ollision ours; 3, Implementing the ollision dynamis of the ollision pair(usually elasti); 4, Calulate quantities interest.
164 164 第 六 章 逾 渗 和 统 计 物 理 问 题 We desribe the steps, onsider two spheres, i and j, of diameter σ, whose positions at time t are r i and r j, and veloities are v i and v j, respetively. If these partiles are to ollide at time t + t ij then the following equation will be satisfied r (t + t ij ) = r ij (t) + v ij t ij = σ where r ij = r i r j, v ij = v i v j. If we define b ij = r ij v ij, then this equation beomes vijt 2 2 ij + 2b ij t ij + rij 2 σ 2 = 0. ( There will be no real positive solution of this equation if b ij > 0, or b 2 ij vij 2 r 2 ij σ 2) < 0. Otherwise we have t ij = b ij ( ( b 2 ij vij 2 r 2 ij σ 2)) 1/2. v 2 ij This is the time that partile i and j will ollide. For eah pair we may get a time t ij, or never ollide, the ollide time is then t + min (t ij ). The ollision dynamis of smooth hard spheres is the onservation of kineti energy and linear momentum, whih for two spheres i and j having the same mass we obtain Where δv i is given by v new i = v old i + δv i v new j = v old j δv i. δv i = b ij σ 2 r ij. b ij is evaluated at the moment of ollide. Homework Write (or find) a program for the hard-sphere MD simulations and alulate the pair orrelation funtion of the system. 6.9 Simulation of Langevin dynamis The motion of Brownian partiles are desribed by the Langevin equation m dv dt = γv (t) + F (t) + R (t), the differene between Langevin dynamis and the ordinary partile dynamis is the random fore R (t). This fore is a result of random ollisions by moleules of solvent to Brownian partiles, it satisfy the following orrelation assumption R i (t) R j (0) = qδ (t).
165 6.9 SIMULATION OF LANGEVIN DYNAMICS 165 Here q = 2k B T γ from Einstein relation. To simulate this dynamis, we need a way to treat the random fore, usually the method of verlet method may be used in the integration of the equation, i.e. v (t + h/2) = v (t h/2) + hf (r (t)) + v r (t + h) = r (t) + hv (t + h/2). Where v is the ontribution from random fore and an be alulated in the following way, the orrelation of R(t) indiates that the distribution of random fore R is Guassian(in the following we onsider only one omponent), P (R(t)) exp ) ( R2. 2 R 2 If we solve for the Langevin equation without external fore we obtain ( v (t) = v (0) exp γt ) + 1 t ( ) (t τ) γ exp R (τ) dτ. m m m When t m/γ the first term is zero, sine m/γ is typially s (for example, onsider a Brownian partile of diameter 1µ suspended in water, m 4π/3 (d/2) 3 ρ , γ = 6πη (d/2) 6π , m/γ s), so if we use a time step muh larger than this value, the above ondition is satisfied. The mean square of veloity is v (t) 2 ( = v (0) 2 exp 2γt ) + q ( ( 1 exp 2γt )), m 2γm m whih for large t tends to v ( ) 2 = q 2γm k BT m. The last equality omes from definition of temperature. This gives 0 q = 2k B T γ. Sine the veloity v is linear in the random fore R, so the distribution of v is also a Gaussian ) P (v) exp ( mv2. 2k B T We may just sample v aording to the above distribution. If the time step is small enough so that the term exp ( ) 2γt m is not 0 in a pratial alulation, we may simply replae the k B T in the distribution to k B T ( 1 exp ( )) 2γt m to obtain ( ) mv 2 P (v) exp 2k B T ( 1 exp ( 2γt m However,this replaement is a little bit inonsistent with the above treatment sine we ignored the ontribution of the initial veloity v(0) part. A onsistent way of the simulation is to use a time step muh larger than the m/γ. )).
166 166 第 六 章 逾 渗 和 统 计 物 理 问 题 6.10 Long range fore and Ewald summation In the ase of Coulomb interations the interation potential in the PBC is given by U = R ij q i q j r i r j + R ; with i q i = 0. Cut off the above potential will result large errors, one way to avoid the diffiulty of the long range interation is through the use of the urved spae, that is, we may onsider our finite system is the surfae of a four dimension hypersphere, this method involves the use of non- Eulidean geometry in alulating distanes. The traditional method is to use the so alled Ewald summation and its variants. The derivation of the method for Coulomb interation and higher order multipole interations is given separately, we quote here only the results ( ) U P BC = 2π 2 exp K2 4α q i exp (ik r i ) V K 2 K 0 i + erf ( αr ij ) ( α ) 1/2 q i q j qi 2. r ij π ij i
167 第 七 章 原 子 结 构 的 计 算 7.1 原 子 结 构 问 题 原 子 由 原 子 核 和 在 原 子 核 周 围 运 动 的 电 子 构 成, 在 原 子 核 静 止 的 坐 标 系 中 原 子 的 Hamiltonian 为 H = Z i=1 ħ 2 2 i 2µ Ze2 Z i=1 1 + e2 r i 2 i,j;i j 1 r i r j (7.1) 式 中 µ 为 电 子 质 量, e 为 基 本 电 荷, ħ 为 Plank 常 数 除 以 2π. 原 子 的 Shödinger 方 程 为 Hψ = Eψ 式 中 ψ 是 Z 个 电 子 的 多 体 波 函 数. 由 量 子 力 学 我 们 知 道, 一 旦 求 得 了 系 统 的 波 函 数, 则 任 何 力 学 量 都 可 求 出. 在 数 值 计 算 中, 通 常 需 要 将 表 示 物 理 问 题 的 方 程 无 量 纲 化, 在 原 子, 分 子 以 及 固 体 的 电 子 结 构 的 计 算 中, 通 常 采 用 原 子 单 位. 下 面 就 介 绍 一 下 原 子 单 位. 对 于 原 子 系 统 来 说, 长 度 用 Bohr 半 径 为 单 位 来 量 度 时, 所 出 现 的 数 字 一 般 为 1 的 数 量 级, 因 此, 我 们 自 然 选 择 Bohr 半 径 作 为 长 度 的 单 位, 基 于 同 样 的 理 由, 我 们 选 择 氢 原 子 的 电 离 能 作 为 能 量 的 单 位, 通 常 称 为 Rydberg, 也 有 选 Rydberg 的 两 倍 作 为 能 量 单 位 的, 称 为 Hartree, 而 质 量 的 单 位 就 选 为 电 子 的 质 量. 由 于 在 定 态 问 题 中 不 出 现 时 间, 所 以 选 质 量, 长 度 和 能 量 作 为 三 个 基 本 单 位. 这 些 单 位 与 基 本 物 理 常 数 的 关 系 及 其 数 值 为 : Bohr 半 径 :a 0 = ħ2 µe 2 = Rydberg:Rydberg = µe4 2ħ 2 = eV Hartree:Hartree = 2Rydberg = 27.21eV (7.2) 电 子 质 量 :µ = g
168 168 第 七 章 原 子 结 构 的 计 算 对 式 (7.1) 表 示 的 Hamiltonian 作 代 换 r = (ħ 2 /µe 2 ) r, 得 提 出 因 子 Hamiltonian 为 : H = Z i=1 + e2 2 ħ 2 2 i 2µ i,j;i j 1 Ze 2 ħ 2 µe 2 Z i=1 1 r i µe 2 ħ 2 1 r i r j µe 2 ħ 2 (7.3) µe 4 2ħ 2 并 令 其 为 1 ( 单 位 能 量 ), 略 去 r 上 面 的, 得 到 以 原 子 单 位 表 示 的 H = Z 2 i 2Z i=1 Z i=1 在 原 子 单 位 下, 定 态 Shrödinger 方 程 取 如 下 形 式 : ( Z Z 2 1 i 2Z + r i i=1 i=1 1 + r i i,j;i j i,j;i j 1 r i r j (7.4) ) 1 Ψ = EΨ (7.5) r i r j 原 子 结 构 计 算 的 任 务 就 是 求 解 上 述 Shrödinger 方 程, 求 得 本 征 值 和 本 征 函 数, 由 此 便 可 计 算 电 荷 密 度, 电 离 能, 各 种 跃 迁 距 阵 元 等 物 理 上 感 兴 趣 的 量. 7.2 变 分 法 直 接 求 解 上 节 导 出 的 原 子 物 理 问 题 几 乎 是 不 可 能 的, 而 且, 能 够 用 Shrödinger 方 程 来 严 格 求 解 的 问 题 也 是 不 多 的. 大 多 数 问 题 要 依 靠 近 似 方 法 来 解 决. 变 分 法 就 是 一 种 有 效 的 近 似 方 法. 1 定 态 Shödinger 方 程 可 以 从 变 分 原 理 导 出. 考 虑 泛 函 I[f] = f Ĥfdq f fdq (7.6) 其 中 Ĥ 是 所 研 究 的 系 统 的 Hamiltonian, dq 表 示 对 系 统 的 全 体 独 立 坐 标 积 分 ( 或 求 和, 假 如 有 这 样 的 情 况 的 话 ). 我 们 要 证 : 当 函 数 f 满 足 Shödinger 方 程 时, I 有 极 值. 证 明 如 下 : 设 f = ψ 时, I 有 极 值 E E = ψ Ĥψdq ψ ψdq (7.7) 则 对 于 任 何 与 ψ 相 差 微 小 变 分 的 函 数 f = ψ + δψ, 应 有 δi = I[ψ + δψ] I[ψ] = 0 (7.8) 1 本 节 几 乎 全 部 取 之 于 蔡 建 华 先 生 所 著! 量 子 力 学 一 书 第 26 节
169 7.2 变 分 法 169 略 去 二 阶 小 项, 并 注 意 Ĥ 是 厄 密 的 而 且 E 是 实 数, 由 (7.6) 和 (7.7) 式 有 δi = = = (ψ + δψ ) Ĥ (ψ + δψ) dq ψ Ĥψdq (ψ + δψ ) (ψ + δψ) dq ψ ψdq ψ Ĥψdq + δψ Ĥψdq + ψ Ĥδψdq ψ ψdq + δψ ψdq + ψ δψdq ψ Ĥψdq + δψ Ĥψdq + ψ Ĥδψdq ψ ψdq [ 1 ψ Ĥψdq ψ ψdq δψ ψdq + ] ψ δψdq ψ ψdq ψ Ĥψdq ψ ψdq = = δψ Ĥψdq + ψ Ĥδψdq ψ ψdq ψ Ĥψdq ψ ψdq δψ (Ĥ E ) ψdq + ψ (Ĥ E ) δψdq ψ ψdq δψ ψdq + ψ δψdq ψ ψdq 由 于 δψ 是 任 意 变 分, 并 且 ψ 是 复 数, δψ 和 δψ 互 相 独 立, 因 此 (7.8) 要 求 Ĥψ = Eψ 根 据 上 述 变 分 原 理, 就 有 了 一 个 决 定 能 量 本 征 值 和 定 态 波 函 数 的 近 似 方 法. 假 如 用 某 个 试 探 函 数 f 代 入 (7.6) 式 中 计 算 I, 则 当 f 与 严 格 的 定 态 波 函 数 ψ 有 差 别 时, 所 得 的 I 数 值 与 准 确 的 能 量 本 征 值 之 差 至 多 是 2 的 量 级. 如 果 我 们 选 择 的 试 探 函 数 含 有 若 干 个 参 数 α 1, α 2,, α t, 代 入 积 分 后, 得 到 I = I(α 1, α 2,, α t ), 设 当 α k = αk 0, k = 1, 2,, t 时, f 最 接 近 ψ, 则 此 时 I(α1, 0 α2, 0, αt 0 ) 也 最 接 近 于 E. 用 一 个 含 参 数 的 试 探 函 数 f, 实 际 上 就 是 用 某 种 有 限 度 的 变 化 来 代 替 最 一 般 的 任 意 变 分 f = ψ + δψ. 因 为 E 是 对 于 任 意 变 分 的 极 值, I(α 0 1, α 0 2,, α 0 t ) 也 是 I(α 1, α 2,, α t ) 对 于 变 数 α 1, α 2,, α t 的 极 值. 因 此, 作 为 一 种 近 似 方 法 的 变 分 法 如 下 : 猜 测 Shödinger 方 程 Ĥψ = Eψ 的 解 的 形 式. 用 一 个 具 有 所 猜 测 的 形 式, 满 足 ψ 所 必 须 的 边 界 条 件, 并 且 含 若 干 参 数 α k, k = 1, 2,, t 的 试 探 函 数 f(α 1, α 2,, α t ) 代 入 (7.6), 计 算 I(α 1, α 2,, α t ), 并 相 对 于 α k, k = 1, 2,, t, 求 I 的 极 值, 即 解 方 程 组 I α k = 0, k = 1, 2,, t (7.9) 设 方 程 组 的 解 是 α k = α 0 k, k = 1, 2,, t, 则 f(α 0 1, α 0 2,, α 0 t ) 和 I(α 0 1, α 0 2,, α 0 t ) 分 别 是 ψ 和 E 的 近 似. 如 f(α 0 1, α 0 2,, α 0 t ) ψ, 则 I(α 0 1, α 0 2,, α 0 t ) E 2. 可 以 证 明 定 态 的 能 量 本 征 值 是 泛 函 (7.6) 的 极 小 值, 即 二 阶 变 分 δ 2 I > 0, 特 别 是 基 态 能 量 为 (7.6) 的 绝 对 极 小 值. 实 际 应 用 中, 常 常 以 一 个 比 较 粗 糙 的 试 探 波 函 数, 就 能 够 得 到 相 当 准 确 的 基 态 能 量. 因 为 基 态 能 量 是 泛 函 (7.6) 的 对 于 最 广 义 的 变 分 δψ 的 绝 对 极 小 值, 显 然, 用 上 述 近 似 的 变 分 方 法 求 出 的 基 态 能 量 近 似 值, 总 比 真 正 的 基 态 能 量 高 一 些. 试 探
170 170 第 七 章 原 子 结 构 的 计 算 波 函 数 所 含 参 数 愈 多, 变 化 范 围 愈 广, 则 一 般 说 来 所 得 到 的 基 态 能 量 近 似 值 愈 接 近 于 准 确 值, 但 决 不 会 比 它 低. 7.3 Viral 定 理 和 Hellmann-Feynman 定 理 Viral 定 理 和 Hellmann-Feynman 定 理 在 量 子 力 学 用 于 原 子 及 分 子 的 研 究 中 有 重 要 的 应 用, 下 面 我 们 分 别 予 以 介 绍. 设 一 量 子 系 统 的 定 态 Shödinger 方 程 为 Ĥψ = Eψ (7.10) 又 设 Ĝ 为 一 不 含 时 的 线 性 算 符, 则 ψ [Ĝ, Ĥ]ψdq = 0 (7.11) 这 一 结 论 称 为 超 Viral 定 理 (Hyper-virial Theorem), 现 在 我 们 来 证 明 这 一 论 断 : 因 为 ψ 满 足 方 程 (7.10), 所 以 ψ [Ĝ, Ĥ]ψdq = ψ ĜĤψdq ψ ĤĜψdq = E ψ Ĝψdq E ψ Ĝψdq = 0 式 中 利 用 了 Ĥ 是 Hermite 算 符 这 一 事 实. 对 于 N 个 粒 子 构 成 的 系 统, 粒 子 的 直 角 坐 标 为 x 1, x 2,, x 3N, 设 Ĝ = 3N i=1 ˆx iˆp i = ħ i 3N x i i=1 (7.12) x i 则 把 Hamiltonian 写 为 3N 3N 3N [Ĝ, Ĥ] = [ˆx iˆp i, Ĥ] = ˆx i [ˆp i, Ĥ] + [ˆx i, Ĥ]ˆp i (7.13) i=1 i=1 Ĥ = ˆT + V 其 中 ˆT = 3N ˆp 2 i i=1 2µ i 为 系 统 的 动 能, 而 V 为 势 能, 包 括 外 场 中 的 势 能 和 相 互 作 用 势 能, 只 与 系 统 中 粒 子 的 坐 标 有 关. 则 可 容 易 证 明 : i=1 [ˆx i, Ĥ] = p i µ i [ˆp i, Ĥ] = V x i (7.14)
171 7.3 VIRAL 定 理 和 HELLMANN-FEYNMAN 定 理 171 于 是, 利 用 (7.11) 可 得 [Ĝ, Ĥ] = 3N i=1 ˆp 2 i µ i + 3N i=1 ψ 2 ˆT ψdq ( ) V x i = 2 x ˆT i ψ 3N 或, 用 算 符 上 面 加 一 横 代 表 对 定 态 的 平 均 值, 上 式 写 为 i=1 3N i=1 x i V x i (7.15) x i V x i ψdq = 0 (7.16) 2T = 3N i=1 x i V x i (7.17) 这 就 是 Viral 定 理. 如 果 系 统 的 势 能 是 坐 标 x i, i = 1, 2,, 3N 的 n 次 齐 次 函 数, 则 3N i=1 x i V x i = nv Viral 定 理 可 以 简 化 为 又, 由 于 2T = nv (7.18) T + V = E 所 以 有 V = T = 2E n + 2 ne n + 2 对 于 原 子 问 题, 势 能 是 坐 标 的 ( 1) 次 齐 次 函 数, 因 此 有 V = 2E T = E 2T = V (7.19) (7.20) 因 为 Viral 定 理 是 严 格 的, 因 此 它 可 以 用 来 作 为 检 验 近 似 方 法 的 近 似 程 度 的 标 准 之 一, 如 果 用 某 种 近 似 方 法 求 得 了 原 子 系 统 的 波 函 数, 就 可 以 用 这 些 波 函 数 计 算 T, V 和 E, 如 果 其 不 满 足 (7.20), 则 计 算 结 果 显 然 不 可 靠. Hellmann-Feynman 定 理 是 在 年 分 别 由 H. Hellmann 和 R. P. Feynman 独 立 提 出 的. 这 一 定 理 的 内 容 为 : 若 ψ 为 Hamiltonian Ĥ 的 归 一 化 本 征 函 数, E 是 相 应 的 本 征 能 量, 而 λ 是 出 现 在 Ĥ 中 的 任 何 一 个 参 数, 则 E λ = ψ Ĥ ψdq (7.21) λ
172 172 第 七 章 原 子 结 构 的 计 算 λ 可 以 是 核 间 距, 电 荷 等. 这 一 定 理 可 证 明 如 下 : E = 由 上 式 对 λ 求 偏 微 商, 得 E ψ λ = λ Ĥψdq + ψ Ĥψdq ψ Ĥ λ ψdq + ψ Ĥ ψ λ dq 利 用 Shödinger 方 程 Ĥψ = Eψ 及 Ĥ 的 Hermite 性, 可 得 E λ = = ψ Ĥ λ ψdq + E λ ψ Ĥ λ ψdq 上 式 的 最 后 一 个 等 式 使 用 了 波 函 数 的 归 一 化 关 系. ψ ψdq 作 为 Hellmann Feynman 定 理 的 应 用, 我 们 来 看 二 个 例 子. 对 于 一 维 谐 振 子, Hamiltonian Ĥ 和 能 量 E n 分 别 为 d 2 Ĥ = ħ2 2µ dx µω2 x 2 ( E n = n + 1 ) ħω 2 选 ω 为 参 数, 得 ( n + 1 ) ħ = 2 ψ nµωx 2 ψdx 由 此 求 得 x 2 在 定 态 ψ n 的 平 均 值 为 x 2 = ( n + 1 ) ħ 2 µω 这 样, 就 省 去 了 对 波 函 数 的 积 分 运 算. 在 中 心 力 场 中 的 粒 子, 能 量 本 征 态 可 以 取 为 (Ĥ,ˆl 2, ˆl ) z 的 共 同 本 征 态, 即 ψ = R(r)Y lm (θ, ϕ) = χ(r) r Y lm(θ, ϕ) χ(r) 满 足 径 向 方 程 ( ħ2 ) d 2 l(l + 1)ħ2 + V (r) + χ(r) = Eχ(r) 2µ dr2 2µr 2 这 一 方 程 与 相 当 于 Hamiltonian 为 Ĥ = ħ2 d 2 l(l + 1)ħ2 + V (r) + 2µ dr2 2µr 2
173 7.4 轨 道 近 似 和 HARTREE FOCK 方 程 173 的 一 维 定 态 Shödinger 方 程. 把 径 向 方 程 的 本 征 值 记 为 E nrl, 它 依 赖 于 径 向 量 子 数 n r (= 0, 1, 2, ) 和 角 量 子 数 l(= 0, 1, 2, ). 视 l 为 参 数, Ĥ l = (2l + 1) ħ2 2µ 1 r 2 > 0 ( 因 为 1 r 2 为 正 定 算 符 ). 因 此, 按 照 Hellmann Feynman 定 理 E nr l l > 0 即 给 定 n r 的 情 况 下, E nr l 随 l 增 大 而 增 大, 因 此, 中 心 力 场 的 基 态 必 为 s 态 (l = 0) 7.4 轨 道 近 似 和 Hartree Fok 方 程 除 了 氢 原 子 或 类 氢 离 子 外, 即 使 像 氦 原 子 这 样 简 单 的 原 子, 我 们 也 无 法 求 出 其 本 征 函 数 和 本 征 值 的 解 析 解, 因 此, 在 原 子 结 构 的 定 量 研 究 中, 数 值 计 算 是 十 分 基 本 的. 但 是, 为 了 严 格 求 解 原 子 结 构 问 题, 就 要 求 解 方 程 (7.5), 这 是 一 个 有 3Z 个 变 量 的 偏 微 分 方 程 的 本 征 值 问 题, 当 Z 稍 大 时, 直 接 对 其 进 行 数 值 计 算 几 乎 是 不 可 能 的, 因 此 必 须 发 展 近 似 方 法. 在 << 数 学 物 理 方 法 >> 课 程 中, 我 们 学 过 分 离 变 量 法, 通 过 把 一 个 多 变 量 方 程 分 离 为 多 个 单 变 量 方 程, 求 解 过 程 可 大 大 简 化. 在 原 子 结 构 计 算 中, 我 们 也 希 望 用 这 一 方 法 来 简 化 我 们 的 问 题, 然 而, 不 幸 的 是, 方 程 (7.5) 是 不 能 分 离 变 量 的. 一 般 来 说, 一 个 多 体 问 题 的 Hamiltonian 如 果 可 以 写 成 对 单 体 Hamiltonian 的 求 和 形 式, 则 对 应 的 定 态 Shödinger 方 程 是 可 分 离 的, 否 则 是 不 可 分 离 的. 具 体 地 说, 如 果 Ĥ = i ĥ i (7.22) 其 中 h i 只 与 第 i 个 粒 子 的 坐 标 有 关, 则 Shödinger 方 程 ĤΨ = EΨ 的 解 可 以 写 为 E = i ε i Ψ = i ψ i (7.23) 对 于 全 同 粒 子, 还 要 考 虑 波 函 数 的 对 称 性, 即 对 于 Bose 子, 取 对 称 波 函 数 而 对 于 Fermi 子 取 反 对 称 波 函 数. 电 子 是 Fermi 子, 因 此 原 子 中 电 子 的 波 函 数 应 取 反 对 称 的 形 式. 尽 管 方 程 (7.5) 是 不 能 分 离 变 量 的, 但 分 离 变 量 方 法 是 如 此 的 强 有 力, 我 们 仍 然 试 图 寻 找 分 离 变 量 形 式 的 近 似 解, 通 过 使 用 变 分 法, 使 近 似 解 尽 可 能 接 近 实 际 的 解. 我 们 先 给 出 计 算 方 法 的 推 导, 关 于 这 一 近 似 的 理 论 问 题 将 不 做 过 多 的 计 论, 留 给 读 者 进 一 步 钻 研. 考 虑 具 有 Z 个 电 子 的 原 子, 我 们 假 定 其 波 函 数 可 写 为 分 离 变 量 的 形 式, 注 意 到 电 子 是 Fermi 子, 可 把 波 函 数 写 成 Slater 行 列 式 的 形 式, 这 样 反 对 称 性 可 自 动 满 足. 我 们 用 ϕ i (r) 表 示 单 个 电 子 的 空 间 波 函 数, η 表 示 单 个 电 子 的 自 旋 波 函 数, 则 ψ i = ϕ i (r)η i 为 单 个
174 174 第 七 章 原 子 结 构 的 计 算 电 子 的 波 函 数, 通 常 称 为 电 子 轨 道. 每 个 电 子 轨 道 可 以 容 纳 一 个 电 子, 如 果 Z 个 电 子 占 据 了 第 i 1, i 2,, i Z 个 轨 道, 则 用 电 子 轨 道 表 示 的 Slater 行 列 式 形 式 的 原 子 波 函 数 为 ψ i1 (r 1 ) ψ i1 (r 2 ) ψ i1 (r 2 ) Ψ = 1 ψ i2 (r 1 ) ψ i2 (r 2 ) ψ i2 (r 2 ) (7.24) Z! ψ iz (r 1 ) ψ iz (r 2 ) ψ iz (r 2 ) 在 原 子 单 位 下, 原 子 的 Hamiltonian 由 (7.4) 给 出, 把 式 (7.24) 和 (7.4) 代 入 下 式 E = Ψ ĤΨd 3 r 1 d 3 r 2 d 3 r Z (7.25) 经 过 一 些 较 为 繁 琐 但 直 接 了 当 的 代 数 计 算, 可 以 求 得 E = Z k=1 + Z ( ϕ i k (r) 2 2Z r Z k=1 k =1 Z Z k=1 k =1 ) ϕ ik (r)d 3 r ϕ 1 i k (r 1 )ϕ ik (r 1 ) r 1 r 2 ϕ i (r k 2)ϕ ik (r 2 )d 3 r 1 d 3 r 2 ϕ 1 i k (r 1 )ϕ ik (r 1 ) r 1 r 2 ϕ i (r k 2)ϕ ik (r 2 )d 3 r 1 d 3 r 2 (7.26) 式 中 最 后 一 项 求 和 上 的 表 示 只 对 自 旋 相 同 的 电 子 求 和. 把 上 式 对 ϕ 求 变 分, 并 注 意 到 约 束 条 件 ϕ (r)ϕ(r)d 3 r = 1, 引 入 Lagrange 乘 子 ε i, 令 ( Z δe δ ε ik k=1 ϕ i k (r)ϕ ik (r)d 3 r ) = 0 得 到 如 下 形 式 的 方 程 ĥ ik ϕ ik = ε ik ϕ ik (7.27) 其 中 ĥ ik = 2 2Z r Z + ϕ i (r 2 k 1)ϕ ik (r 1 ) r 1 r d3 r 1 k =1 Z k =1 ϕ ik (r 1)ϕ ik (r 1 ) 2 r 1 r d3 r 1 ϕ i k (r)ϕ ik (r) ϕ i k (r)ϕ ik (r) (7.28) 式 (7.27) 和 (7.28) 称 为 Hartree-Fok 方 程, 式 (7.28) 为 Hartree-Fok 近 似 下 的 单 电 子 Hamiltonian, 其 中 第 一 项 为 单 个 电 子 的 动 能, 第 二 项 为 电 子 在 核 势 场 中 的 势 能, 第 三 项 为
175 7.5 统 计 近 似 和 X α 方 程 175 其 它 电 子 对 所 考 虑 电 子 的 直 接 库 仑 相 互 作 用 能 ( 简 称 为 库 仑 能 ), 第 四 项 是 由 于 电 子 的 全 同 性 导 致 的 交 换 库 仑 相 互 作 用 能 ( 简 称 为 交 换 能 ). 我 们 立 刻 注 意 到, 虽 然 方 程 (7.27) 是 一 个 单 粒 子 的 Shödinger 方 程, 但 由 于 其 Hamiltonian (7.28) 中 的 库 仑 能 和 交 换 能 与 待 求 波 函 数 ϕ 有 关, 因 此 只 能 自 洽 求 解, 可 以 先 假 定 一 组 ϕ, 计 算 出 式 (7.28), 然 后 求 解 方 程 (7.27), 得 到 一 组 新 的 ϕ, 再 利 用 这 组 新 的 ϕ 计 算 (7.28) 并 求 解 方 程 (7.27), 反 复 迭 代, 直 至 二 次 迭 代 所 得 结 果 小 于 某 一 给 定 的 误 差 限 为 止. 7.5 统 计 近 似 和 X α 方 程 方 程 (7.28) 中 前 三 项 与 下 标 i k 无 关, 第 四 项 与 i k 有 关. 为 了 进 一 步 简 化 计 算, 对 第 四 项 取 平 均, 即 把 该 项 代 之 以 其 对 每 一 占 据 态 的 算 术 平 均 值 V ex 1 Z Z k=1 Z k =1 ϕ (r 2 ik 1)ϕ ik (r 1 ) r 1 r d3 r 1 ϕ i k (r)ϕ ik (r) ϕ i k (r)ϕ ik (r) (7.29) 用 V (r) 记 方 程 (7.28) 中 的 第 三 项, 则 方 程 (7.28) 可 以 写 为 ĥ ik = 2 + V (r) (7.30) 其 中 V (r) = 2Z r + V (r) + V ex (r) (7.31) 如 果 V (r) 具 有 中 心 对 称 性, 则 方 程 (7.27) 的 求 解 可 以 大 为 简 化. 为 此, 我 们 对 式 (7.31) 作 方 向 平 均, 使 其 只 依 赖 于 径 向 坐 标 r, 在 这 一 近 似 下, 方 程 (7.27) 变 为 [ 2 + V (r)]ϕ(r) = εϕ(r) (7.32) 上 式 的 解 可 以 写 为 而 R(r) 满 足 下 面 的 径 向 方 程 1 r ϕ(r) = R(r)Y lm (θ, φ) ( d r 2 dr ) l(l + 1) + V (r)r + R = εr (7.33) dr dr r 2 R(r) 称 为 径 向 波 函 数, 在 做 进 一 步 的 推 导 之 前, 我 们 先 对 径 向 方 程 及 其 解 做 一 些 一 般 性 的 讨 论. 方 程 是 一 个 二 阶 常 微 分 方 程 的 本 征 值 问 题, 因 为 我 们 这 里 感 兴 趣 的 是 束 缚 态 问 题, 由 波 函 数 的 平 方 可 积 要 求 可 知, 当 r, 应 有 rr(r) 0; 又 由 波 函 数 的 统 计 解 释 及 二
176 176 第 七 章 原 子 结 构 的 计 算 2 阶 微 分 方 程 的 一 般 理 论 可 知 当 r 0, R(r) r l, 或 rr(r) 0. 在 这 些 边 界 条 件 下, 方 程 (7.33) 的 本 征 值 只 能 取 一 些 分 立 值, 可 用 径 向 量 子 数 n r (= 0, 1, 2, 3, ) 编 号, 分 别 对 应 于 R(r) 无 节 点, 一 个 节 点, 二 个 节 点,. 本 征 值 只 与 (n r, l) 有 关, 而 与 量 子 数 m 无 关, 因 此, 在 中 心 力 场 近 似 下, 电 子 的 轨 道 能 量 对 于 确 定 的 l 是 2l + 1 重 简 并 的. 在 原 子 问 题 中, 通 常 用 另 外 一 套 量 子 数 来 标 志 状 态, 定 义 主 量 子 数 为 n = n r + l + 1 (7.34) 则 主 量 子 数 可 取 值 n = 1, 2, 3,, 对 于 给 定 的 n, l 可 取 值 0, 1, 2,, n 1, 通 常 用 s, p, d, 表 示. 对 一 个 确 定 的 状 态 可 以 由 四 个 量 子 数 (n, l, m, s) 来 标 记, 其 中 s 代 表 自 旋, 可 取 向 上 和 向 下 两 个 值. 把 方 程 (7.33) 的 本 征 值 记 为 ε nls, 本 征 函 数 记 为 ϕ nlms (r) = R nls (r)y lm (θ, φ). 所 谓 电 子 组 态 是 指 电 子 占 据 轨 道 的 情 况, 例 如, (1s) 2 (2s) 2 (2p) 6 代 表 一 种 电 子 组 态, 它 表 明 n = 1, l = 0 的 轨 道 有 二 个 电 子, n = 2, l = 0 的 轨 道 有 二 个 电 子, n = 1, l = 1 的 轨 道 有 六 个 电 子. 这 种 组 态 中 的 每 个 填 充 的 简 并 轨 道 均 已 填 满, 为 闭 壳 层 组 态. 若 有 某 些 简 并 轨 道 没 有 填 满, 则 为 开 壳 层 组 态, 例 如 (1s) 2 (2s) 2 (2p) 3 就 是 一 个 开 壳 层 组 态. 现 在 考 虑 (7.31) 的 方 向 平 均. 对 于 给 定 的 电 子 组 态, 电 荷 密 度 为 ρ s (r) = W nlms ϕ nlm (r) 2 (7.35) nlm 式 中 W nlms 是 轨 道 ϕ nlms 的 占 据 数, 当 占 据 时 取 1, 未 占 据 时 取 0. 由 于 在 中 心 力 场 近 似 下 相 同 (nl) 的 态 是 简 并 的, 因 此 可 以 定 义 (nls) 态 的 占 据 数 为 W nls = m W nlms 把 式 (7.35) 对 方 向 取 平 均, 得 到 方 向 平 均 后 的 电 荷 密 度 为 ρ s (r) = 1 dωρ s (r) 4π = 1 W nlms R nls (r) 2 dω Y lm (θ, φ) 2 4π nlm = 1 W nls R nls (r) 2 (7.36) 4π 总 电 荷 密 度 为 nl ρ(r) = ρ (r) + ρ (r) 在 给 定 的 电 子 组 态 下, 库 仑 能 为 V (r) = 2 见 曾 谨 言 著 量 子 力 学 卷 I, P259 d 3 2ρ(r) r 1 r 1 r (7.37)
177 7.5 统 计 近 似 和 X α 方 程 177 利 用 1 r 1 r = lm 4π 2l + 1 r< l r> l+1 Y lm (θ, φ)y lm (θ 1, φ 1 ) 其 中 r < = min(r, r 1 ) r > = max(r, r 1 ) 则 V 的 方 向 平 均 为 V (r) = 1 dωv (r) 4π = 1 d 3 r 1 2ρ(r 1 ) 4π lm = 2 d 3 ρ(r 1 ) r 1 = 8π r r 0 r > r 2 1ρ(r 1 )dr 1 + 8π 4π 2l + 1 r r< l r> l+1 在 推 导 中 用 到 了 关 系 式 dωylm (θ, φ) = 4πδ l0 δ m0. Y lm (θ 1, φ 1 ) dωy lm (θ, φ) r 1 ρ(r 1 )dr 1 (7.38) 交 换 项 的 处 理 要 复 杂 得 多, 通 常 的 做 法 是, 先 对 均 匀 系 统 ( 即 外 场 为 0 的 系 统 ) 求 出 V ex 依 赖 于 电 荷 密 度 的 函 数 关 系 ( 对 于 均 匀 系 统, 电 荷 密 度 是 一 与 位 置 无 关 的 常 数 ), 再 把 其 中 的 电 荷 密 度 换 成 有 外 场 的 电 荷 密 度 而 保 持 函 数 形 式 不 变. 在 取 方 向 平 均 时, 也 只 要 把 电 荷 密 度 换 成 对 方 向 平 均 的 电 荷 密 度 即 可. 这 一 过 程 叫 做 统 计 平 均 近 似. 在 均 匀 情 形 下, 可 求 出 ( ) 1/3 3 V ex = 6 4π ρ (7.39) 对 自 旋 向 下 的 电 子 也 有 相 同 的 结 果. 把 上 式 中 的 ρ 换 成 ρ (r), 便 得 到 了 交 换 势 的 形 式. 另 一 方 面, 如 果 对 式 (7.26) 中 的 交 换 项 作 统 计 平 均 近 似, 然 后 取 变 分, 则 得 到 的 交 换 势 为 V ex (r) = ( ) 1/3 3 4π ρ (7.40) 2 与 (7.39) 相 比, 多 出 一 个 因 子, 这 表 明 统 计 平 均 与 变 分 操 作 是 不 可 对 易 的. 为 此, Slater 3 建 议 把 交 换 势 写 成 ( ) 1/3 3 V ex (r) = 6α 4π ρ (7.41) 其 中 2 3 α 1 为 一 参 数, 令 V s (r) = 2Z r + V (r) + V ex,s (r) (7.42) 则 方 程 ( 2 + V s (r) ) ϕ nlm = ε nls ϕ nlms (7.43)
178 178 第 七 章 原 子 结 构 的 计 算 为 决 定 电 子 轨 道 的 方 程, 由 于 在 交 换 势 中 引 入 了 一 个 参 数 α, 因 此 这 一 方 程 称 为 X α 方 程. 实 际 计 算 分 为 自 旋 限 制 和 自 旋 极 化 两 种, 在 自 旋 限 制 计 算 中, 认 为 两 种 自 旋 的 能 级 是 简 并 的 且 密 度 相 同, 并 具 有 相 同 的 交 换 势, 取 为 ( ) 1/3 3 V ex (r) = 6α 8π ρ (7.44) 在 自 旋 极 化 计 算 中, 则 是 对 自 旋 的 两 种 取 向 分 别 求 解 X α 方 程. 通 常 确 定 α 的 方 法 有 如 下 几 种, 一 种 是 调 整 α 使 计 算 结 果 满 足 Viral 定 理 ; 第 二 种 方 法 是 严 格 求 解 Hartree-Fok 方 程, 并 比 较 Hartree-Fok 方 程 的 结 果 与 X α 方 程 的 结 果 来 确 定 α; 第 三 种 是 把 α 看 作 一 个 变 分 参 数, 通 过 使 原 子 的 总 能 量 取 极 小 来 确 定 α. 上 述 三 种 方 法 所 得 到 结 果 基 本 上 是 相 同 的. 7.6 径 向 方 程 的 求 解 方 法 方 程 (7.43) 的 解 可 写 为 ϕ nlm Shödinger 方 程 : 1 r = R nl (r)y lm (θ, φ), 3 其 中 R nl (r) 满 足 下 面 的 径 向 ( d r 2 dr ) nl l(l + 1) + V (r)r nl + R dr dr r 2 nl = ε nl R nl (7.45) 这 一 节 我 们 介 绍 求 解 径 向 方 程 (7.45) 的 数 值 方 法. 令 R nl (r) = y nl r 并 代 入 方 程 (7.45), 我 们 得 到 其 中 F nl (r) = d 2 y nl dr 2 = F nl (r)y nl (7.46) l(l + 1) r 2 + [V (r) ε nl ] 为 了 简 化 苻 号, 在 不 引 起 误 解 的 情 况 下, 后 面 的 讨 论 中 我 们 将 省 略 下 标 (nl). 方 程 (7.46) 可 用 Numerov 格 式 求 解, 下 面 介 绍 这 一 方 法. 为 了 更 一 般 起 见, 考 虑 在 区 间 [a, b] 上 求 解 二 阶 微 分 方 程 d 2 y = F (r)y + G(r) (7.47) dr2 以 h 为 步 长 划 分 区 间 [a, b], 令 r i = a + ih, i = 0, 1, 2,, 记 y i y(r i ) 则 : y i+1 = y i + hy i + h2 2! y i + h3 3! y(3) i + h4 4! y(4) i + h5 5! y(5) i + O(h 6 ) y i 1 = y i hy i + h2 2! y i h3 3! y(3) i + h4 4! y(4) i h5 5! y(5) i + O(h 6 ) (7.48) 3 在 本 节 中, 为 简 单 计, 将 略 去 自 旋 下 标, 需 要 时, 很 容 易 在 最 终 结 果 中 恢 复
179 7.6 径 向 方 程 的 求 解 方 法 179 上 面 二 式 相 加 得 : ( y i+1 2y i + y i 1 = h 2 y i + 1 ) 12 h2 y (4) i + O(h 6 ) (7.49) 上 式 左 边 为 y 在 r i 点 的 二 阶 中 心 差 分, 记 为 于 是, (7.49) 可 写 为 2 y i y i+1 2y i + y i 1 ( 2 y i = h 2 y i + 1 ) 12 h2 y (4) i + O(h 6 ) (7.50) 对 于 y, 显 然 有 相 同 的 关 系 : ( 2 y i = h 2 y (4) i + 1 ) 12 h2 y (6) i 由 式 (7.50) 和 (7.51) 可 得, + O(h 6 ) (7.51) 2 y i = h 2 (y i + 2 y i ) + O(h 6 ) (7.52) 又, 由 于 y i = F i y i + G i, 2 y i = 2 (F i y i + G i ), 式 中 F i F (r i ), G i G(r i ), 从 而 2 y i = h [F 2 i y i + G i + 1 ] 12 (F i+1y i+1 + G i+1 + F i 1 y i 1 + G i 1 2F i y i 2G i ) 整 理 得 ) ) ) (1 h2 12 F i+1 y i+1 2 (1 h2 12 F i y i + (1 h2 12 F i 1 y i 1 = h (F 2 i y i + G i ) 2 G i ( ) 令 Y = 1 h2 F y, 最 后 得 到 12 Y i+1 2Y i + Y i+1 = h 2 ( F i 1 h2 12 Y i + G i G i ) (7.53) 上 式 就 是 Numerov 差 分 格 式, 这 是 一 个 二 步 方 法, 即 为 了 得 到 Y i+1, 需 要 知 道 Y i 和 Y i 1 的 值. 径 向 方 程 不 含 对 y 的 一 阶 导 数, 是 方 程 (7.47) 当 G(r) = 0 时 的 特 例, 可 用 前 述 Numerov 方 法 求 解. 具 体 计 算 时, 可 分 别 从 两 个 边 界 点 出 发, 逐 步 向 中 间 计 算. 从 r = 0 出 发, 向 r 增 加 的 方 向 的 计 算 过 程 称 为 外 向 计 算, 从 r = 出 发 ( 实 阶 上 是 一 有 限 的 足 够 大 的 值 ), 向 r 减 小 的 方 向 的 计 算 过 程 称 为 内 向 计 算. 外 向 计 算 和 内 向 计 算 应 该 在 某 一 中 间 点 r = r m 处 光 滑 的 连 接 起 来, 使 二 者 光 滑 连 接 的 过 程 称 为 外 向 计 算 与 内 向 计 算 的 匹 配. 对 于 给 定 的 (nl), 径 向 方 程 的 解 应 该 有 n r = n l 1 个 节 点, 由 径 向 方 程 可 知, 解 的 节 点 只 能 出 现 在 F (r) < 0 的 区 域, 这 是 由 于 在 节 点 上 有 y = 0 及 y = 0, 因 此, 节 点 也 是
180 180 第 七 章 原 子 结 构 的 计 算 函 数 y(r) 的 拐 点, 在 节 点 的 外 侧, 随 着 r 的 增 大, y(r) 或 是 趋 于 另 一 节 点, 或 者 随 r 而 趋 于 0. 如 果 在 节 点 外 侧 y > 0, 因 要 求 y(r) 是 上 凸 的 ( 否 则 将 不 断 增 长 ), 所 以 应 有 y < 0; 反 之, 如 果 在 节 点 外 侧 y < 0, 因 要 求 y(r) 是 下 凸 的, 所 以 应 有 y > 0. 不 论 何 种 情 况, 都 要 求 y 与 y 异 号, 这 只 有 当 F (r) < 0 时 才 有 可 能. 一 般 r m 取 在 y 的 最 后 一 个 节 点 之 外, 即 F (r) > 0 处. 为 了 进 行 外 向 积 分, 我 们 还 需 要 知 道 最 初 二 个 点 的 y 的 数 值. r = 0 时, 径 向 方 程 无 定 义, 积 分 可 从 r = h 开 始. 当 r 0 时, V (r) 2Z, 这 是 类 氢 r 离 子 的 势, 因 此, 我 们 可 以 用 类 氢 离 子 的 径 向 波 函 数 ( 除 以 r) 在 r = h, r = 2h 的 值 作 为 y 1, y 2. 给 定 一 个 ε nl 的 数 值, 作 外 向 积 分 至 r m ( 注 意, r m 一 般 与 ε nl 有 关 ), 如 果 节 点 的 数 目 不 等 于 n r, 说 明 ε nl 的 选 择 不 好, 若 节 点 数 大 于 n r, 说 明 ε nl 太 小, 此 时 可 用 1.25 或 其 它 大 于 1 的 合 适 数 字 乘 以 ε nl, 继 续 计 算 ; 若 节 点 数 小 于 n r, 说 明 ε nl 太 大, 此 时 可 用 0.75 或 其 它 小 于 1 的 合 适 数 字 乘 以 ε nl, 继 续 计 算. 重 复 上 述 过 程 直 至 节 点 数 目 正 好 为 n r 时 为 至, 这 一 过 程 称 为 对 ε nl 的 粗 调. 在 作 完 ε nl 的 粗 调 后, 可 交 替 进 行 向 内 计 算 和 向 外 计 算, 通 过 要 求 在 r m 点 y 的 光 滑 连 接 再 细 调 ε nl. 向 内 积 分 可 取 一 足 够 大 的 r 开 始 计 算, 为 了 适 用 于 离 子 的 计 算, 我 们 假 定 原 子 的 总 电 子 数 不 必 等 于 Z, 设 电 子 数 为 N, 则 当 r 时, V (r) 2 Z N+1 r, F (r) ε nl, 径 向 方 程 的 解 为 y(r) exp( ε nl r), 在 r 附 近, 可 取 y(r) = exp( F (r )r) 并 用 Numerov 方 法 作 内 向 积 分, 为 了 y 在 r m 点 光 滑 连 接, 应 要 求 外 向 积 分 和 内 向 积 分 的 y 结 果 在 r m 点 的 连 续. 这 可 以 通 过 细 调 ε y nl 来 做 到. 若 记 y in 为 内 向 积 分 的 结 果, y out 为 外 向 积 分 的 结 果, 在 计 算 出 y in 和 y out 之 后, 计 算 其 中 ε nl = 1 2M M = [ y out (r m ) y out (r m ) y in(r m ) y in (r m ) [ rm y 2 0 out(r)dr + yout(r 2 m ) ] r m y 2 in(r)dr y 2 in (r m) 把 ε nl 调 整 成 ε nl + ε nl 再 重 复 上 述 计 算, 直 到 ε nl ε nl 小 于 某 一 误 差 限 时, 结 束 叠 代. 最 后, 我 们 给 出 式 (7.54) 的 证 明, 把 F (r) 写 为 两 项 之 和, ] (7.54) F (r) = F (r) ε nl 则 方 程 (7.46) 成 为 y = F (r)y ε nl y (7.55) 当 ε nl 变 为 ε nl + ε nl 时, 设 y 变 为 y + y, 在 线 性 近 似 下, 有 y + y = F (r)y + F (r) y ε nl y ε nl y ε nl y (7.56)
181 7.7 计 算 程 序 181 将 (7.56) 与 (7.55) 相 减 得 (7.57) 乘 以 y 与 (7.55) 乘 以 y 相 减 得 或 两 边 积 分 得 y = F (r) y ε nl y ε nl y (7.57) yy y y = ε nl y 2 (7.58) d dr ( yy y y) = ε nl y 2 ( yy y y) r 2 r 1 = ε nl r2 分 别 用 (0, r m ) 及 (r m, ) 代 替 (r 1, r 2 ), 并 注 意 到 我 们 得 到 y y = y y yy y 2 y out(r m ) y out (r m ) y2 out(r m ) = ε nl y in(r m ) y in (r m ) y2 in(r m ) = ε nl 若 要 求 对 应 于 ε nl + ε nl 的 解 满 足 光 滑 连 接, 即 把 (7.59) 代 入 (7.60), 就 得 到 方 程 (7.54) r 1 rm 0 y 2 dr y 2 out(r)dr r m y 2 in(r)dr (7.59) y out y out + y out y out = y in y in + y in y in (7.60) 前 面 我 们 讨 论 了 径 向 方 程 的 求 解 方 法, 在 讨 论 中 假 定 V (r) 是 已 知 的, 事 实 上, V (r) 是 与 径 向 方 程 的 解 有 关 的, 具 体 关 系 由 式 (7.38) 及 式 (7.41) 给 出. 因 此, 实 阶 计 算 时, 应 先 给 定 一 初 始 势 和 初 始 本 征 值 ε nl, 然 后 求 解 径 向 方 程 求 得 一 组 本 征 值 及 本 征 函 数, 用 求 得 的 本 征 函 数 代 入 式 (7.38) 及 式 (7.41) 求 得 新 的 势 V (r), 用 新 的 势 和 老 的 势 的 适 当 混 合 做 为 势 函 数, 再 求 解 径 向 方 程, 这 样 反 复 叠 代 直 至 前 后 两 次 势 之 差 小 于 某 一 给 定 的 误 差 限 为 止, 这 一 过 程 称 为 自 洽 过 程, 一 般 来 说, 如 果 初 始 势 选 择 的 较 好, 只 要 15 次 左 右 的 叠 代 便 可 达 到 很 高 的 计 算 精 度. 7.7 计 算 程 序 这 一 节 我 们 给 出 一 个 完 整 的 计 算 原 子 结 构 的 程 序, 它 用 我 们 在 前 面 几 节 描 述 的 X α 方 法 计 算 原 子 的 总 能 量, 轨 道 能 量 及 原 子 周 围 的 势 V (r) 和 电 荷 密 度 ρ(r) 等.
182 182 第 七 章 原 子 结 构 的 计 算 下 面 是 P 原 子 计 算 的 输 入 文 件, 分 别 对 应 于 自 旋 限 制 和 自 旋 极 化 的 计 算. 现 对 每 一 参 数 解 释 如 下, 第 一 行 为 描 述 性 文 字 ; 第 二 行 ( 格 式 为 2F10.5) 为 所 用 的 α 的 数 值 和 每 次 叠 代 时 所 得 的 势 混 入 老 的 势 中 的 分 数 ; 第 三 行 ( 格 式 为 10I5) 给 出 计 算 控 制 值, 分 列 如 下 : 第 一 个 数 : 输 出 文 件 打 印 控 制, = 0 时 打 印 每 次 叠 代 势 的 最 大 变 化 点 和 轨 道 能 量, 收 敛 的 总 能 量, 径 向 网 格 点, 电 荷 密 度. = 1 还 打 印 每 次 叠 代 时 计 算 轨 道 能 量 的 过 程 信 息. 第 二 个 数 : 起 始 势 的 输 入 方 式, 本 程 序 中 总 取 为 1. 第 三 个 数 : 势 收 敛 的 指 数 阈 值, 取 3 或 4. 第 四 个 数 : 轨 道 能 量 收 敛 的 指 数 阈 值, 取 5 或 6. 第 五 个 数 : 原 子 径 向 网 格 点 的 数 目, 本 程 序 中 取 为 441. 第 六 个 数 : 允 许 的 叠 代 次 数, 取 为 50 左 右. 第 七 个 数 : 原 子 序 数. 第 八 个 数 : 原 子 的 电 荷 数 ( 即 原 子 序 数 与 所 带 电 子 数 之 差 ), 对 中 性 原 子 取 0. 第 九 个 数 : 轨 道 能 级 的 数 目. 第 十 个 数 : = 1 表 示 自 旋 限 制 计 算 ; = 2 表 示 自 旋 极 化 计 算. 入 值. 第 四 行 及 紧 跟 的 10 行 ( 对 自 旋 限 制 计 算 ) 或 21 行 ( 对 自 旋 极 化 计 算 ) 为 起 始 势 的 输 紧 限 起 始 势 的 输 入 每 行 代 表 一 个 能 级, 第 一 个 数 表 示 (nl), 以 100 n + 10 l 表 示 ; 第 二 个 数 对 自 旋 限 制 计 算 取 1, 对 自 旋 极 化 计 算 时 取 1 表 示 自 旋 向 上, 取 2 表 示 自 旋 向 下 ; 第 三 个 数 为 能 级 上 的 电 子 占 据 数 ; 第 四 个 数 为 估 计 的 轨 道 能 量. 下 面 的 两 个 输 入 文 件 分 别 计 算 磷 的 自 旋 限 制 基 态 和 自 旋 极 化 基 态 及 对 应 的 轨 道 能 量 的 输 出 值 ( 能 量 以 Rydberg 为 单 位 ). Phosphorus Spin_Restrited state
183 7.7 计 算 程 序 183 **** ATOMIC ENERGIES **** ************************************ Kineti Energy= Nu-El Coulomb= D D+04 El--El Energy= Spin up Exhg = D D+02 Total Energy = D+03 Virial ratio = D+01 spin-orbitals nl 100 spin 1 oup 2.0 E Phosphorus Spin_Polarized state
184 184 第 七 章 原 子 结 构 的 计 算 **** ATOMIC ENERGIES **** ************************************ Kineti Energy= D+03 Nu-El Coulomb= El--El Energy= D D+03 Spin up Exhg = Spin Dn Exhg = D D+02 Total Energy = D+03 Virial ratio = D+01 spin-orbitals nl 100 spin 1 oup 1.0 E 下 面 是 程 序 清 单 C******************************************************************** C C Atomi X-alpha Program C C******************************************************************** C Impliit Real*8 (a-h,o-z) Logial watson,prnt,onvg Dimension ihg(12) Dimension ihdr(20) Dimension dumom(2084),u(521,2),unew(521,2) Dimension r(521),x(521) Dimension v(521,2),fn(521),a(521) Dimension po(521),p(521,10),rhosp(521,2),rho(521) Dimension nl(30),oup(30),e(30),nspin(30),kmx(30),delta(2), * kdel(2) Dimension rwk(521),vwk(521),pwk(521) Common dumom,r,v,rhosp,rho,e,oup,kmx,nspin,p Equivalene(dumom(1),unew(1,1)) Equivalene(dumom(1043),fn(1),x(1)) Equivalene(dumom(1564),a(1)) Data zero,one,two,three,four /0.0D0,1.0D0,2.0D0,3.0D0,4.0D0/
185 7.7 计 算 程 序 185 Data pi / D0/ Data xinr /0.0025D0/ Data ihg /40,80,120,160,200,240,280,320,360,400,440,480/ Data watson,prnt,onvg /.FALSE.,.FALSE.,.FALSE./ C C******************************************************************** C C Read Header Card C******************************************************************** C Open(5,File='fi') Open(6,File='out.dat') Read(5,5000) ihdr Write(6,5100) ihdr C C Read Input Parameters and Flags C Read(5,5200) exfat,radion,ratio,frau,iprt,key,ntol,nthrsh, * mesh,maxit,nz,ion,nsts,nspins z=dfloat(nz) xion=dfloat(ion) fas=dfloat(nspins) tol=10.0d0**(ntol) thresh=10.0d0**(nthrsh) zion=xion twoion=xion+xion mesh=mesh-1 Write(6,5300) nz,ion,nsts,nspins,exfat,radion,ratio,frau, * key,ntol,nthrsh,mesh If(radion.GT.zero) watson=.true. If(iprt.NE.0) prnt=.true. nblok=mesh/40 C C******************************************************************** C Constant for Conversion from R(Ao) to Dimensionless C Thomas-Fermi radial variable x C******************************************************************** C tfd=two*z**(one/three)*(four/(three*pi))**(two/three) C C Construt X and R Meshes C k=1 x(k)=zero r(k)=zero deltax=xinr Do 20 nb=1,nblok Do 10 i=1,40 k=k+1 x(k)=x(k-1)+deltax r(k)=x(k)/tfd 10 Continue deltax=deltax+deltax 20 Continue C
186 186 第 七 章 原 子 结 构 的 计 算 C point mesh potential read (key=1) C twoz=z+z Do 50 is=1,nspins Read(5,5400) (u(k,is),k=1,437,4) Do 30 k=1,437,4 u(k,is)=-twoz*u(k,is) 30 Continue u(441,is)=u(437,is) u(445,is)=u(437,is) n=9 Do 40 k=1,437,4 n=n-1 If(n.LT.0) Then u(k+1,is)=(22.0d0*u(k,is)+11.0d0*u(k+4,is) * -u(k+8,is))/32.0d0 u(k+2,is)=(10.0d0*u(k,is)+15.0d0*u(k+4,is) * -u(k+8,is))/24.0d0 u(k+3,is)=( 6.0D0*u(k,is)+27.0D0*u(k+4,is) * -u(k+8,is))/32.0d0 n=9 Else u(k+1,is)=(21.0d0*u(k,is)+14.0d0*u(k+4,is) * -3.0D0*u(k+8,is))/32.0D0 u(k+2,is)=( 3.0D0*u(k,is)+6.0D0*u(k+4,is) * -u(k+8,is))/8.0d0 u(k+3,is)=( 5.0D0*u(k,is)+30.0D0*u(k+4,is) * -3.0D0*u(k+8,is))/32.0D0 Endif 40 Continue 50 Continue C C C----setup of V mesh: V(R)=U(R)/R, C fator 2Z already absorbed in U(R) C Do 80 is=1,nspins v(1,is)=-9.9d35 kmax=min0(441,mesh) Do 60 k=2,kmax v(k,is)=u(k,is)/r(k) 60 Continue If(mesh.GT.kmax) Then Do 70 k=442,mesh v(k,is)=-twoion/r(k) 70 Continue Endif 80 Continue Read state(spin-orbital) Information spnup=zero spndn=zero Do 90 nst=1,nsts Read(5,5500) nl(nst),nspin(nst),oup(nst),e(nst) If(nspin(nst).EQ.1) spnup=spnup+oup(nst)
187 7.7 计 算 程 序 187 If(nspin(nst).EQ.2) spndn=spndn+oup(nst) 90 Continue ---Begin SCF iteration Do 270 iter=1,maxit Do 100 k=1,mesh rhosp(k,1)=zero rhosp(k,2)=zero rho(k)=zero 100 Continue ----Solve Shroedinger equation form eah spin-orbital Do 160 nst=1,nsts netry=0 etry=e(nst) n=nl(nst)/100 l=nl(nst)/10-10*n is=nspin(nst) Do 110 kk=1,520 rwk(kk)=r(kk+1) vwk(kk)=v(kk+1,is) pwk(kk)=po(kk+1) 110 Continue Call numrov(etry,nst,z,n,l,rwk,vwk,pwk,ihg,kmax,mesh, * thresh,ntries,prnt) Do 120 kk=2,521 r(kk)=rwk(kk-1) v(kk,is)=vwk(kk-1) po(kk)=pwk(kk-1) 120 Continue netry=max0(netry,ntries) kmax=kmax Add this orbital density to spin density po(1)=zero If(is.NE.2) Then Do 130 k=1,kmax rhosp(k,1)=rhosp(k,1)+oup(nst)*po(k)**2 130 Continue Else Do 140 k=1,kmax rhosp(k,2)=rhosp(k,2)+oup(nst)*po(k)**2 140 Continue Endif ---store P*R for this spin-orbital Do 150 k=1,mesh p(k,nst)=po(k) 150 Continue kmx(nst)=kmax e(nst)=etry 160 Continue
188 188 第 七 章 原 子 结 构 的 计 算 ---end of shroedinger loop find total harge density and generate new potential Do 170 k=1,mesh rho(k)=rhosp(k,1)+rhosp(k,2) 170 Continue Call vgener(z,exfat,fas,ihg,mesh,nsts,nspins,watson, * radion,zion,ratio,onvg) ----find point of largest hange in U potential delta(1)=zero delta(2)=zero Do 190 is=1,nspins Do 180 k=1,mesh dif=dabs(u(k,is)-unew(k,is)) If(dif.GT.delta(is)) Then delta(is)=dif kdel(is)=k Endif 180 Continue Write(6,5700) iter,delta(is),kdel(is) 190 Continue delt=dmax1(delta(1),delta(2)) If(onvg) Goto 280 If(tol.GT.delt) onvg=.true. --- SCF potential not onverged: Calulate next trial pot-- If(netry.LE.2) frau=frau+(one-frau)/two If(frau.GT.0.5D0) frau=0.5d0 Do 220 is=1,nspins Do 200 k=1,mesh u(k,is)=(one-frau)*u(k,is)+frau*unew(k,is) 200 Continue Do 210 k=2,mesh vlast=v(k,is) v(k,is)=u(k,is)/r(k) unew(k,is)=v(k,is)-vlast 210 Continue 220 Continue unew(1,1)=zero unew(1,2)=zero ---next trial eigenvalues from 1st order pert:: <p DEL V p> Do 260 nst=1,nsts is=nspin(nst) kmax=kmx(nst) Do 230 k=1,kmax fn(k)=unew(k,is)*p(k,nst)**2 230 Continue Do 240 kk=1,520 rwk(kk)=r(kk+1) vwk(kk)=fn(kk+1) pwk(kk)=a(kk+1)
189 7.7 计 算 程 序 Continue Call integr(vwk,rwk,kmax,ihg,pwk,1) Do 250 kk=2,521 r(kk)=rwk(kk-1) fn(kk)=vwk(kk-1) a(kk)=pwk(kk-1) 250 Continue dele=a(kmax) e(nst)=e(nst)+dele 260 Continue Write(6,5600) (nl(nst),nspin(nst),oup(nst), * e(nst),nst=1,nsts) 270 Continue ---- end of SCF iteration loop Write(6,5800) Stop 280 Continue --- suessful onvergene of potential nards=mesh/8+1 If(mesh.EQ.(8*nards)) nards=nards-1 Write(6,5600) (nl(nst),nspin(nst),oup(nst), * e(nst),nst=1,nsts) Write(6,5900) --- print R. V meshes kf=1 Do 290 n=1,nards kl=kf+7 If(kl.GT.mesh) kl=mesh Write(6,6500) kf,(r(k),k=kf,kl) kf=kl Continue Write(6,6000) Do 310 is=1,nspins Write(6,6100) is kf=1 Do 300 n=1,nards kl=kf+7 If(kl.GT.mesh) kl=mesh Write(6,6500) kf,(v(k,is),k=kf,kl) kf=kl Continue 310 Continue If(iprt.GE.1) Then --- print radial funtions Do 330 nst=1,nsts n=nl(nst)/100 l=nl(nst)/10-10*n Write(6,6200) n,l,e(nst),oup(nst),nspin(nst),kmx(nst)
190 190 第 七 章 原 子 结 构 的 计 算 kmax=kmx(nst) kf=1 Do 320 n=1,nards kl=kf+7 If(kl.GT.kmax) kl=kmax Write(6,6500) kf,(p(k,nst),k=kf,kl) kf=kl Continue 330 Continue Endif --- print harge density Write(6,6300) If(nspins.NE.1) Then Do 350 is=1,nspins If(is.EQ.2) Write(6,6700) Write(6,6400) is kf=1 Do 340 n=1,nards kl=kf+7 If(kl.GT.mesh) kl=mesh Write(6,6500) kf,(rhosp(k,is),k=kf,kl) kf=kl Continue 350 Continue Endif Do 360 k=2,mesh rho(k)=r(k)*rho(k) 360 Continue kf=1 Write(6,6700) Write(6,6600) Do 370 n=1,nards kl=kf+7 If(kl.GT.mesh) kl=mesh Write(6,6500) kf,(rho(k),k=kf,kl) kf=kl Continue Close(5) Close(6) Stop 5000 Format(20A4) 5100 Format(' ',20A4 * //T20,'***** input parameters *****' * /20X,36('*')//) 5200 Format(4F10.5/10I5) 5300 Format(T30,'At # =',I9/T30,'harge=',I9 * /T30,'# orbs=',i9 * /T30,'# spns=',i9 * /T30,'exfat=',F9.5 * /T30,'radion=',F9.5 * /T30,'ratio =',F9.5 * /T30,'frau =',F9.5 * /T30,'key =',I9
191 7.7 计 算 程 序 191 * /T30,'ntol =',I9 * * /T30,'nthrsh=',I9 /T30,'mesh =',I9//) 5400 Format(F8.5,9F7.5) 5500 Format(2I5,2F10.0) 5600 Format(//T5,'spin-orbitals',T21,'nl',T25,'spin',T31,'oup', * * T46,'E' /(T20,I3,T27,I1,T31,F4.1,T41,F13.7)) 5700 Format(//T19,'ITER #',I5,5X,'delta=',1PD14.7,2X,'- point',i4) 5800 Format('MAXIMUM # OF ITERATIONS EXCEEDED') 5900 Format('RADIAL MESH FOR THIS ATOM:'//) 6000 Format('XALPHA V POTENTIAL FOR THIS ATOM:'//) 6100 Format(//' SPIN',I2//) 6200 Format('SPIN-ORBITAL W/ N=,'I2,' L=',I2,' E=',1PD14.7, * * ' OCUP=',1X,F5.2,' NSPIN=',I2,' ' : FORM',' R*RADLFN'/) TO POINT',I5, 6300 Format('1 CHARGE DENSITY AT THE MESH POINTS:'/) 6400 Format(/' SPIN',I2/) 6500 Format(I5,1P8D16.6) 6600 Format(/' TOTAL CHARGE DENSITY, FORM RHO*(R**2) :'/) 6700 Format('1') End C Funtion blatt(e,p,r,vradl,hsqo12) ******************************************************************** find the first derivative of funtion generated by Numorov interpolation, interpolation the radial inrement points must be onstant. between the five r= radial mesh vradl= radial potential p= radial funtion obtained by integrating with energy E through the radial potential vradl(k) on mesh R(k) blatt= numerial derivative of p see: jm blatt, j omp phys 1:385 (1967) ******************************************************************** Impliit Real*8 (a-h,o-z) Dimension p(5),vradl(5),r(5) If(r(5)-r(1).LE.4.1D0*(r(2)-r(1))) Then h=dsqrt(12.d0*hsqo12) dif1=(p(4)-p(2))/2.d0 dif2=(p(5)-p(1))/2.d0 ddif1=((vradl(4)-e)*p(4)-(vradl(2)-e)*p(2))*hsqo12 ddif2=((vradl(5)-e)*p(5)-(vradl(1)-e)*p(1))*hsqo12 blatt=16.d0*(-dif1+37.d0*dif2/32.d0-37.d0*ddif1/5.d0 * -17.D0*ddif2/40.D0)/(21.D0*h) Return Endif Write(6,5000) Stop 5000 Format(' ERROR -- BLATT DERIVATIVE FORMULA IS CALLED', * End 'OVER A MESH DOUBLEING INTERVAL') C
192 192 第 七 章 原 子 结 构 的 计 算 Subroutine integr(f,r,kmx,ihg,a,md) ******************************************************************* integrates funtion F on 1-D mesh R by quadrtures, stores partial integrals in A See K S Kunz, Numerial Analysis ******************************************************************** Impliit Real*8 (a-h,o-z) Dimension f(*),r(*),ihg(12),a(*) Data s720,s646,s456,s346,s264,s251,s106,s74,s30,s25,s24, * s19,s11,s10,s9,s7,s6,s5,s4,s2 /720.D0,646.D0,456.D0, * 346.D0,264.D0,251.D0,106.D0,74.D0,30.D0,25.D0,24.D0, * 19.D0,11.D0,10.D0,9.D0,7.D0,6.D0,5.D0,4.D0,2.D0/ Data zero /0.D0/ h=r(2)-r(1) If(md.EQ.1) Then ----begin integration at zero k0=0 f0=zero Else --- begin integration at first point k0=1 a(1)=zero f0=f(1) Endif n=1 k0p1=k0+1 k0p2=k0+2 k0p3=k0+3 k0p4=k quadrature formulas q41(0),q41(1),q41(2) for first 3 points a(k0p1)=h*(s251*f0+s646*f(k0p1)-s264*f(k0p2)+s106*f(k0p3) * -s19*f(k0p4))/s720 a(k0p2)=a(k0p1)+h*(-s19*f0+s346*f(k0p1)+s456*f(k0p2) * -s74*f(k0p3)+s11*f(k0p4))/s720 a(k0p3)=a(k0p2)+h*(s11*f0-s74*f(k0p1)+s456*f(k0p2) * +s346*f(k0p3)-s19*f(k0p4))/s720 k0=k0p4 Do 20 k=k0,kmx km1=k-1 km2=k-2 km3=k-3 kih=k-ihg(n) If(kih.NE.1) Then If(kih.EQ.2) Goto main part of integration: q31(2) a(k)=a(km1)+h*(s9*f(k)+s19*f(km1)-s5*f(km2)+f(km3))/s24
193 7.7 计 算 程 序 193 Goto 20 Endif if mesh interval just hanged, speial formulas h=h+h a(k)=a(km1)+h*(s2*f(k)+s7*f(km1)-s4*f(km2)+f(km3))/s6 Goto n=n+1 a(k)=a(km1)+h*(s11*f(k)+s25*f(km1)-s10*f(km2) * +s4*f(km3))/s30 20 Continue If(mod(md,2).NE.0) Return ---- if MD even, reverse A Do 30 k=1,kmx a(k)=a(kmx)-a(k) 30 Continue Return End Subroutine numrov(e,nst,z,n,l,r,v,p,ihg,kmax,mesh,thresh, * ntries,prnt) ******************************************************************* solves shodinger equation numerially by numerov method V= partial potential inluding L*(L+1)/R**2 P= partial wave funtion in the form R*(Radlfn) assume V=infinity, P= zero at origin ******************************************************************* Impliit Real*8 (a-h,o-z) Logial utset,onedun,prnt Dimension dumom(2084) Dimension ihg(12),elast(30) Dimension r(520),p(520),vradl(520),v(520),a(520),fn(520) Common dumom Equivalene(dumom(1),vradl(1)) Equivalene(dumom(522),a(1)) Equivalene(dumom(1043),fn(1)) Data ntrymx,nrstmx,nmtplm /50,10,20/ Data zero,one,two,four,five,ten,twlve /0.D0,1.D0,2.D0,4.D0, * 5.D0,10.D0,12.D0/ ntries=0 nreset=0 nmtply=0 nodes=n-(l+1) angm=dfloat(l*(l+1)) onedun=.false. --- setup radial EQN potential (V plus ANGMOM pot. L)
194 194 第 七 章 原 子 结 构 的 计 算 Do 10 k=1,mesh vradl(k)=v(k)+angm/(r(k)*r(k)) 10 Continue If(elast(nst).EQ.zero) elast(nst)=1.25d0*e delast=dabs((elast(nst)-e)/e) Goto Continue --- E has been reset non variationaly: reset DE-ontrol parameter If(prnt) Write(6,5500) nst,ntries,e delast=dabs(0.25d0*e) -- outward integration: To start exponential tail (where urvature goes negtive) 30 Continue ntries=ntries+1 If(ntries.LE.ntrymx) Then gkm1=-one utset=.false. h=r(2)-r(1) nross=0 Call pstart(h,z,l,e,v,p(1),p(2)) hsqo12=h*h/twlve pkm2=p(1) pkm1=p(2) dkm2=-(e-vradl(1))*pkm2*hsqo12 dkm1=-(e-vradl(2))*pkm1*hsqo12 i=1 Do 50 k=3,mesh gk=(e-vradl(k))*hsqo12 pk=(two*(pkm1+five*dkm1)-pkm2+dkm2)/(one+gk) p(k)=pk --- test for sign hanges in WFN If(pk*pkm1.LT.zero) nross=nross+1 If(.NOT.utset) Then --- test for hg of sign in urvature (outer turning point) If(gkm1.LT.zero.OR.gk.GE.zero) Then gkm1=gk Goto 40 Endif --- Have reahed turning point: set KSTOP for utoff integration utset=.true. kstop=k+2 If(kstop.EQ.ihg(i)-1) kstop=ihg(i) If(k-2.LT.ihg(i-1).AND.k+2.GT.ihg(i-1)) * kstop=ihg(i-1)+4
195 7.7 计 算 程 序 195 If(k-2.LT.ihg(i).AND.k+2.GT.ihg(i)) * kstop=ihg(i)+4 Else --- KSTOP set: hek if it is reahed If(k.EQ.kstop) Goto 60 Endif 40 If(k.GE.ihg(i)) Then --- numerov inrement for H just doubled i=i+1 hsqo12=four*hsqo12 dkm2=four*dkm2 dkm1=-four*gk*pk pkm1=pk Else ---numerov inrement for H unhanged dkm2=dkm1 dkm1=-gk*pk pkm2=pkm1 pkm1=pk Endif 50 Continue --- Error exit from outwards integration: Tail not reahed Reset E=VRADL(k) inside mesh and try again If(prnt) Write(6,5600) nst,ntries,k nreset=nreset+1 k=mesh-40*nreset e=vradl(k) If(nreset.GT.nrstmx) Goto 140 Goto Suessful exit from outwards integration: Test # radial nodes 60 Continue If(nross.NE.nodes) Then ---- # of nodes in error: if too few, derease ABS(E) if too many, inrease ABS(E) If(prnt) Write(6,5700) nst,ntries,nross nmtply=nmtply+1 If(nmtply.GT.nmtplm) Goto 160 If(nross.LT.nodes) fat=0.75d0 If(nross.GT.nodes) fat=1.25d0 e=fat*e Goto 20 Endif
196 196 第 七 章 原 子 结 构 的 计 算 --- # of nodes orret: find P from blatt formula drvout=blatt(e,p(kstop-4),r(kstop-4), * vradl(kstop-4),hsqo12) kmath=kstop-2 pmath=p(kmath) --- end outward integration kstop=kstop-4 If(.NOT.onedun) Then --- skip searhfor kmax if one suesful inwards integral done bigex=69.08d0 in=11 kmax=mesh Continue in=in-1 If(in.EQ.0) Goto 150 kmax=kmax-40 hsq=(h*h)*four**in --- set KMAX farther IN, if H too large for stabilit or RADLFN is in an underflow region If(hsq.GE.6.214D0/dabs(e)) Goto 70 ex=r(kmax)*dsqrt(vradl(kmax)-e) If(ex.GT.bigex) Goto 70 Do 80 k=kmax,mesh p(k)=zero 80 Continue Endif --- inward integration k=kmax i=in -- first two points by exponential approx hsqo12=(h*h/twlve)*four**i pkm2=dexp(-r(k)*dsqrt(vradl(k)-e)) dkm2=-(e-vradl(k))*pkm2*hsqo12 p(k)=pkm2 k=k-1 pkm1=dexp(-r(k)*dsqrt(vradl(k)-e)) dkm1=-(e-vradl(k))*pkm1*hsqo12 p(k)=pkm1 --- integrat down to kstop 90 k=k-1 gk=(e-vradl(k))*hsqo12 If(-gk.GT.one) Write(6,5300) e,gk pk=(two*(pkm1+five*dkm1)-pkm2+dkm2)/(one+gk)
197 7.7 计 算 程 序 197 p(k)=pk If(k.NE.kstop) Then If(k.LE.ihg(i)) Then --- inrement if interval just halved: alls 2 points i=i-1 dk=-pk*gk km1=k-1 km2=k-2 gkm1=(e-vradl(k))*hsqo12 pkm1=(two*(pk+five*dk)-pkm1+dkm1)/(one+gkm1) dkm1=-pkm1*gkm1/four hsqo12=hsqo12/four gkm2=(e-vradl(k))*hsqo12 dk=dk/four pkm2=((pk-dk)+(pkm1-dkm1))/(two-ten*gkm2) dkm2=-pkm2*gkm2 p(km1)=pkm2 If(km1.EQ.kstop) Goto 100 p(km2)=pkm1 If(km2.EQ.kstop) Goto 100 k=km2 Goto 90 Endif --- numerov invrement for H unhanged dkm2=dkm1 dkm1=-pk*gk pkm2=pkm1 pkm1=pk Goto 90 Endif --- end inward integration Continue onedun=.true. --- mah inwards integratrion to ontwards at KMATCH math=pmath/p(kmath) Do 110 k=kstop,mesh p(k)=p(k)*math 110 Continue drvin=blatt(e,p(kstop),r(kstop),vradl(kstop),hsqo12) drvdif=drvin-drvout --- variational priniple improvment for E Do 120 k=1,kmax fn(k)=p(k)*p(k) 120 Continue Call integr(fn,r,kmax,ihg,a,1) xnorm=a(kmax)
198 198 第 七 章 原 子 结 构 的 计 算 de=-p(kmath)*drvdif/xnorm If(prnt) Write(6,5800) nst,ntries,e,kmath,drvdif,de If(dabs(de/e).GE.thresh) Then --- E not onverged: if DE/E.gt. % hnage of ETRIAL from --- E of last potential iter, redue DE to that value If(dabs(de/e).GT.delast) de=de*dabs(delast*e/de) --- inrement energy and solve again e=e+de Goto 30 Endif --- energy is onverged: normalize WFN and return elast(nst)=e xnorm=dsqrt(xnorm) Do 130 k=1,kmax p(k)=p(k)/xnorm 130 Continue Return Endif --- error prints and stop Write(6,5000) Stop 140 Write(6,5100) Stop 150 Write(6,5200) Stop 160 Write(6,5400) Stop 5000 Format(' ntrymx exeeded in numerov--', * 'E onvergene too slow') 5100 Format(' annot find an exponential tail in numerov', * 'despite moving urvature CHG point bak to R(40).', * 'hek form of V.') 5200 Format(' starting mesh is too large to aommodate', * 'ore funtion integration by numerov') 5300 Format(' warning--- GK<-1 for E=',1X,D14.7, * ' and GK=',1X,D16.7/) 5400 Format(' E has been hanged to hunt for orret # of', * 'nodes more time than allowed') 5500 Format(' NST=',I3,' after NTRY=',I3,' is having E', * 'set non-variationally to ',1X,D20.7) 5600 Format(' Nst=',I3,' Trial #',I3,' does not reah tail', * 'E reset= VRADL(k)-K=',I4) 5700 Format(' NSt=',I3,' Trial #',I3,' has NCROSS=',I3, * ': E mult by fator to orret # radial nodes') 5800 Format(' NST=',I3,' Trial # ',I3,' has E=',1X,D14.7, * ' Kmath=', I3,' Drvdif=',D14.7,' De=',D14.7)
199 7.7 计 算 程 序 199 End Subroutine pstart(h,z,l,e,v,p1,p2) ******************************************************************** Begin integration of radial equation with angular momentum = L, near R=0, expands P=R*(radial FN)=SUM<0,4>(A(j)*R**j)*R**(L+1) and finds oefts A(J) by taking derivatives 0-3 of radial equation at R=0; ******************************************************************** Impliit Real*8 (a-h,o-z) Dimension v(3) Data s1,s3o2,s11o3,s2,s5o2,s3,s4,s6,s8,s12,s20 /1.D0,1.5D0, * D0,2.D0,2.5D0,3.D0,4.D0,6.D0,8.D0,12.D0, * 20.D0/ xl=dfloat(l) zoh=z/h -- derivs of R*(v(i)-E) at R=0 d0=-(z+z) d1=s3*(v(1)-v(2))+v(3)+s11o3*zoh-e d2=-(s5o2*v(1)-s4*v(2)+s3o2*v(3)+zoh+zoh)/h d3=((v(1)+v(3))/s2-v(2)+zoh/s3)/(h*h) --- expansion oeffiients a1=-z/(xl+s1) a2=(d0*a1+d1)/(s4*xl+s6) a3=(d0*a2+d1*a1+d2)/(s6*xl+s12) a4=(d0*a3+d1*a2+d2*a1+d3)/(s8*xl+s20) lp1=l+1 ---evaluation of series expansion for P=R*(radial funtion p1=(s1+h*(a1+h*(a2+h*(a3+h*a4))))*h**(lp1) th=h+h p2=(s1+th*(a1+th*(a2+th*(a3+th*a4))))*th**(lp1) Return End Subroutine vgener(z,exfat,fas,ihg,mesh,nsts,nspins, * watson,radion,zion,ratio,onvg) ******************************************************************** generate new atomi potential UNEW(k) from harge density information. if CONVG=.true., also alulates total energy under the HFS hamilton ******************************************************************** Impliit Real*8 (a-h,o-z) Logial onvg,watson Dimension dumom(2084),fn(521),a(521) Dimension r(521),p(521),rhosp(521,2),rho(521)
200 200 第 七 章 原 子 结 构 的 计 算 Dimension uoul(521),uexh(521,2),unew(521,2),v(521,2) Dimension e(30),nspin(30),kmx(30),oup(30) Dimension ihg(12),eexh(2) Dimension fwk(521),rwk(521),awk(521) Common dumom,r,v,rhosp,rho,e,oup,kmx,nspin,p Equivalene(dumom(1),uexh(1,1),unew(1,1)) Equivalene(dumom(1043),fn(1)) Equivalene(dumom(1564),a(1)) Data zero,one,two,three,six /0.D0,1.D0,2.D0,3.D0,6.D0/ Data third,s3o4 / D0,0.75D0/ Data pi4 / D0/ ---generate new potential U=R*V (rho,rhosp in form (R*P)**2) kmax=0 Do 10 nst=1,nsts kmax=max0(kmax,kmx(nst)) 10 Continue kmxm1=kmax-1 mesp=mesh-1 Do 20 k=1,1563 dumom(k)=zero 20 Continue --- exhange potential Do 40 is=1,nspins Do 30 k=1,kmax uexh(k,is)=-six*exfat*(three*fas*r(k)*rhosp(k,is) * /(two*pi4*pi4))**third 30 Continue 40 Continue If(onvg) Then --- if potential onverged, find E-E exhange energy eexh(1)=zero eexh(2)=zero Do 80 is=1,nspins Do 50 k=2,kmax fn(k)=s3o4*rhosp(k,is)*uexh(k,is)/r(k) 50 Continue Do 60 kk=1,520 fwk(kk)=fn(kk+1) rwk(kk)=r(kk+1) awk(kk)=a(kk+1) 60 Continue Call integr(fwk,rwk,kmxm1,ihg,awk,1) Do 70 kk=2,521 fn(kk)=fwk(kk-1) r(kk)=rwk(kk-1) a(kk)=awk(kk-1) 70 Continue eexh(is)=a(kmax)
201 7.7 计 算 程 序 Continue Endif --oulomb potential (assuming sperial symmetry) uoul(1)=zero Do 90 kk=1,520 fwk(kk)=rho(kk+1) rwk(kk)=r(kk+1) awk(kk)=uoul(kk+1) 90 Continue Call integr(fwk,rwk,mesp,ihg,awk,1) Do 100 kk=2,521 rho(kk)=fwk(kk-1) r(kk)=rwk(kk-1) uoul(kk)=awk(kk-1) 100 Continue all integr(rho(2),r(2),nesp,ihg,uoul(2),1) rho(1)=zero Do 110 k=2,kmax rho(k)=rho(k)/r(k) 110 Continue Do 120 kk=1,520 fwk(kk)=rho(kk+1) rwk(kk)=r(kk+1) awk(kk)=fn(kk+1) 120 Continue Call integr(fwk,rwk,kmxm1,ihg,awk,1) Do 130 kk=2,521 rho(kk)=fwk(kk-1) r(kk)=rwk(kk-1) fn(kk)=awk(kk-1) 130 Continue Do 140 k=1,kmax fn(k)=fn(kmax)-fn(k) 140 Continue --- UCOUL set equal eletron-eletron oulomb potential Do 150 k=1,mesh uoul(k)=uoul(k)+r(k)*fn(k) 150 Continue If(onvg) Then --- if potential onverged, find N-E,& E-E oulomb energies enuel=-two*z*fn(1) Do 160 k=1,kmax fn(k)=rho(k)*uoul(k) 160 Continue Do 170 kk=1,520 fwk(kk)=fn(kk+1) rwk(kk)=r(kk+1) awk(kk)=a(kk+1) 170 Continue
202 202 第 七 章 原 子 结 构 的 计 算 Call integr(fwk,rwk,kmxm1,ihg,awk,1) Do 180 kk=2,521 fn(kk)=fwk(kk-1) r(kk)=rwk(kk-1) a(kk)=awk(kk-1) 180 Continue eeoul=a(kmax) Endif ---new oulomb potential (nulear+eletroni) Do 190 k=1,mesh uoul(k)=two*(uoul(k)-z) If(watson) Then -- watson sphere ontribution, if any xion=zion*ratio If(r(k).LT.radion) Then uoul(k)=uoul(k)+two*xion*r(k)/radion Else uoul(k)=uoul(k)+two*xion Endif Endif 190 Continue ---sum oulomb and exange terms Do 210 is=1,nspins Do 200 k=1,mesh unew(k,is)=uoul(k)+uexh(k,is) 200 Continue 210 Continue If(.NOT.onvg) Then Return Endif --- Total Energy Calulation ekinet=zero --- Kineti energy from integration (E-V) over orbital densities Do 220 nst=1,nsts ekinet=ekinet+oup(nst)*e(nst) 220 Continue Do 260 is=1,nspins Do 230 k=2,kmax fn(k)=v(k,is)*rhosp(k,is) 230 Continue Do 240 kk=1,520 fwk(kk)=fn(kk+1) rwk(kk)=r(kk+1) awk(kk)=a(kk+1) 240 Continue Call integr(fwk,rwk,kmxm1,ihg,awk,1)
203 7.7 计 算 程 序 203 Do 250 kk=2,521 fn(kk)=fwk(kk-1) r(kk)=rwk(kk-1) a(kk)=awk(kk-1) 250 Continue ekinet=ekinet-a(kmax) 260 Continue ewats=zero If(watson) Then --- watson sphere ontibution if any xion=zion*ratio Do 270 k=2,kmax If(r(k).LT.radion) Then fn(k)=two*xion*r(k)/radion Else fn(k)=two*xion Endif 270 Continue Do 280 k=2,kmax fn(k)=fn(k)*rho(k) 280 Continue Do 290 kk=1,520 fwk(kk)=fn(kk+1) rwk(kk)=r(kk+1) awk(kk)=a(kk+1) 290 Continue Call integr(fwk,rwk,kmxm1,ihg,awk,1) Do 300 kk=2,521 fn(kk)=fwk(kk-1) r(kk)=rwk(kk-1) a(kk)=awk(kk-1) 300 Continue ewats=a(kmax) Endif ---SUM and Print Total energy etotal=ekinet+eeoul+eexh(1)+eexh(2)+enuel+ewats virial=-etotal/ekinet+one Write(6,5100) Write(6,5000) ekinet,enuel,eeoul,eexh(1),eexh(2),ewats, * etotal,virial Return 5000 Format(//T20,'**** ATOMIC ENERGIES ****' * /T20,36('*') * //T20,'Kineti Energy=',1X,D21.7 * /T20,'Nu-El Coulomb=',1X,D21.7 * /T20,'El--El Energy=',1X,D21.7 * /T20,'Spin up Exhg =',1X,D21.7 * /T20,'Spin Dn Exhg =',1X,D21.7 * /T20,'Watson Sphere =',1X,D21.7 * ///T20,'Total Energy =',1X,D21.7 * /T20,'Virial ratio =',1X,D21.7 * ///)
204 204 第 七 章 原 子 结 构 的 计 算 5100 Format('1') End
證 明 : 令 φ(x f(x, ydy, 則 φ(x + x φ(x x f x (ξ, ydy f x (ξ, y f x (x, y dy f x (x, ydy f(x + x, y f(x, y d dy f x (x, ydy x f x (x, ydy, ξ ξ(y 介 於 x, x
微 分 與 積 分 的 交 換 積 分 設 f 在 [a, b] [, d] 上 連 續, 問 d dx f(x, y? f(x, ydy x 首 先 (1 式 兩 邊 必 須 有 意 義 f(x, ydy 必 須 對 x 可 導 若 f 及 x f(x, ydy 積 分 必 須 存 在 x f 在 [a, b] [, d] 上 連 續, 則 ( 及 (3 式 成 立, 下 面 的 定 理 告 訴
總目186-運輸署
管 制 人 員 : 運 輸 署 署 長 會 交 代 本 總 目 下 的 開 支 二 零 一 六 至 一 七 年 度 預 算... 28.585 億 元 二 零 一 六 至 一 七 年 度 的 編 制 上 限 ( 按 薪 級 中 點 估 計 的 年 薪 值 ) 相 等 於 由 二 零 一 六 年 三 月 三 十 一 日 預 算 設 有 的 1 5 3 6 個 非 首 長 級 職 位, 增 至 二 零
Microsoft Word - BD-QH2004.doc
从 线 性 方 程 谈 起 ( 清 华 大 学 数 学 科 学 系 章 梅 荣 教 授 ) 烟 台 大 学 与 北 京 大 学 和 清 华 大 学 有 着 密 切 的 联 系, 我 在 北 大 读 书 时 的 不 少 同 学 朋 友 还 在 烟 台 大 学 工 作 我 应 邀 来 烟 台 大 学 作 这 个 演 讲, 受 到 了 朋 友 们 的 热 情 接 待, 我 感 到 非 常 高 兴, 也 深
標準 BIG 中文字型碼表 A 0 9 B C D E F 一 乙 丁 七 乃 九 了 二 人 儿 入 八 几 刀 刁 力 匕 十 卜 又 三 下 丈 上 丫 丸 凡 久 么 也 乞 于 亡 兀 刃 勺 千 叉 口 土 士 夕 大 女 子 孑 孓 寸 小 尢 尸 山 川 工 己 已 巳 巾 干 廾
標準 BIG 中文字型碼表 A 0 9 B C D E F B C D ± E F A 0 9 B C D E F 兙 兛 兞 兝 兡 兣 嗧 瓩 糎 0 B 9 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ C Ⅷ Ⅸ Ⅹ 〡 〢 〣 〤 〥 〦 〧 〨 〩 十 卄 卅 D B C D E F G H I J K L M N O P Q E R S T U V W X Y Z a b c d e f g F h i
ii
i 概 率 统 计 讲 义 原 著 : 何 书 元 课 件 制 作 : 李 东 风 2015 年 秋 季 学 期 ii 目 录 第 一 章 古 典 概 型 和 概 率 空 间 3 1.1 试 验 与 事 件............................ 3 1.2 古 典 概 型 与 几 何 概 型....................... 7 1.2.1 古 典 概 型.........................
Microsoft Word - chead095.doc
管 制 人 员 : 康 乐 及 文 化 事 务 署 署 长 会 交 代 本 总 目 下 的 开 支 二 O 一 O 至 一 一 年 度 预 算... 54.547 亿 元 二 O 一 O 至 一 一 年 度 的 编 制 上 限 ( 按 薪 级 中 点 估 计 的 年 薪 值 ) 相 等 于 由 二 O 一 O 年 三 月 三 十 一 日 预 算 设 有 的 8 049 个 非 首 长 级 职 位,
d y dy P x Q x y 0. dx dx d d P x Q x C C 1y1 y dx dx d d P x Q x C 1y 1 dx dx d d P x Q x C y 0. dx dx d x 1dx F. ox1 dt dt d x1 1dx1 x 0 1 F 1 dt dt d x 1dx x 0 F dt dt d y 1dy y F 0 1 F1 y x1 x. dt
untitled
5 55-% 8-8 8-5% - 7 7 U- n n lim n n n n lim n n n n un n n k k n k u n k k k n k ` n k u n k k n n n lim n n.7. 8 f f e f f f e. f f e f f f f f f f [ e ] f e e www.tsinghuatutor.om 5 79 755 f f f f [
ABC Amber Text Converter
释 迦 牟 尼 佛 广 传 白 莲 花 论 全 知 麦 彭 仁 波 切 著 下 一 页 Page 1 一 功 德 品 上 一 页 首 页 下 一 页 一 功 德 品 总 体 说 来, 以 业 力 感 召 而 轮 回 于 三 界 中 之 众 生, 无 有 能 摆 脱 三 大 痛 苦 抛 开 束 缚 的 自 由, 因 而 也 得 不 到 任 何 究 竟 的 安 乐 自 在 正 因 为 他 们 从 无 始
22 8529 專 用 或 主 要 用 於 第 8525 至 8528 節 所 屬 器 具 之 零 件 23 8308 用 於 衣 服 靴 鞋 帳 蓬 手 提 包 旅 行 用 品 或 其 他 已 製 作 品 之 卑 金 屬 搭 鈕 帶 搭 鈕 之 框 架 帶 扣 帶 扣 搭 鈕 眼 環 眼 及 其
附 表 一 項 次 4 位 碼 稅 號 我 國 對 哥 倫 比 亞 出 口 符 合 哥 國 零 關 稅 項 目 清 單 ( 以 2014 年 海 關 稅 則 前 4 碼 排 名 前 300 項 產 品 為 比 對 基 礎 ) 中 文 名 稱 2013/01-2013/12 2014/01-2014/12 單 位 : 金 額 ( 美 元 ) 名 次 增 減 比 (%) 全 部 貨 品 出 口 總 額
3.2 導 函 數 其 切 線 (tangent line) 為 通 過 P, 且 其 斜 率 為 m 的 直 線, 即 y = f(a) + m(x a) (3) 其 法 線 (normal line) 為 通 過 P 且 與 切 線 垂 直 的 直 線, 即 y = f(a) 1 (x a) m
第 3 章 微 分 (Differentiation) 目 錄 3.1 切 線................................... 25 3.2 導 函 數.................................. 26 3.3 微 分 公 式................................. 28 3.4 連 鎖 律..................................
Microsoft Word - whfq fm_new_.doc
图 灵 数 学 统 计 学 丛 书 The Calculus Lifesaver:All the Tools You Need to Excel at Calculus 普 林 斯 顿 微 积 分 读 本 [ 美 ] Adrian Banher 著 杨 爽 赵 晓 婷 高 璞 译 北 京 图 书 在 版 编 目 (CIP) 数 据 普 林 斯 顿 微 积 分 读 本 / ( 美 ) 班 纳 (Banner,
996,,,,,,, 997 7, 40 ; 998 4,,, 6, 8, 3, 5, ( ),, 3,,, ;, ;,,,,,,,,,
,, AB,, ( CIP) /, 000 ( /, ) ISBN 704009448 F47 CIP ( 000) 86786 55 00009 0064054588 ht tp www hep edu cn ht tp www hep com cn 006404048 787960/ 6 05 370 000 730,, 996,,,,,,, 997 7, 40 ; 998 4,,, 6, 8,
dn = kn ( 5 1) dt t = 2 303 1 k tg N 0. ( 5 2) N S m + M v = V (5 3) K S dx = µ X dt 5 4 S µ = µ m K + S ( 5 5) S ds 1 dx 1 = = µ X ( 5 6) dt Y dt Y x/ s x/ s ds 1 = + + ( ) dt Y X mx 1 dp
koji-13.dvi
26 13 1, 2, 3, 4, 5, 6, 7 1 18 1. xy D D = {(x, y) y 2 x 4 y 2,y } x + y2 dxdy D 2 y O 4 x 2. xyz D D = {(x, y, z) x 1, y x 2, z 1, y+ z x} D 3. [, 1] [, 1] (, ) 2 f (1)
. () ; () ; (3) ; (4).. () : P.4 3.4; P. A (3). () : P. A (5)(6); B. (3) : P.33 A (9),. (4) : P. B 5, 7(). (5) : P.8 3.3; P ; P.89 A 7. (6) : P.
() * 3 6 6 3 9 4 3 5 8 6 : 3. () ; () ; (3) (); (4) ; ; (5) ; ; (6) ; (7) (); (8) (, ); (9) ; () ; * Email: [email protected] . () ; () ; (3) ; (4).. () : P.4 3.4; P. A (3). () : P. A (5)(6); B. (3) :
13WuYW_4questions
EuMath (/008 來 自 身 邊 的 四 個 小 問 題 胡 奕 偉 麗 水 學 院 數 學 系 這 是 一 組 來 自 筆 者 身 邊 的 問 題 問 題 平 凡, 問 題 簡 單, 問 題 3 略 見 抽 象, 問 題 4 則 源 遠 流 長, 被 稱 為 亞 里 斯 多 德 旋 輪 悖 論 平 凡 的 問 題 呼 喚 靈 活 的 思 維, 處 理 方 法 要 創 新 ; 貌 似 簡 單
① ⑰ ⒀ ⒐ ② ⑱ ⒁ ⒑ 〡 〱 ぁ ③ ⑲ ⒂ ⒒ 〢 〲 あ ④ ⑳ ⒃ ⒓ 〣 〳 ぃ ⑤ ⑴ ⒄ ⒔ 〤 〴 い ⑥ ⑵ ⒅ ⒕ 々 〥 〵 ぅ ⑦ ⑶ ⒆ ⒖ 〆 〦 う ⑧ ⑷ ⒇ ⒗ 〇 〧 ぇ ⑨ ⑸ ⒈ ⒘ 〨 ⑩ ⑹ ⒉ ⒙ 〩 ⑪ ⑺ ⒊ ⒚ ⓪ ⑯ ⑿ ⒏ え ぉ お
! " @ P Q R ` a b p q r # S c s $ % & ' ( G H T U V W X d e f g h t u v w x ) I Y i y * : J Z j z + ; K [ k {, -. / < = >? L M N O \ ] ^ _ l m n o } ~ À Ð à ð ΐ Π ΰ π ϐ Ϡ ϰ Ѐ А Р а р Ѐ Ѡ Ѱ Ҁ Ґ Ҡ Ұ Ӏ Ӑ
在 上 述 物 理 模 型 中 ( 三 隻 猴 子 的 重 量 都 一 樣 ), 考 慮 底 下 四 個 問 題 : () 當 三 股 力 量 處 於 平 衡 狀 態, 而 且 F 點 處 於 ABC 的 內 部 時, 利 用 力 的 向 量 和 為 零 的 觀 念, 求 角 度 AFB, BFC,
許 教 授 講 故 事 許 志 農 / 國 立 台 灣 師 範 大 學 數 學 系 在 數 學 教 學 中, 有 這 樣 一 道 數 學 應 用 問 題 : 在 哪 裡 建 學 校, 可 使 附 近 的 三 個 村 子 A, 與 C 的 三 位 學 生 到 學 校 所 走 路 程 的 和 最 小? 此 問 題 實 質 為 : 給 平 面 上 A, B, C 三 點, 試 尋 求 一 點 F, 使 距
虎克定律實驗 楊勝斐
虎 克 定 律 實 驗 楊 勝 斐 1. 目 地 : 測 試 彈 簧 的 虎 克 定 律, 並 從 彈 簧 作 簡 諧 運 動 的 特 性, 以 求 其 彈 性 係 數. 儀 器 : 彈 簧 一 條, 砝 碼 一 組, 虎 克 定 律 儀 一 組, 碼 錶 一 個, 米 尺 一 支 圖 1. 虎 克 定 律 儀 器 全 圖 與 零 件 圖 1 圖. 彈 簧 受 外 力 產 生 反 彈 力 與 變 形
範 例 1.1 試 解 出 下 列 微 分 方 程 dx = y. 不 嚴 謹 做 法 : 把 微 分 方 程 改 寫 為 y = dx. 兩 邊 同 時 積 分 y = 之 後 可 以 推 得 : ln y = X + C, 兩 邊 同 時 取 exp 之 後 可 以 得 到 y = Ce x.
微 分 方 程 法 蘭 克 老 師 1 微 分 方 程 1.1 可 分 離 微 分 方 程 假 設 M(x), N(y) 都 是 定 義 在 某 個 區 間 上 的 連 續 函 數 我 們 希 望 解 以 下 類 型 的 常 微 分 方 程 以 不 嚴 謹 的 方 法 我 們 可 以 把 (1.1) 改 寫 成 M(x) N(y) = 0. (1.1) dx N(y) = M(x)dx. (1.2)
MATHEMATICAL MODELING SPONSORED BY: SHUMO.COM COMPILED BY: Mathematical Modeling Editors Group HOMEPAGE:
MATHEMATICAL MODELING S H U M O SHUMO.COM 2004. 1 Vol. 1 No. 1 MATHEMATICAL MODELING SPONSORED BY: SHUMO.COM COMPILED BY: Mathematical Modeling Editors Group www.shumo.com HOMEPAGE: www.shumo.com [email protected]
微 分 方 程 是 经 典 数 学 的 一 个 重 要 分 支, 常 用 来 描 述 随 时 间 变 化 的 动 态 系 统, 被 广 泛 应 用 于 物 理 学 工 程 数 学 和 经 济 学 等 领 域. 实 际 上, 系 统 在 随 时 间 的 变 化 过 程 中, 经 常 会 受 到 一 些
不 确 定 微 分 方 程 研 究 综 述 李 圣 国, 彭 锦 华 中 师 范 大 学 数 统 学 院, 湖 北 4379 黄 冈 师 范 学 院 不 确 定 系 统 研 究 所, 湖 北 438 [email protected] 摘 要 : 不 确 定 微 分 方 程 是 关 于 不 确 定 过 程 的 一 类 微 分 方 程, 其 解 也 是 不 确 定 过 程. 本 文 主
K526-ML
目 录 C O N T E N T S 21 世 纪 的 养 生 大 趋 势 寻 找 最 自 然 的 自 我 保 健 法 1. 新 世 纪, 新 期 望, 需 要 新 的 养 生 观 点 / 2 2. 生 物 节 律 养 生 应 运 而 生 / 3 3. 注 重 生 物 节 律 养 生, 为 健 康 加 油 / 5 第 课 探 索 充 满 节 律 的 世 界 课 前 热 身 : 判 断 2 分 钟
微积分 授课讲义
2018 10 [email protected] 1201 / 18:00-20:20 213 14:00-17:00 I II Taylor : , n R n : x = (x 1, x 2,..., x n ) R; x, x y ; δ( ) ; ; ; ; ; ( ) ; ( / ) ; ; Ů(P 1,δ) P 1 U(P 0,δ) P 0 Ω P 1: 1.1 ( ). Ω
Microsoft Word - 实验习题N.doc
数 学 实 验 实 验 练 习 题 汇 总 实 验 数 学 建 模 初 步 实 验 目 的 通 过 解 决 简 化 的 实 际 问 题 学 习 初 步 的 数 学 建 模 方 法, 培 养 建 模 意 识 实 验 内 容. 怎 样 解 决 下 面 的 实 际 问 题? 包 括 需 要 哪 些 数 据 资 料, 要 做 些 什 么 观 察 试 验 以 及 建 立 什 么 样 的 数 学 模 型 等 :
C35N32.dvi
數 學 傳 播 35 卷 3 期, pp. 11-21 數 學 的 詩 篇 一 一 Fourier 分 析 林 琦 焜 深 入 研 究 大 自 然 是 所 有 數 學 發 現 最 富 饒 的 來 源, 不 僅 對 於 決 定 良 好 的 目 標 有 好 處, 也 有 助 於 排 除 含 糊 的 問 題 無 用 的 計 算 這 是 建 立 分 析 學 本 身 的 手 段, 也 協 助 我 們 發 現
第6章
第 6 章 控 制 系 统 的 设 计 6. 引 言 我 们 已 经 在 前 面 几 章 学 习 了 分 析 控 制 系 统 的 方 法, 其 最 终 目 的 是 为 了 能 够 设 计 控 制 系 统 控 制 系 统 的 分 析 是 研 究 给 定 系 统 的 动 态 和 稳 态 特 性 控 制 系 统 的 设 计 则 是 一 个 相 反 的 过 程, 即 根 据 生 产 工 艺 的 要 求 设
<4D6963726F736F667420576F7264202D20B9FAB7C0BFC6D1A7BCBCCAF5B4F3D1A7B9D8D3DA32303135C4EAD5D0C9FAD7A8D2B5B8FCB8C4B5C4B9ABB8E6>
2015 年 硕 士 研 究 生 入 学 考 试 自 命 题 科 目 考 试 大 纲 科 目 代 码 :830 科 目 名 称 : 辐 射 防 护 与 安 全 一. 考 试 要 求 主 要 考 查 学 生 对 辐 射 防 护 与 安 全 基 本 概 念 的 理 解 与 掌 握 ; 对 辐 射 剂 量 辐 射 探 测 辐 射 防 护 辐 射 安 全 的 理 解 与 掌 握 ; 以 及 运 用 基 本
<4D6963726F736F667420576F7264202D20CAA5B2C5D1A7CFB0CDF8CBAED3A120C4A3B0E52E646F63>
官 方 网 站 : 圣 才 学 习 网 www.xuexi.o 免 费 咨 询 热 线 :46-3-9 物 理 化 学 主 要 公 式 及 使 用 条 件 第 一 章 气 体 的 VT 关 系 主 要 公 式 及 使 用 条 件. 理 想 气 体 状 态 方 程 式 V ( / M ) RT nrt 或 V ( V / n) RT 式 中,V,T 及 n 单 位 分 别 为 Pa, 3,K 及 ol
一 耀 州 青 瓷 的 裝 飾 手 法 與 紋 飾 種 類 耀 州 窯 的 裝 飾 紋 樣, 豐 富 多 變, 而 且 題 材 內 容 廣 泛, 組 合 形 式 多 樣, 圖 案 形 象 優 美, 令 人 賞 心 悅 目, 並 且 反 映 了 當 時 社 會 的 審 美 趣 味 和 理 想 裝 飾
宋 代 耀 州 青 瓷 的 紋 飾 風 格 與 意 義 曾 肅 良 英 國 萊 斯 特 大 學 博 物 館 學 博 士 國 立 台 灣 師 範 大 學 美 術 研 究 所 助 理 教 授 摘 要 中 國 的 飲 茶 之 風, 興 於 唐 而 盛 於 宋, 特 別 是 宋 代 宮 廷 禁 苑 和 地 方 官 吏 文 人 學 士 的 尚 茶 崇 茶, 以 品 茶 為 雅 尚 的 觀 念 與 作 法, 使
Microsoft Word - 3-11.专业主干课程和主要专业课程的教学大纲.doc
... 3... 7... 10... 31... 36... 41... 49... 52... 57... 62... 65... 71... 73... 98... 105... 108... 131... 137... 148... 159... 174... 176... 192... 195... 228... 235... 242... 243 ... 247... 255... 265...
1 2 m v e 2 ö e m e m e m e m e e m m 1 1840 e m e m 2 v r Å Å Å 9999 10000 2 n λ = b( 2 2 ) n 2 Å 1 1854 1919 λ 1 1 1 2 2 λ = R ( Z H n ) 1 1 1 2 2 λ R H ( ) n f ni Z Z E ν = h mvr = n h 2π mvr = nh
数值分析ch3.ppt
数 值 积 分 和 数 值 微 分 I = f(x)dx 由 微 积 分 学 基 本 定 理, 当 f(x) 在 [,] 上 连 续 时, 存 在 原 函 数 F(x), 由 Newto-Leiits 公 式 I= f(x)dx = F() F() 有 时, 用 上 面 的 方 法 计 算 定 积 分 有 困 难.. 不 易 求 f(x) 的 原 函 数 F(x).f(x) 的 原 函 数 表 达
前 言 指压按摩这种以 手 为治病工具的医疗方法 可以说是人类最早的医学形式之一 这在世界各 古老民族的医学发展史中都可以得到佐证 因为 人们以手摩擦 按揉和捶打自己或同伴的肢体 以 御寒取暖及解除疲劳 食胀与各种伤痛所造成的不适感等行为 是与人类生来就有的自卫防御本能 有关 中国的按摩疗法历史悠久 可以追溯到上古的黄帝时代 那时的按摩称案杬 明朝以前称为按 摩 明朝以后一般称为推拿 发展至今日 推拿按摩成为一门独立的学科
得 到 了 補 償. 對 於 武 姜 而 言, 莊 公 與 自 己 的 關 係 並 不 親 密, 而 共 叔 段 又 是 自 己 向 來 疼 愛 有 加 的 兒 子, 所 以, 對 莊 公 提 出 再 怎 麼 無 理 的 要 求, 武 姜 也 不 會 覺 得 有 什 麼 不 妥 之 處, 而 對 共
左 傳 - 鄭 伯 克 段 於 鄢 人 物 心 理 1021141 林 詩 倩 一. 緒 論 鄭 伯 克 段 於 鄢, 及 共 叔 段 之 亂, 是 魯 隱 公 元 年, 即 公 元 前 722 年, 春 秋 初 年 在 鄭 國 國 內 發 生 的 一 場 內 亂. 武 姜 成 為 武 公 夫 人 並 先 後 為 武 公 生 下 了 兩 個 兒 子, 長 子 莊 公 由 於 腳 先 出 來 造 成
㲁 㱾 㲂 㱿 㲃 㲀 ኇห ᓆ㠬 敗 敜高雄市佛教會於九十八年六月六日假元亨寺舉辦 HINI新流 感消災祈安法會 由理事長淨明法師率領全體理 監事暨高雄市各寺 院法師 信眾等雲集一堂 虔誠持誦 藥師琉璃光如來本願功德經 大悲咒 一0八遍 以及佛前大供 願祈風調雨順 國泰民安 吉星 高照 遠離疫區 如意保安寧 攝影 王清江 ᐙ ᙘ 3 ኇห ᓆ㠬 妙林 第二十一卷六月號 雙(月刊 )西元二OO九年六月三十日
中華民國第51屆中小學科學展覽會
中 華 民 國 第 53 屆 中 小 學 科 學 展 覽 會 作 品 說 明 書 國 中 組 化 學 科 030217 精 油 如 解 液, 飛 蚊 莫 摧 殘 - 真 薰 傳 學 校 名 稱 : 臺 中 市 立 居 仁 國 民 中 學 作 者 : 指 導 老 師 : 國 二 許 哲 睿 國 二 黃 冠 綸 王 翠 妃 陳 惠 如 國 二 黃 靖 惟 關 鍵 詞 : 精 油 白 線 斑 蚊 壹 摘
巫月娥网络生态视阈下感知网络商业伦理对顾客忠诚的影响 在网络商业环境中遵循的伦理准则 以往研究对 一 引言 网络商业伦理的维度没有达成一致的结论被学 者和消费者认为最重要的网络商业伦理问题是安 根据中国电子商务研究中心发布 年中 全性和隐私 此外有学者还研究网络销售中 国电子商务市场数据监测报告 截
经济 管理 重庆理工大学学报 社会科学 年第 卷第 期 C U T V N j 网络生态视阈下感知网络商业伦理 对顾客忠诚的影响 巫月娥 闽南师范大学 管理学院福建 漳州 摘要 借鉴顾客忠诚的认知 情感 行为模式 针对网络生态系统中出现的伦理问题 探讨顾客 感知的网络商业伦理对顾客满意和顾客忠诚的影响 以网络商业伦理研究文献为基础 提出顾 客感知网络商业伦理包括 隐私保护 安全保障 销售诚信 交易履行和服务公正
Ⅰ Ⅱ Ⅲ Ⅳ
Ⅰ Ⅱ Ⅲ Ⅳ Ⅲ Ⅳ Ⅴ Ⅵ { { { { { ~ ~ α { α α α ~ ~ ~ ~ ~ ~ ~ ~ ⅠⅡⅢ Ⅰ Ⅱ Ⅲ Ⅰ Ⅱ Ⅲ { { { { { { { { { { { 珔 珔 珔 珔 ~ ~ ~ ~ ~ ~ { [ ] [ ] { 1 1 1 1 σ σ σ σ { 1 2 σ { { ⅠⅡⅢ Ⅰ Ⅱ v v v { Δ Δ Δ Δ Δ Δ { { δ δ δ {
高等数学A
高等数学 A March 3, 2019 () 高等数学 A March 3, 2019 1 / 55 目录 1 函数 三要素 图像 2 导数 导数的定义 基本导数表 求导公式 Taylor 展开 3 积分 Newton-Leibniz 公式 () 高等数学 A March 3, 2019 2 / 55 函数 y = f(x) 函数三要素 1 定义域 2 值域 3 对应关系 () 高等数学 A March
国防科学技术大学
国 防 科 学 技 术 大 学 2016 年 硕 士 研 究 生 入 学 考 试 自 命 题 及 复 试 科 目 考 试 大 纲 国 防 科 学 技 术 大 学 研 究 生 院 2015 年 6 月 目 录 航 天 科 学 与 工 程 学 院 ( 联 系 人 : 李 人 杰,0731 84573119)... 1 科 目 代 码 :812 科 目 名 称 : 空 气 动 力 学... 1 科 目 代
12天 本 會103年 模 範 郵 工 董 麗 珍 趙 美 珍 2人 參 加 梁 周昆法 歐陽陪興 林青豊 林秀蓮 曾文俊 甯鎮美 鄭麗娟 周肖梅 陳宏 103 年 11 月 23 日 板 橋 分 會 假 西 湖 渡 假 益 周 錦 燕 等12人 奉 准 升 遷 申 請 中 華 郵 政 村 舉 辦2
總公司分會 王瑞春 103 年 9 月 13 14 日總會假新竹市立高商 辦 理 103 年 中 華 郵 政 工 會 球類錦標賽 本會組桌 球隊 羽球隊 保齡球 隊 慢速壘球隊參加 桌球隊 羽球隊獲得全 區 甲 組 第4名 慢 速 壘 球 隊 獲 得 全 區 乙 組 第 2名 103 年 9 月 27 日 本 會 辦 理 王 功 搭 鐵 牛 車 103年11月22日婦女工作委員會暨郵工運動委員會 聯合假臺北市建
课 程 结 构 : 一 规 章 制 度 撰 写 二 劳 动 合 同 订 立 变 更 三 工 作 内 容 绩 效 管 理 四 违 纪 违 规 问 题 员 工 处 理 2
HR 如 何 精 准 预 防 用 工 风 险 和 化 解 劳 动 争 议 主 讲 : 钟 永 棣 2013 年 5 月 12 日 浙 江 杭 州 1 课 程 结 构 : 一 规 章 制 度 撰 写 二 劳 动 合 同 订 立 变 更 三 工 作 内 容 绩 效 管 理 四 违 纪 违 规 问 题 员 工 处 理 2 新 劳 动 法 下, 人 力 资 源 管 理 之 道 与 术 1 打 造 和 谐 高
3.1 ( ) (Expectation) (Conditional Mean) (Median) Previous Next
3-1: 3.1 ( )........... 2 3.1.1 (Expectation)........ 2 3.1.2............. 12 3.1.3 (Conditional Mean)..... 17 3.1.4 (Median)............ 22 Previous Next First Last Back Forward 1 1.. 2. ( ): ( ), 3.
025-
< 篇 名 > 本 草 求 真 書 名 : 本 草 求 真 作 者 : 黃 宮 繡 朝 代 : 清 年 份 : 西 元 1644-1911 年 < 目 錄 > < 篇 名 > 凡 例 內 容 : 一 本 草 一 書 首 宜 分 其 形 質 氣 味 次 宜 辨 其 經 絡 臟 腑 終 宜 表 其 證 治 功 能 曆 觀 諸 書 無 不 備 載 然 理 道 不 明 意 義 不 疏 徒 將 治 效 彰 著
042-
< 篇 名 > 雷 公 炮 製 藥 性 解 書 名 : 雷 公 炮 製 藥 性 解 作 者 : 李 士 材 朝 代 : 明 年 份 : 西 元 1588~1655 年 < 目 錄 > < 篇 名 > 序 內 容 : 余 讀 仲 景 之 敘 醫, 輒 為 之 掩 卷, 蓋 其 感 生 死 之 芒 忽, 篤 君 父 之 危 殆 賤 名 利 之 浮 榮, 冀 年 壽 以 沒 世 傷 哉 其 言, 焉 得
