Peroxide
Pure Rust numeric library contains linear algebra, numerical analysis, statistics and machine learning tools with R, MATLAB, Python like macros.
Latest README version
Corresponding to 0.11.0
.
Pre-requisite
- Python module :
matplotlib
for plotting
Install
- Add next line to your
cargo.toml
= "0.11"
Module Structure
- src
- bin : For test some libraries
- lib.rs :
mod
andre-export
- macros : Macro files
- matlab_macro.rs : MATLAB like macro
- mod.rs
- r_macro.rs : R like macro
- ml : For machine learning (Beta)
- numerical : To do numerical things
- operation : To define general operations
- extra_ops.rs : Missing operations & Real Trait
- mut_ops.rs : Mutable operations
- mod.rs
- special : Wrapper for
special
crate- mod.rs
- function.rs : Special functions
- statistics : Statistical Tools
- structure : Fundamental data structures
- dataframe.rs : Not yet implemented
- dual.rs : Dual number system for automatic differentiation
- hyper_dual.rs : Hyper dual number system for automatic differentiation
- matrix.rs : Matrix
- multinomial.rs : For multinomial (Beta)
- mod.rs
- polynomial.rs : Polynomial
- vector.rs : Extra tools for
Vec<f64>
- util
- mod.rs
- api.rs : Matrix constructor for various language style
- non_macro.rs : Primordial version of macros
- pickle.rs : To handle
pickle
data structure - plot.rs : To draw plot (using
pyo3
) - print.rs : To print conveniently
- useful.rs : Useful utils to implement library
- writer.rs : More convenient write system
Documentation
There is Peroxide Gitbook
Example
Basic Runge-Kutta 4th order with basic plotting
extern crate peroxide;
use *;
// dy/dx = (5x^2 - y) / e^(x+y)
Basic Runge-Kutta 4th order with advanced plotting
extern crate peroxide;
use *;
Multi-Layer Perceptron (from scratch)
extern crate peroxide;
use *;
// x : n x L
// xb: n x (L+1)
// v : (L+1) x M
// a : n x M
// ab: n x (M+1)
// w : (M+1) x n
// wb: M x N
// y : n x N
// t : n x N
// dh: n x M
// do: n x N
Version Info
To see RELEASES.md
TODO
To see TODO.md