Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/athemathmo/rulinalg
A linear algebra library written in Rust
https://github.com/athemathmo/rulinalg
linear-algebra linear-algebra-library rust scientific-computing
Last synced: 3 days ago
JSON representation
A linear algebra library written in Rust
- Host: GitHub
- URL: https://github.com/athemathmo/rulinalg
- Owner: AtheMathmo
- License: mit
- Created: 2016-07-09T15:27:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-05-18T05:54:08.000Z (over 2 years ago)
- Last Synced: 2024-04-26T01:05:46.591Z (7 months ago)
- Topics: linear-algebra, linear-algebra-library, rust, scientific-computing
- Language: Rust
- Homepage: https://crates.io/crates/rulinalg
- Size: 1.99 MB
- Stars: 282
- Watchers: 16
- Forks: 59
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# rulinalg
*This library is no longer actively maintained*
[![Join the chat at https://gitter.im/rulinalg/Lobby](https://badges.gitter.im/rulinalg/Lobby.svg)](https://gitter.im/rulinalg/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/AtheMathmo/rulinalg.svg?branch=master)](https://travis-ci.org/AtheMathmo/rulinalg)
The crate is currently on [version 0.4.2](https://crates.io/crates/rulinalg).
Read the [API Documentation](https://athemathmo.github.io/rulinalg) 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](https://github.com/AtheMathmo/rusty-machine), a machine
learning library in Rust.#### Contributing
This project is currently [looking for contributors](CONTRIBUTING.md) of all capacities!
---
## Implementation
This project is implemented using [Rust](https://www.rust-lang.org/).
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](https://AtheMathmo.github.io/rulinalg/) - including example code.
### Installation
The library is most easily used with [cargo](http://doc.crates.io/guide.html). Simply include the following in your Cargo.toml file:
```toml
[dependencies]
rulinalg="0.4.2"
```And then import the library using:
```rust
#[macro_use]
extern crate rulinalg;
```Then import the modules and you're done!
```rust
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](https://AtheMathmo.github.io/rulinalg/).