mematrica Package Documentation

mematrica_logo

an easy to use library for working with matrices.

Features

Usage

toml [dependencies] mematrica = "0.1.8"

Examples

```rust extern crate mematrica;

use mematrica::*;

fn main() { let mut matrix_2x2 = Matrix2::new(1, 2, 3, 4); // creates a matrix 2x2 with elements 1, 2, 3, 4

let double = matrix_2x2 * 2; // multiplies matrix on 2

assert_eq!(vec![vec![2, 4], vec![6, 8]], double.get_elements());

} ```

Using from_vec()

```rust extern crate mematrica;

use mematrica::*;

fn main() { let matrix2x2 = Matrix2::fromvecasrows(vec![1, 2]);

assert_eq!(vec![vec![1, 2], vec![1, 2]], matrix_2x2.get_elements());

} ```

tofile() & fromfile() example

```rust extern crate mematrica;

use mematrica::*;

fn main() { let m = Matrix2::new(1, 2, 3, 4); m.to_file(String::from("./src/bin/file.txt"), ',');

let q = Matrix2::<i32>::from_file(String::from("./src/bin/file.txt"), ',');

assert_eq!(vec![vec![1, 2], vec![3, 4]], q.get_elements());

} ```

Other ways to create matrix

Get element by index

```rust extern crate mematrica;

use mematrica::*;

fn main() { let mut matrix_2x2 = Matrix2::new(1, 2, 3, 4);

assert_eq!(1, matrix_2x2[(0, 0)]);

// change element
matrix[(0, 0)] = 2;
assert_eq!(2, matrix_2x2[(0, 0)]);

} ```

Elementary operations

```rust extern crate mematrica;

use mematrica::*;

fn main() { let m1 = CMatrix::fromelement(2, 2, 4); let m2 = Matrix2::fromelement(2);

assert_eq!(vec![vec![16, 16], vec![16, 16]], (m1*m2).get_elements()); //also can use '+' '-'

} ```

You can find more examples in examples folder