Radicand
✦ 自研 免费sqrt(12) 给你 2√3,不是 3.4641016
开源 无广告 无追踪 离线可用 无需注册 跨平台
精确计算的桌面数学引擎。分数不会退化成小数、根号保持根号、整数任意大,支持符号代数、微积分、微分方程、线性代数和任意精度数值。Rust 内核加 Tauri 外壳,Windows 安装包约 2.9 MB,完全离线运行。
为什么推荐它
普通计算器和大多数编程语言算 sqrt(12),给你 3.4641016151377544——
一个已经丢掉信息的近似值。1/3 + 1/6 给你 0.4999999999999999。
对工程估算这没问题,但如果你在做推导、验算或者教学,
这些小数就是噪音:你要的是 2√3 和 1/2。
Radicand 的立场就写在名字里——radicand 是根号下面那个数。 它默认保持精确,只有你明确要求数值时才给数值, 而且精度是在求值那一刻由你指定的,不是存储时就定死的:
1/3 + 1/6 -> 1/2
sqrt(12) -> 2*sqrt(3)
sqrt(-4) -> 2*i
2^100 -> 1267650600228229401496703205376
N(pi, 60) -> 3.14159265358979323846264338327950288419716939937510582097494
0.1 + 0.2 -> 0.30000000000000004
最后一行是故意保留的:输入里出现小数,不精确性就从那里进来, 而且它不藏着——近似结果会带一个尾点标出来。
能力范围:
- 代数:
expand((x+y)^5)、factor(x^4+4)、apart(1/(x^3-x), x)、simplify、together - 微积分:
diff、integrate(含定积分)、limit、series - 多元:
gradient、hessian、jacobian、curl、laplacian、重积分 - 微分方程求解
- 线性代数:
det、inv、eigenvals - 数论:
factorint、gcd、阶乘 - 绘图,以及一个命令行 REPL(
radicand-cli)
几个工程上的选择值得说,因为它们直接决定了你用起来是什么体验:
- 内核是 hash-consed DAG。每个不同的子表达式只存一份,
用一个 4 字节的 Id 引用,所以结构相等是一次整数比较而不是遍历整棵树,
x + x在构造阶段就已经是2*x。这是 SymEngine 那一类的设计。 - 完全离线,而且是结构上的。依赖树里没有 HTTP 客户端,
前端没有 fetch / XHR / WebSocket,CSP 是
default-src 'self', KaTeX 字体是本地打包的。不是"我们承诺不联网",是它没有联网的能力。 - 协议干净。MIT,而且依赖树里每一个包都是 MIT 或 Apache-2.0—— 没有 GMP、MPFR、Maxima、PARI、GiNaC。内核从零写而不是包一层 SymEngine, 主要原因就是这个:你可以把它放进任何项目,包括闭源商业产品。 这一点是多数 CAS 做不到的(Maxima 是 GPL,SymPy 依赖链也更复杂)。
- 网页版就是同一个内核编译成 WebAssembly 跑在浏览器里, 不装任何东西就能在 radicand.doaipm.com 上直接试,输入照样不出你的电脑。
这是我们自己做的,所以更要把话说清楚:
- 它还很早,当前是 v0.1.0(2026 年 8 月首发)。功能范围是真实的、 内核有 188 项测试,但一个 0.1 版本意味着你会遇到没覆盖到的情况和 bug。 拿它做重要计算时,请交叉验证。
- 它不是 Mathematica 或 MATLAB 的替代品。那两者的广度 (特殊函数、数值方法、工具箱、可视化、文档生态)不是一个量级。 Radicand 做的是精确符号计算这一块,不做数值仿真、不做矩阵实验室。
- 不做笔记本工作流。没有 Jupyter 那种"代码 + 输出 + 说明混排成文档"的形态, 要写可复现的分析报告,Jupyter 更合适。
- 绘图是基础的。够用来看函数长什么样,不是出版级图表工具。
- 中文文档还不完整。八种语言的落地页有了,但深入的使用文档主要是英文。
什么时候它是对的选择:做推导要保持精确、 验算课本或论文里的结果、需要一个几 MB、 打开就用、不联网、不要账号的数学工具、 或者要把一个协议干净的符号引擎嵌进自己的程序里。