Skip to content

victor-yacovlev/erlynum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

erlynum

A library for Erlang/OTP (and Elixir language) of numerical routines on
single and double-precision real and complex number vectors and matrices.

Overview

The library provides a generic plain arrays support for Erlang. These arrays might have a 'view' of vector (1-dimension) or matrix (2-dimension).

The most common operations to be supported {TODO}: summ, axpy, scale, cdot etc.

These operations mostly implemented using BLAST backend library (required at runtime) to achieve possible utilization of SIMD instructions and gain the best performance.

The following BLAS backends are supported:

  • Open Source:
  • Non-Open Source:
    • Intel Math Kernel Library - extremely optimized for modern Intel processors. There is free version available for non-commercial use.

Status

The software is at early development stage now. At present it allows to create vectors and matrices, and perform some BLAS Level 1 operations.

The future development (in order of priority):

  • Complete set of vector operations conforming to BLAS Level 1
  • Matrix to vector and vector to matrix operations (BLAS Level 2)
  • Matrix to matrix operations (BLAS Level 3)
  • Element-wise common math functions
  • Random values vector generations for several distributions
  • Common statistical functions (1-dimension and 2-dimension)
  • Something else. The final goal is to gain about NumPy functionality.

Prerequirements

  • Erlang/OTP >= 18
  • rebar3 (preferred) or rebar make tool
  • Modern GNU C Compliler (gcc) to build module itself
  • One of the cBLAS-interface libraries available at runtime (not required to build)

Build

$ rebar3 compile edoc

or

$ rebar compile

API Reference

Build with edoc (supported by rebar3) and use it!

About

A library for Erlang/OTP (and Elixir language) of numerical routines on single and double-precision real and complex number vectors and matrices

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published