All Projects → AtheMathmo → Rulinalg

AtheMathmo / Rulinalg

Licence: mit
A linear algebra library written in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Rulinalg

bandicoot-code
Bandicoot: GPU accelerator add-on for the Armadillo C++ linear algebra library
Stars: ✭ 21 (-91.5%)
Mutual labels:  linear-algebra, scientific-computing
Cpp-Examples
Numerical C++ examples.
Stars: ✭ 38 (-84.62%)
Mutual labels:  linear-algebra, scientific-computing
Julia-data-science
Data science and numerical computing with Julia
Stars: ✭ 54 (-78.14%)
Mutual labels:  linear-algebra, scientific-computing
NAGPythonExamples
Examples and demos showing how to call functions from the NAG Library for Python
Stars: ✭ 46 (-81.38%)
Mutual labels:  linear-algebra, scientific-computing
Owl
Owl - OCaml Scientific and Engineering Computing @ http://ocaml.xyz
Stars: ✭ 919 (+272.06%)
Mutual labels:  linear-algebra, scientific-computing
Peroxide
Rust numeric library with R, MATLAB & Python syntax
Stars: ✭ 191 (-22.67%)
Mutual labels:  linear-algebra, scientific-computing
Tensor
A library and extension that provides objects for scientific computing in PHP.
Stars: ✭ 146 (-40.89%)
Mutual labels:  linear-algebra, scientific-computing
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (-32.79%)
Mutual labels:  linear-algebra, scientific-computing
Armadillo Code
Armadillo: fast C++ library for linear algebra & scientific computing - http://arma.sourceforge.net
Stars: ✭ 388 (+57.09%)
Mutual labels:  linear-algebra, scientific-computing
Simpeg
Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications.
Stars: ✭ 283 (+14.57%)
Mutual labels:  linear-algebra, scientific-computing
Gosl
Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.
Stars: ✭ 1,629 (+559.51%)
Mutual labels:  linear-algebra, scientific-computing
Nasoq
NASOQ:Numerically Accurate Sparsity Oriented QP Solver
Stars: ✭ 30 (-87.85%)
Mutual labels:  linear-algebra, scientific-computing
Phpsci Carray
PHP library for scientific computing powered by C
Stars: ✭ 176 (-28.74%)
Mutual labels:  linear-algebra, scientific-computing
Stdlib
✨ Standard library for JavaScript and Node.js. ✨
Stars: ✭ 2,749 (+1012.96%)
Mutual labels:  scientific-computing
Sundials
SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This is a mirror of current releases, and development will move here eventually. Pull requests are welcome for bug fixes and minor changes.
Stars: ✭ 194 (-21.46%)
Mutual labels:  scientific-computing
Findiff
Python package for numerical derivatives and partial differential equations in any number of dimensions.
Stars: ✭ 191 (-22.67%)
Mutual labels:  scientific-computing
Reprozip
ReproZip is a tool that simplifies the process of creating reproducible experiments from command-line executions, a frequently-used common denominator in computational science.
Stars: ✭ 231 (-6.48%)
Mutual labels:  scientific-computing
Pysph
A framework for Smoothed Particle Hydrodynamics in Python
Stars: ✭ 223 (-9.72%)
Mutual labels:  scientific-computing
Compute.scala
Scientific computing with N-dimensional arrays
Stars: ✭ 191 (-22.67%)
Mutual labels:  scientific-computing
Collapse
Advanced and Fast Data Transformation in R
Stars: ✭ 184 (-25.51%)
Mutual labels:  scientific-computing

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].