Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sparse Matrix Implementations

Pure-rust implementations of common matrix operations in sparse form. New implementations must adhere to the MatrixOp trait.

DictMatrix

A DOK implementation using Rust's HashMap, with fast insertion, reads and optimized multiplication. Recommended as an intermediate format or if frequent reads and writes are needed.

BTreeMatrix

A DOK implementation using Rust's BTreeMap, with stable and predictable reads and insertions. Recommended if a lower memory footprint is needed or if ordered access is desirable, such as column or row selection.

Has much better cache-locality than the HashMap implementation for repeated matrix-matrix multiplications.

DenseMatrix

A classic full vector of vectors matrix implementation, ideal for small matrices, high densities, comparative benchmarking and probabilistic testing of the other implementations.

All of the operations on DenseMatrix are implemented in the most naive way possible, with only cache-locality optimizations present.

Features

  • Randomized matrix generator
  • Comprehensive benchmarking
  • Full unit test coverage
  • Probabilistic Testing with the dense matrix implementation
  • Garanteed O(1) transposition for all 3 implementations.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages