Expand description
cas 多项式层(P0-M2):有序稀疏分布式多项式,泛型于 Ring 系数。
设计见 cas/DESIGN.md D3:
- 有序:项按
PolyRing携带的单项式序(缺省 DegRevLex)严格升序,Poly::terms的次序即序列化/打印/代码生成次序(D6 四方同序); - 稀疏:零系数项不存在,指数向量平坦存储(
exps[i*nvars..]); - 确定性:构造即规范化(合并同类项、去零、按项序排序); 乘法经哈希合并后必经排序出口,内部哈希迭代序不进入输出。
M2 范围:加/减/乘/幂/偏导/求值。gcd、除法、因式分解属 M3/M4/M5; ℚ 上“本原 ℤ 表示 + 容度“的去分母优化同属 M3。
Structs§
- Poly
- 稀疏有序多项式。
exps长度恒为nvars × nterms,第 i 项指数为exps[i*nvars..(i+1)*nvars];项按环的项序严格升序,系数零的项不存在。 - Poly
Ring - 多项式环身份 =(变元表, 项序)。相同身份的 Poly 才可相互运算。
Enums§
- MonOrder
- 单项式序。变元位置即
PolyRing::vars的下标。