#matrix #matrix-operations #basic #matrix-calculations

bin+lib matrix-math

A Rust library for Mathematical matrices

2 releases

0.1.1 May 19, 2024
0.1.0 May 19, 2024

#1275 in Math

MIT license

12KB
194 lines

Matrix-math

Build IconDocs IconVersion IconLicense Icon

A simple Rust library/CLI app that allows for basic work with mathematical Matrices.

Getting started

use matrix::prelude::*;

fn interactive_matrices_example() -> Result<(), Error> {
    let matrix1 = matrix(1, None, None);

    // By calling matrix2 with the length parameters of matrix1 like so. Doing the operations
    // unchecked is **SAFE**.
    let matrix2 = matrix(2, Some(matrix1.len()), Some(matrix1[0].len()));

    let sum = matrix_operation_unchecked(MatrixOperation::Addition, &matrix1, &matrix2);
    println!("Sum:\n{:#?}", sum);

    let diff = matrix_operation_unchecked(MatrixOperation::Subtraction, &matrix1, &matrix2);
    println!("Difference:\n{:#?}", diff);

    let product = matrix_operation_unchecked(MatrixOperation::Multiplication, &matrix1, &matrix2);
    println!("Product:\n{:#?}", product);

    Ok(())
}

fn main() -> Result<(), Error> {
    let args = Args::parse();

    if args.interactive {
        interactive_matrices_example()?;
    }

    Ok(())
}

Dependencies

~1.2–2MB
~36K SLoC