0.0.1 |
|
---|
#31 in #高级
130KB
2.5K SLoC
householder
高级线性代数例程的本地Rust库
lib.rs
:
Rust本地线性代数库
householder
的目标是开发一个高性能的Rust本地线性代数库,无需外部BLAS/Lapack链接或依赖。
该库处于早期阶段。核心数据结构已实现,功能正在持续添加。
householder
的核心是Matrix类型,它支持固定大小实现、动态大小实现,并专门针对向量。它对底层存储布局(即行或列主序)不可知,并支持具有任意跨度的布局。
矩阵上的代数运算使用类似于表达式模板的系统实现。添加矩阵或用标量乘以它们不会立即执行,而是创建一个新类型,该类型存储有关操作的信息。只有当用户请求评估时,所有操作才在一个单次遍历中执行,而不创建临时变量。
通过matrixmultiply crate实现矩阵-矩阵乘积。我们正在实现更高级的线性代数例程(例如LU、QR等)。但这些尚不可用。重点是实现具有与Lapack相竞争性能的现代分块多线程例程。
要了解更多关于householder
的信息,我们建议用户阅读以下信息。
依赖项
~4MB
~78K SLoC