架构

oCAS 由 12 个公共 crate(外加用于集成测试与基准测试的 ocas-tests) 组成的 Cargo workspace,层间依赖严格向下。每个 crate 只能依赖更底层的 crate, 不允许反向或循环依赖。

层级crate职责
5 绑定ocas、ocas-py、ocas-cRust、Python、C/C++ 公共 API
4 应用ocas-calc、ocas-eval、ocas-parse微积分、求值、解析
3 符号引擎ocas-atom、ocas-rewriteAtom、转换器、模式匹配、e-graph
2 代数核ocas-domain、ocas-poly域、多项式、数论
1 数值后端ocas-coreGMP 封装(FLINT 后端位于 ocas-poly)
0 运行时ocas-corearena、错误、线程池、FFI

重点模块

ocas-poly::factor — 多项式因式分解,使用 Hensel 提升与有限域技术。 支持无平方因子分解以及整数域与有理数域上的完全因式分解。

ocas-poly::groebner — Gröbner 基计算,提供三种算法:Buchberger、F4(生产默认)和 F5(基于签名)。支持可配置的单项式序(Lex、Grevlex、WeightOrder、BlockOrder)以及零维理想的 FGLM 转换。

ocas-poly::roots — 单变量多项式实根隔离。

ocas-tests::correctness — 交叉验证框架,包含 201 项 #[test] 测试,覆盖 19 个数学模块(截至 0.24.0),将 oCAS 结果与 SymPy、SageMath、Symbolica 进行对比。

完整设计文档见仓库中的 ARCHITECTURE_CN.md。