AtheMathmo/rulinalg

A linear algebra library written in Rust

Rust

292

91 commits

updated May 18, 2022

See the code

README

rulinalg

This library is no longer actively maintained

Join the chat at https://gitter.im/rulinalg/Lobby Build Status

The crate is currently on version 0.4.2.

Read the API Documentation to learn more.


Summary

Rulinalg is a linear algebra library written in Rust that doesn't require heavy external dependencies.

The goal of rulinalg is to provide efficient implementations of common linear algebra techniques in Rust.

Rulinalg was initially a part of rusty-machine, a machine learning library in Rust.

Contributing

This project is currently looking for contributors of all capacities!


Implementation

This project is implemented using Rust.

Currently the library does not make use of any external dependencies - though hopefully we will have BLAS/LAPACK bindings soon.


Usage

The library usage is described well in the API documentation - including example code.

Installation

The library is most easily used with cargo. Simply include the following in your Cargo.toml file:

[dependencies]
rulinalg="0.4.2"

And then import the library using:

#[macro_use]
extern crate rulinalg;

Then import the modules and you're done!

use rulinalg::matrix::Matrix;

// Create a 2x2 matrix:
let a = Matrix::new(2, 2, vec![
    1.0, 2.0,
    3.0, 4.0,
]);

// Create a 2x3 matrix:
let b = Matrix::new(2, 3, vec![
    1.0, 2.0, 3.0,
    4.0, 5.0, 6.0,
]);

let c = &a * &b; // Matrix product of a and b

// Construct the product of `a` and `b` using the `matrix!` macro:
let expected = matrix![9.0, 12.0, 15.0;
                       19.0, 26.0, 33.0];

// Test for equality:
assert_matrix_eq!(c, expected);

More detailed coverage can be found in the API documentation.

linear-algebra
linear-algebra-library
rust
scientific-computing

Contributors

AtheMathmo

38 commits

Andlon

15 commits

sinhrks

10 commits

regexident

6 commits

AtheMathmo/rulinalg

A linear algebra library written in Rust

Rust

292

91 commits

updated May 18, 2022

See the code

README

rulinalg

This library is no longer actively maintained

Join the chat at https://gitter.im/rulinalg/Lobby Build Status

The crate is currently on version 0.4.2.

Read the API Documentation to learn more.


Summary

Rulinalg is a linear algebra library written in Rust that doesn't require heavy external dependencies.

The goal of rulinalg is to provide efficient implementations of common linear algebra techniques in Rust.

Rulinalg was initially a part of rusty-machine, a machine learning library in Rust.

Contributing

This project is currently looking for contributors of all capacities!


Implementation

This project is implemented using Rust.

Currently the library does not make use of any external dependencies - though hopefully we will have BLAS/LAPACK bindings soon.


Usage

The library usage is described well in the API documentation - including example code.

Installation

The library is most easily used with cargo. Simply include the following in your Cargo.toml file:

[dependencies]
rulinalg="0.4.2"

And then import the library using:

#[macro_use]
extern crate rulinalg;

Then import the modules and you're done!

use rulinalg::matrix::Matrix;

// Create a 2x2 matrix:
let a = Matrix::new(2, 2, vec![
    1.0, 2.0,
    3.0, 4.0,
]);

// Create a 2x3 matrix:
let b = Matrix::new(2, 3, vec![
    1.0, 2.0, 3.0,
    4.0, 5.0, 6.0,
]);

let c = &a * &b; // Matrix product of a and b

// Construct the product of `a` and `b` using the `matrix!` macro:
let expected = matrix![9.0, 12.0, 15.0;
                       19.0, 26.0, 33.0];

// Test for equality:
assert_matrix_eq!(c, expected);

More detailed coverage can be found in the API documentation.

linear-algebra
linear-algebra-library
rust
scientific-computing

Contributors

AtheMathmo

38 commits

Andlon

15 commits

sinhrks

10 commits

regexident

6 commits

Languages

Rust

100.0%