5 unstable releases
0.2.0 | May 30, 2024 |
---|---|
0.1.0 | May 11, 2024 |
0.0.3 | Feb 13, 2024 |
0.0.1 | Dec 31, 2023 |
0.0.0 | Dec 31, 2023 |
#1669 in Algorithms
Used in 3 crates
56KB
965 lines
gmatlib - Grant's Matrix Algebra Library
Defines a Matrix<T>
struct for numeric types and implements several useful functions for matrix algebra purposes.
The source here contains a number of extern "C"
functions for exposing the types and functions to other languages
as well.
The Matrix<T>
type is simple, consisting of one contiguous piece of memory to reduce indirection and reduce
the number of allocations needed to construct the matrix.
Example
use gmatlib::{Matrix, row_vec};
// Create a matrix with 3 columns
let a: Matrix<i32> = Matrix::from_vec(
3,
vec![1, 2, 3,
4, 5, 6,
7, 8, 9]
).unwrap();
// Matrices support appropriate binary operations
let b = row_vec![0_i32, 1_i32, 0_i32] * (a * 3);
// ...and concise indexing
assert_eq!(
b[(0, 1)],
15
);
Dependencies
~200–285KB