7个版本

0.1.6 2022年7月27日
0.1.5 2021年2月24日
0.1.4 2020年10月29日
0.1.2 2020年9月28日

#819 in 数学

MIT许可协议

85KB
2K SLoC

抽象代数

Build Status Crate Documentation GitHub

这是一个用于在Rust中进行抽象代数计算的工具包。与其他实现不同,元素并不知道它们属于哪个代数结构,所以所有操作都是通过代数对象来执行。例如,在模6的模算术环中计算,元素仍然是原始的i32值,只有商环存储值6。这允许将许多这样的元素有效地放入多项式或矩阵中,因为这种公共值只需要在代数中存储一次。另一个好处是矩阵以简单的向量形式存储,只有矩阵代数需要知道矩阵的形状。

所有素元域都可以通过将整数环除以一个素数来构造,或者直接在布尔值集合上使用2元素域。所有有限域都可以通过形成素域上的多项式环然后除以不可约多项式来构造。所有有限布尔代数都可以作为2元素布尔代数的直积来构造。对于欧几里得域(如整数环和域上的多项式环),可以构造具有分配格运算的除法序(在关联类集合上)。可以在域上形成矩形矩阵环。可以在任何域上形成可逆矩阵的线性群和单位行列式的特殊线性群。

依赖项

~475KB