混合求根与安全回退
约 65 分钟
混合求根与安全回退
本节属于“非线性方程求根”。学习目标是把 混合求根与安全回退 从名词变成一条可复查的证据链:明确数学对象,推导核心公式,手算最小例题,实现算法,区分误差来源,并让已知反例按预期失败。
主题专属核心:先把《混合求根与安全回退》讲明白
这一节真正研究的对象是:在二分法的全局安全性和 Newton/割线的局部速度间切换。先把它与本章其他方法分开:它的输入前提、被更新的数学量、希望保留的结构和停止证据都必须明说。不能只写一个库函数名就跳到结果。
定义与公式从哪里来
本节的核心关系是:候选 若越出[a,b]或改善不足,则用 。读公式时要逐项标出已知量、状态量和新状态,再说明分母为何不能为零、矩阵需要什么性质、步长或网格受什么约束。推导不是为了背诀,而是为了知道实现中每一个中间量应该是什么。 对《混合求根与安全回退》,本段的验收证据具体是:在二分法的全局安全性和 Newton/割线的局部速度间切换
一个可以手算的 worked example
对 ,Newton 可在 0 与 1 间循环;括区间回退保证区间继续缩小。请不要直接跳到最后数字:把第一步的代入、中间量、新状态和残差写在四行中,然后用原定义独立代回。这个小例是代码的 oracle:程序第一步与手算不一致时,先查索引、符号、新旧状态和边界,不要通过放宽容差掩盖错误。 对《混合求根与安全回退》,本段的验收证据具体是:候选 若越出[a,b]或改善不足,则用
从纸面到算法
可执行顺序是:始终维护变号区间,生成快速候选,检查越界/残差改善,不合格就二分。每一轮要保存足以复原失败的状态,但不要用后一步数据污染本轮本应使用的旧状态。返回值至少包含近似解、迭代/网格信息、残差或误差估计、停止原因和成功状态,这样调用者才能区分“收敛”与“被迫停下”。 对《混合求根与安全回退》,本段的验收证据具体是:对 ,Newton 可在 0 与 1 间循环;括区间回退保证区间继续缩小
主动打破前提
本节必须保留的反例是:只在 Newton 产生 NaN 时才回退太晚;无有效括区间时不能声称全局保证。先预测哪个量会最先异常,再逐步改变一个条件。如果只看最后一个数,就无法区分问题病态、算法不稳定、实现错误和容差口径不合理。合格实验要给正常、最小、性质边界和已知失败四类输入。 对《混合求根与安全回退》,本段的验收证据具体是:始终维护变号区间,生成快速候选,检查越界/残差改善,不合格就二分
把推导变成可验收证据
现在回到核心公式“候选 若越出[a,b]或改善不足,则用 ”,用维度、极端值和代回三种方法审核它。维度检查防止矩阵左右乘反或步长漏乘;极端值检查在步长趋零、残差为零或矩阵变对角时是否回到直觉;代回检查则把 worked example 的新状态放回原问题。三者中任一不通过,都不应进入大规模计算。 对《混合求根与安全回退》,本段的验收证据具体是:只在 Newton 产生 NaN 时才回退太晚;无有效括区间时不能声称全局保证
公式逐行复核
本节唯一公式证据为:候选 若越出[a,b]或改善不足,则用 。
复核时必须写出三层含义。第一层是定义:公式左侧究竟是近似解、残差、误差、概率、能量还是更新后的状态;第二层是操作:右侧每一项来自输入、旧状态还是本轮刚算出的中间量;第三层是条件:分母非零、矩阵结构、光滑性、步长、边界、独立性或稳定域中哪一项保证这一步合法。 对《混合求根与安全回退》,本段的验收证据具体是:在二分法的全局安全性和 Newton/割线的局部速度间切换
再做三个极限检查:把离散尺度或步长趋近零,观察是否回到连续定义;把耦合、噪声或残差设为零,观察是否回到可手算基线;把参数推到性质边界,确认程序返回失败或切换算法,而不是悄悄给出一个有限数。
数字基准与测试 oracle
本节已算完的基准是:对 ,Newton 可在 0 与 1 间循环;括区间回退保证区间继续缩小。
把它写成测试时,断言不能只有最终答案。至少保存输入、第一中间量、最终结果、代回残差和停止状态。若答案有单位或归一化约定,也必须进入测试描述。随后只改一个参数两倍,判断结果应按线性、平方、平方根、指数还是迭代谱规律变化;缩放不符合预期时,优先检查公式与实现的对应关系。 对《混合求根与安全回退》,本段的验收证据具体是:候选 若越出[a,b]或改善不足,则用
这个小例负责验证实现,不负责证明所有输入都可靠。因此还要增加最小规模、性质边界和已知失败三类用例。对于浮点结果,容差必须由舍入、离散或统计误差预算推出,不能因为当前程序输出多少就把期待值改成多少。
实现清单与可观察状态
本节算法为:始终维护变号区间,生成快速候选,检查越界/残差改善,不合格就二分。
实现时按“校验—初始化—单步更新—停止—独立复核—归档”组织。校验阶段确认形状、单位、有限值和结构前提;初始化阶段保留原始输入副本;单步更新阶段禁止混用新旧状态;停止阶段同时看残差/误差与最大工作量;复核阶段用原始问题代回;归档阶段记录版本、参数、运行命令和原始证据。 对《混合求根与安全回退》,本段的验收证据具体是:对 ,Newton 可在 0 与 1 间循环;括区间回退保证区间继续缩小
返回结果至少包括近似值、工作量、残差或误差估计、停止原因和成功状态。只返回一个数组会迫使调用者把“达到精度”“达到上限”“数值溢出”和“前提不满足”混成同一种成功。
主动打破前提
本节必须保留的反例是:只在 Newton 产生 NaN 时才回退太晚;无有效括区间时不能声称全局保证。
先预测反例会让哪个量首先异常,再构造最小输入实跑。报告要指出错误首次发生在问题条件、公式、索引、迭代状态还是统计解释,并给出修复所需的主元、正则化、回退、步长限制、边界处理或替代算法。仅写“可能不准”不合格;必须展示残差不降、守恒量漂移、状态越界、误差阶下降或置信区间失真等可观察差异。 对《混合求根与安全回退》,本段的验收证据具体是:始终维护变号区间,生成快速候选,检查越界/残差改善,不合格就二分
误差预算与比较口径
对 在二分法的全局安全性和 Newton/割线的局部速度间切换 至少分开报告输入误差、问题条件放大、离散/截断误差、迭代误差、舍入误差和随机误差中实际存在的部分。当前主导项未识别前,盲目增加迭代、网格或样本可能只会增加成本。若要比较两个算法,必须固定同一问题、同一精度目标、同一失败口径和同一硬件计时范围。 对《混合求根与安全回退》,本段的验收证据具体是:只在 Newton 产生 NaN 时才回退太晚;无有效括区间时不能声称全局保证
闭卷验收
- 用自己的话定义
在二分法的全局安全性和 Newton/割线的局部速度间切换,说明输入、输出和结构前提。 - 重建公式
候选 $x_N$若越出[a,b]或改善不足,则用 $(a+b)/2$,逐行标注成立条件。 - 不看正文重算基准
对 $x^3-2x+2$,Newton 可在 0 与 1 间循环;括区间回退保证区间继续缩小,并用原问题代回。 - 把“始终维护变号区间,生成快速候选,检查越界/残差改善,不合格就二分”改写成带失败状态的伪代码。
- 解释反例“只在 Newton 产生 NaN 时才回退太晚;无有效括区间时不能声称全局保证”会先破坏哪一步以及如何修复。 对《混合求根与安全回退》,本段的验收证据具体是:在二分法的全局安全性和 Newton/割线的局部速度间切换
五项均能针对《混合求根与安全回退》独立回答,才算完成本节;同章另一方法的通用话术不能代替这些证据。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。