化学方程式配平器

这是一个基于零空间Hilbert基配平化学方程式的求解器 :-D

目前大部分配平器都基于矩阵法,对于多解的化学方程式有可能反应物/生成物不分。 ChemBalancer 在矩阵法的基础上引入了Hilbert基,能给出满足条件的一组完整解基。同时 ChemBalancer 使用了自定义化学方程式解析器,支持 CH2=CH2Fe - e- == Fe3+Cu(en)2 2+ 等各种奇形怪状的化学式 :-P

• 使用 ==->作为分隔符
• 输入电荷时,为避免与下标冲突,请用一个空格分隔,例如 SO4 2-

试一试

实现细节

这是 我(划掉) AI 做的方程式求解器,灵感来源于 这篇论文

原论文使用 Wolfram Mathematica 调用基于 C++ 的 Normaliz 包求解 Hilbert 基来求解方程式,网络部署相对比较困难。为了避免从百草园重写到三味书屋,ChemBalancer 使用更易于实现的 Contejean–Devie 算法 ,牺牲了一些效率,但在作者给出的十来个测试方程式上表现一致。原作者代码在 这里,欢迎对比阅读。

如果你对手工配平方法背后的数学原理感兴趣,也可以参考 这篇科普