#线性代数 #矩阵 #数值 #本地 #布局 #高级 #向量

已删除 householder

Rust本地高级线性代数库

0.0.1 2022年9月19日

#31 in #高级

BSD-3-Clause

130KB
2.5K SLoC

householder

高级线性代数例程的本地Rust库


lib.rs:

Rust本地线性代数库

householder的目标是开发一个高性能的Rust本地线性代数库,无需外部BLAS/Lapack链接或依赖。

该库处于早期阶段。核心数据结构已实现,功能正在持续添加。

householder的核心是Matrix类型,它支持固定大小实现、动态大小实现,并专门针对向量。它对底层存储布局(即行或列主序)不可知,并支持具有任意跨度的布局。

矩阵上的代数运算使用类似于表达式模板的系统实现。添加矩阵或用标量乘以它们不会立即执行,而是创建一个新类型,该类型存储有关操作的信息。只有当用户请求评估时,所有操作才在一个单次遍历中执行,而不创建临时变量。

通过matrixmultiply crate实现矩阵-矩阵乘积。我们正在实现更高级的线性代数例程(例如LU、QR等)。但这些尚不可用。重点是实现具有与Lapack相竞争性能的现代分块多线程例程。

要了解更多关于householder的信息,我们建议用户阅读以下信息。

依赖项

~4MB
~78K SLoC