四个实根、一个重根、两条符号证书
这份练习的终点是一份可以逐项复算的答案:给定展开的七次多项式,找出全部不同实根,为每一个给有理隔离区间,恢复重数,并判断另一个多项式在它们上面的符号。不要用一串近似根代替证明;需要交出的数据是系数恒等式、端点符号和精确矩阵分解。
学习入口
核心路线是多项式根界理路多项式的根界Polynomial root bounds · Cauchy root bound · 多项式的 Cauchy 根界用系数的绝对值给全部复根一个严格外界,再通过倒数多项式与变量缩放构造可核验的实根搜索范围。 → Sturm计数理路Sturm 多项式实根计数Sturm theorem for real polynomial roots · Sturm sequence · 多项式的 Sturm 定理用带负号的多项式余式链在区间两端数变号,证明其差恰为不同实根数,并明确零项、重根和根端点的处理。 → 实根隔离理路有理多项式的实根隔离Real root isolation of rational polynomials · Sturm bisection isolation · 实根隔离以精确根计数驱动区间细分,为每个不同实根给出互不相交的有理隔离区间,证明终止、完整性和重数恢复。 → 实代数数表示理路实代数数的精确表示Exact representation of real algebraic numbers · Isolating interval representation · 实代数数用整系数多项式和有理隔离区间指定一个实根,以GCD判等、区间细化比较大小,并为符号判断与精确算术保留正确根分支。 → Sturm–Tarski查询理路Sturm–Tarski 符号查询Sturm–Tarski query · Tarski query · Sturm–Tarski theorem · 加权实根符号查询将实根计数推广为根上符号之和,以导数加权负余式链计算查询,并用三次查询恢复正、负、零根数。。前五站只使用有理多项式运算、大小比较与连续性的基本事实。
第六站Hermite迹型理路Hermite 迹型与实根符号Hermite trace form · Hermite matrix real root counting · Hermite criterion with sign conditions · Hermite 实根判据在多项式商代数上以乘法算子的迹构造对称形式,证明其签名等于实根上的符号查询,并用精确合同分解复核三次算例。另需商环、线性代数与惯性。它用另一类数据复核相同结论,可以在前五站完成后再学。已有的平方自由分解、多项式环和极小多项式页面作为工具接入,不需要重复阅读整条抽象代数路线后才能开始计算。
任务一:范围、去重与完整性
输入为
请先证明以下因式恒等式,再计算GCD,不要从图形猜重数:
平方自由部分为
从展开系数得到Cauchy根界 。这保证全局计数只需在 进行。
为四个不同实根分别交付
验证每个区间的 根数为一,且全区间根数为四。可先用三个互素因子的短Sturm链手算,再用配套程序直接对 计数交叉核对。
四个区间对应的重数是 。其中 包含精确有理根一, 包含 的唯一实根 ;另外两个分别包含 与 。全部实根按重数合计五个,其余两个是非实共轭根。
任务二:在根上计正、负、零
令 。目标不是求 在所有实数上的符号,而是只在 的四个实根上统计。
在 中,由共同因子认证 。在 中,根是一,所以 。在 中,,于是 ,故 。
因此逐根符号为
不借助这些根的名字,直接计算Sturm–Tarski查询也应得到
三式恢复
这里按不同根计数。若改为按原七次 的重数计,根一的负贡献出现两次,结果应为 。请说明这个变化来自哪一个平方自由块。
任务三:对三次部分使用两种独立中间数据
令 。在 中, 的加权负余式链为
在 的符号依次为 ,变号数一;在 为 ,变号数二。查询等于 。
另一路由关系 建立乘法矩阵
计算 ,再构造 。分别核验Hermite页给出的 分解,读出对角数据
签名分别为 ,因此三次部分有一个实根,在它上面 严格为负。不能只比较三张矩阵的行列式符号;签名要求计正、负方向数。
任务四:故意破坏一条证书
逐项说明以下修改为何不合法,并展示错误发生在哪里:
- 将普通Sturm链末项 首一化为正一,再照旧数变号
- 宣称 也隔离三次根
- 对 ,用 作为开区间 的根数
- 将 左上角的零当作一个零特征值
- 把查询 写成“恰有两个负根”,不再检查
参考核对:第一项会把三次多项式误计为三个实根;第二个区间实际上计零;第三项错误计入右端点;第四张矩阵行列式为 ,并不退化;第五项一般不能排除更多正负贡献互相抵消。
迁移练习
保持 不变,将查询改成 。依区间顺序,符号为 ,所以三次查询应为 ,恢复 。
再将 改为 :不同根的隔离区间与三次查询不变,按重数统计则每项翻倍。最后试用 运行细分;初始中点零恰是根,程序必须走“改选非根切口”的分支,不能把根遗失在左右两个开区间之间。
下载与复算
在Python 3中运行脚本即可,未使用第三方库。多项式系数按低次到高次存储,所有数值运算使用标准库的Fraction。程序检查GCD、平方自由块、Sturm链、手工及自动隔离区间、加权查询、三张合同分解,还用125个查询多项式对一组已知实根进行两算法交叉检查。
脚本为了让每项检查可以独立调用,会重复构建余式链;正文的隔离复杂度分析针对预建并复用一条链的实现,不能直接作为此检查脚本的性能界。
脚本含四类故意损坏的输入或证书检查,并测试中点恰为有理根的分支。结果文件中的PASS表示这些明确列出的计算已通过,不代表一般算法已在证明助手中形式化,也不代表网站渲染、构建或全部内容审核已经完成。