Skip to content

A collection of useful mathematical functions in Elixir with a slant towards statistics, linear algebra and machine learning

License

Notifications You must be signed in to change notification settings

safwank/Numerix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Numerix

A collection of useful mathematical functions in Elixir with a slant towards statistics, linear algebra and machine learning.

Installation

Add numerix to your list of dependencies in mix.exs:

  def deps do
    [{:numerix, "~> 0.6"}]
  end

Ensure numerix and its dependencies are started before your application:

  def application do
    [applications: [:numerix, :gen_stage, :flow]]
  end

Examples

Check out the tests for examples.

Documentation

Check out the API reference for the latest documentation.

Features

Tensor API

Numerix now includes a Tensor API that lets you implement complex math functions with little code, similar to what you get from numpy. And since Numerix is written in Elixir, it uses Flow to run independent pieces of computation in parallel to speed things up. Depending on the type of calculations you're doing, the bigger the data and the more cores you have, the faster it gets.

NOTE: Parallelization can only get you so far. In terms of raw speed, a pure Elixir solution will always be much slower compared to one that leverages low-level routines like BLAS or similar.

Statistics

  • Mean
  • Weighted mean
  • Median
  • Mode
  • Range
  • Variance
  • Population variance
  • Standard deviation
  • Population standard deviation
  • Moment
  • Kurtosis
  • Skewness
  • Covariance
  • Weighted covariance
  • Population covariance
  • Quantile
  • Percentile

Correlation functions

  • Pearson
  • Weighted Pearson

Distance functions

  • Mean squared error (MSE)
  • Root mean square error (RMSE)
  • Pearson
  • Minkowski
  • Euclidean
  • Manhattan
  • Jaccard

General math functions

  • nth root

Special functions

  • Logit
  • Logistic

Window functions

  • Gaussian

Linear algebra

  • Dot product
  • L1-norm
  • L2-norm
  • p-norm
  • Vector subtraction and multiplication

Linear regression

  • Least squares best fit
  • Prediction
  • R-squared

Kernel functions

  • RBF

Optimization

  • Genetic algorithms

Neural network activation functions

  • softmax
  • softplus
  • softsign
  • sigmoid
  • ReLU, leaky ReLU, ELU and SELU
  • tanh

About

A collection of useful mathematical functions in Elixir with a slant towards statistics, linear algebra and machine learning

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages