#线性代数 #矩阵 #整数 #ndarray #方阵 #LU分解

fractionfree

为ndarray提供无分数线性代数

4个版本

0.1.3 2024年4月15日
0.1.2 2024年4月14日
0.1.1 2024年4月14日
0.1.0 2024年4月14日

#773 in 数学

Download history 137/week @ 2024-04-15 5/week @ 2024-05-20 1/week @ 2024-06-03

91 每月下载量

自定义许可

22KB
382

无分数线性代数

有关详细信息,请参阅文档

此代码根据Hippocratic License Version 3.0许可。有关详细信息,请参阅许可,或单击徽章

Hippocratic License HL3-ECO-EXTR-LAW-MEDIA-MIL-SV


lib.rs:

为[ndarray]提供具有最小trait界限的无分数线性代数。

此库提供线性代数原语,可以在不进行精确除法的情况下工作。有时,这被称为“整数保持”线性代数,因为所有中间结果都保留为整数。技巧是将具有有理项的矩阵A表示为乘积D^(-1)B,其中D是对角线,而DB都只有整数项。目前,

已实现。

放置在矩阵项类型上的trait界限尽可能宽松,因此此库原则上适用于每个整环。然而,各种原始整数类型是激励示例和主要预期用途。特别是,所有函数都需要矩阵项为[Copy]。

这里的所有内容都是基于从Dureisseix的论文《具有核提取的奇异系统的广义无分数LU分解》中提取的算法,该算法计算无分数LU分解。然而,论文中的“奇异”和“核提取”部分尚未实现:目前,这个库只能解决具有唯一解的系统。这足以计算方阵的逆(如果存在),这也是最初的动机。

使用纯Rust编写,依赖性很少,优化也很少,如果您不想使用专用硬件或平台限制,并且矩阵不是非常大,那么这个库适合您。

依赖项

~1.5MB
~26K SLoC