Brainwires计算引擎
Rust中用于数学和科学计算的综合计算引擎,提供 400+数学运算 通过清洁 8工具API.
  
🚀 快速开始
use computational_engine::{ToolRequest, SolveInput, create_default_dispatcher};
// Create dispatcher
let dispatcher = create_default_dispatcher();
// Solve a quadratic equation
let request = ToolRequest::Solve(SolveInput {
equations: vec!["x^2 + 2*x - 8 = 0".to_string()],
variables: None,
initial_guess: None,
domain: None,
method: None,
..Default::default()
});
let response = dispatcher.dispatch(request).unwrap();
println!("{:#?}", response);🧮 8核心工具
| 工具 | 目的 | 示例操作 |
|---|---|---|
| 解决 | 方程与优化 | 多项式、线性系统、微分方程、爱因斯坦场方程、曲线拟合、最小化 |
| 计算 | 数学和物理计算 | 矩阵运算、微积分(微分/积分)、变换(FFT、拉普拉斯)、场论(EM、引力)、采样、张量微积分、特殊函数 |
| 分析 | 表达式分析 | 级数展开、极限、根、极值、稳定性分析、简化 |
| 模拟 | 动态系统 | 常微分方程、偏微分方程、随机过程、蒙特卡罗、流体动力学 |
| 机器学习 | 机器学习 | 聚类(K-means)、回归、神经网络、PCA、降维 |
| 混沌 | 混沌理论 | 分形(Mandelbrot,Julia),吸引子(Lorenz),李雅普诺夫指数,分岔 |
| 单位 | 维度分析 | 单位转换、维度一致性检查 |
| 验证 | 方程验证 | 物理合规性、守恒定律、对称性检查 |
✨ 主要特点
核心能力
- ✅ 2067次测试 通过率100%(1089个集成+960个单元+18个文档测试)
- ✅ 约80%的生产代码覆盖率 (用货物防水布测量)
- ✅ 400+数学运算 跨8个统一工具
- ✅ 自适应积分 具有自动细分和误差估计功能
- ✅ 24+传统数学科目 包括微积分、线性代数、统计学、微分方程、图论、最优化等
- ✅ 自定义计算机代数系统(CAS) -没有Python依赖项
- ✅ 多个接口:原生Rust、JSON/MCP、WebAssembly
- ✅ Rust 2024版 具有全类型安全性
数学
- 微积分:符号区分、整合、系列分析
- 线性代数:矩阵运算、分解(SVD、LU、QR、Cholesky)、特征值、PCA
- 张量演算:爱因斯坦求和,Christoffel符号,黎曼曲率,度量张量
- 符号CAS:表达式解析、简化、符号区分/整合
- 特殊函数:贝塞尔、伽玛、贝塔、误差函数、椭圆积分、正交多项式
- 数值方法:根查找、插值、ODE/PDE求解器、自适应数值积分(带自动细分的Simpson规则)
物理学
- 量子力学:波函数、算子、微扰理论
- 相对论:狭义和广义相对论计算
- 电磁学麦克斯韦方程式,EM波,天线,波导
- 核物理学:放射性衰变、结合能、裂变/聚变
- 流体动力学:Navier-Stokes求解器、边界条件、流动分析
- 控制系统:传递函数、稳定性分析、PID整定
科学公式
- 化学:气体定律、pH值计算、摩尔质量、热化学
- 生物学:米氏动力学、哈代-温伯格平衡、药代动力学
- 热力学:传热、熵、热力学循环
- 光学:薄透镜、衍射、干涉、偏振
- 工程:声学、材料科学、流体力学、控制理论
- 地球物理学地震学、大气物理学、放射性测年、行星科学
- 日期时间:日期算术、工作日、闰年、时区
专业模块
- 信号处理:FFT、滤波器、频谱图、小波、窗函数
- 统计:分布、假设检验、回归、MCMC
- 优化:梯度下降、Nelder-Mead、曲线拟合、符号回归
- 图论:最短路径、MST、连通组件、拓扑排序
- 信息论:熵、互信息、信道容量、霍夫曼编码
- 密码学:RSA,素数生成,模运算
- 计算几何:凸包、Delaunay三角剖分、Voronoi图
📚 涵盖的传统数学科目
发动机跨度 24+传统数学科目 教育工作者和学生熟悉的:
核心数学
- 微分学 -符号微分、偏导数、链式法则、梯度、散度、旋度
- 积分学 -定积分/不定积分、多重积分、轮廓积分
- 高等微积分 -泰勒级数、极限、L'Hôpital法则、收敛性检验
- 线性代数 -矩阵运算、分解(SVD、QR、LU、Cholesky)、特征值、PCA
- 符号代数 -表达式解析、简化、因式分解、多项式运算
- 微分方程 -ODE、PDE(热、波、拉普拉斯)、刚性方程
高等纯数学
- 张量演算 -Christoffel符号、黎曼张量、爱因斯坦方程、度量张量
- 数论 -素数、模运算、GCD/LCM、中国剩余定理
- 特殊函数 -贝塞尔、伽玛、误差函数、椭圆积分、正交多项式
- 计算几何 -凸包、Delaunay三角剖分、Voronoi图
应用数学
- 统计学与概率论 -分布、假设检验、回归、方差分析、相关性
- 优化 -梯度下降、Nelder-Mead、曲线拟合、符号回归
- 随机过程 -布朗运动、泊松过程、莱维过程、MCMC
- 图论 -最短路径、MST、拓扑排序、连通组件
- 信息论 -熵、互信息、KL散度、信道容量
信号与变换分析
- 傅里叶分析 -FFT、傅里叶/拉普拉斯变换、傅里叶级数
- 小波分析 -Haar、Daubechies、Morlet小波、小波变换
- 信号处理 -数字滤波器、频谱分析、自相关、功率谱
物理数学
- 量子力学 -薛定谔方程、微扰理论、波函数
- 相对论 -洛伦兹变换、史瓦西度量、引力效应
- 统计物理 -配分函数,玻尔兹曼/费米-狄拉克/玻色-爱因斯坦分布
- 控制理论 -传递函数、波特图、稳定性分析、状态空间
- 核物理学 -放射性衰变、结合能、裂变/聚变计算
密码学与安全
- 密码数学 -RSA、散列(SHA256/SHA3)、离散对数、椭圆曲线
📦 安装
添加到您的 Cargo.toml:
[dependencies]
brainwires-compute-engine = { git = "https://github.com/nightness/brainwires-compute-engine" }🔧 多个接口
1.锈蚀API(原生)
直接与Rust集成,具有完全类型安全性:
use computational_engine::{ToolRequest, ComputeInput, ComputeOp, DifferentiateType, create_default_dispatcher};
let dispatcher = create_default_dispatcher();
// Differentiate x^2*sin(x) symbolically
let request = ToolRequest::Compute(ComputeInput {
operation: ComputeOp::Differentiate(DifferentiateType::Symbolic),
data: serde_json::json!({
"expression": "x^2*sin(x)",
"variable": "x"
}),
parameters: Default::default(),
});
let response = dispatcher.dispatch(request).unwrap();2.JSON API(MCP服务器)
用于AI代理和CLI工具的JSON接口:
# Run as MCP server (reads JSON from stdin)
echo '{"tool":"solve","input":{"equations":["x^2 - 4 = 0"]}}' | cargo run --release -- stdin
# List available operations
cargo run --release -- list-ops
# Display version info
cargo run --release -- infoJSON请求格式:
{
"tool": "solve",
"input": {
"equations": ["x^2 - 4 = 0"]
}
}3.WebAssembly(浏览器/Node.js)
在JavaScript/TypeScript中用于设备上计算:
import init, { ComputationalEngine } from '@brainwires/compute-engine';
await init();
const engine = new ComputationalEngine();
const result = engine.solve({
equations: ["x^2 - 4 = 0"]
});
console.log(result);看 WASM.md 获取完整的WebAssembly文档。
🏗️ 建筑
使用8个统一工具的干净分层架构:
JSON/WASM API → ToolDispatcher → Tool Traits → Unified Implementations → Domain Modules源结构
src/
├── engine/ # Core types, traits, dispatcher
├── solve/ # SOLVE tool + optimization/, specialized/
├── compute/ # COMPUTE tool + 27 domain submodules
├── analyze/ # ANALYZE tool + symbolic/
├── simulate/ # SIMULATE tool + fluids/, stochastic/, ode/, finance/
├── ml/ # ML tool + clustering/, regression/, neural_network/, etc.
├── chaos/ # CHAOS tool + fractals/, attractors/, lyapunov/, etc.
├── units/ # UNITS tool + dimensional_analysis
└── validate/ # VALIDATE tool + equation validation看 建筑.md 详细文档。
🔬 建筑与测试
本地构建
# Build library and CLI
cargo build --release
# Run the MCP server
./target/release/brainwires-compute-engine stdin
# Run all tests (2,067 tests total)
cargo test
# Run integration tests only
cargo test --test all_integration_tests
# Run specific test suites
cargo test --test all_integration_tests integration::tools::linear_algebra
cargo test --test all_integration_tests integration::tools::tensor_calculus
# Generate documentation
cargo doc --open
# Code quality
cargo check
cargo fmt
cargo clippyWebAssembly构建
# Build for all WASM targets
./build-wasm.sh
# Or build specific targets
npm run build:web # Browser ES modules
npm run build:nodejs # Node.js
npm run build:bundler # Webpack/Vite/Rollup
npm run build:no-modules # Classic tags
# Run browser example
cd examples/wasm && npm run dev
# Run Node.js example
cd examples/wasm && npm run node
# Test WASM
wasm-pack test --headless --firefox看 WASM.md 了解详细的WASM构建说明。
📊 测试覆盖率
全面的测试套件 100%通过率 和 约80%的生产代码覆盖率:
检验统计量
- 2067次测试 (通过率100%)
- 1089次集成测试 在 tests/integration/ - 960个单元测试 (内联 #[cfg(test)] 模块在 src/) - 18个文档测试
- 约80%的生产代码覆盖率 (截至2025年1月为79.99%)
- 覆盖率用以下方式衡量 cargo-tarpaulin 不包括测试代码 - 仅生产代码,自动排除内联测试模块
覆盖命令
# Run all tests
cargo test
# Get production code coverage (recommended - excludes test code)
cargo tarpaulin --lib --release --out Stdout
# Alternative: cargo-llvm-cov (may include test code in metrics)
cargo llvm-cov --lib --release
# Generate HTML coverage report
cargo tarpaulin --lib --release --out Html注: 使用 cargo-tarpaulin 以获得准确的生产代码覆盖率。该工具自动排除内联 #[cfg(test)] 通过覆盖率计算模块,为您提供真实的生产代码覆盖率百分比。
测试组织
该项目使用两种测试模式:
- 集成测试 (
tests/integration/目录)
- 1089个跨多个文件的集成测试 - 按工具组织: engine/, compute/, solve/, simulate/, tools/, coverage/ - 测试公共API和端到端功能
- 单元测试 (内联
#[cfg(test)]模块)
- 源文件中嵌入了960个单元测试 - 位于 #[cfg(test)] 模块内 src/ 文件 - 测试单个功能和内部实现细节
看 测试.md 了解详细的测试指南和最佳实践。
🎯 用例
- 科学计算:研究计算、模拟、数据分析
- AI/ML应用:AI代理和模型的数学运算
- 教育工具:互动式数学和物理教育
- MCP服务器:Claude和其他人工智能助手的计算后端
- 网络服务:服务器端或客户端数学计算
- 研究:数学模型的快速原型制作
- 工程:CAD、仿真、优化问题
📖 文档
- 测试.md - 🧪 完整的测试指南和最佳实践
- CLAUDE.md - 🤖 Claude Code和贡献者开发指南
- WASM.md -WebAssembly构建和使用指南
- 建筑.md -详细的架构文档
- API文件:
cargo doc --open
🛠️ 发展
先决条件
- 锈1.75+(2024年版)
- wasm包(用于WebAssembly构建)
- Node.js 18+(用于WASM示例)
开发命令
# Check code
cargo check
# Run tests
cargo test
# Format code
cargo fmt
# Lint
cargo clippy
# Build release
cargo build --release
# Run benchmarks
cargo bench🌟 设计理念
- 简洁:8个直观的工具,可访问400多种数学运算
- 综合性:涵盖从微积分和线性代数到量子力学和控制理论的24门以上传统数学科目的操作
- 独立:不依赖Python的自定义CAS
- 类型安全:使用零成本抽象进行完全Rust类型检查
- 演出:使用LTO和单个代码生成器单元优化发布版本
- 可测试性:2067次测试的测试通过率为100%
- 灵活性:具有合理默认值的丰富输入模式
- 互操作性:原生Rust、JSON和WebAssembly接口
🆕 最新动态
2025年1月
- ✅ 8工具架构整合:具有8个主要工具的统一架构
- 更清洁、更直观的API
- ✅ 测试重组:现在测试镜像源结构
- tests/unit/ 按工具组织: solve/, compute/, analyze/, simulate/, ml/, chaos/, units/, validate/ - tests/integration/ 按工具组织: engine/, compute/, solve/, simulate/, tools/, coverage/, other/ - 总计:2067次测试(高于1685次)
2024年10月
- ✅ 主要测试覆盖率提高:测试次数大幅增加
- 达成 约80%的生产代码覆盖率 - 修复了自旋参数解释中的临界黑洞物理错误 - 创建全面 测试.md 引导
- ✅ 黑洞物理修复:修正了克尔黑洞的实现
- 将自旋参数从质量单位更改为无量纲(0-1) - 固定事件视界、ergosphere和ISCO计算
📝 许可证
麻省理工学院或阿帕奇-2.0
🤝 贡献
欢迎投稿!8工具架构使以下操作变得容易:
- 在现有工具中添加新的求解方法
- 实施新的分析操作
- 创建新的仿真模型
- 添加科学配方模块
- 整合专业图书馆
请参阅中的工具模块 src/solve/, src/compute/等等。
🙏 致谢
该项目旨在提供与Mathematica/Wolfram Alpha相当的全面计算能力,但作为免费和开源软件。
📞 支持
- 问题:
- 文件:见
docs/目录和内联文档
______________________________________________________________________
用Rust构建🦀 | 数学驱动📐 | 用Rigor测试✅
