/vectorious

Linear algebra in TypeScript.

Primary LanguageTypeScriptMIT LicenseMIT

Vectorious Logo

A linear algebra library, written in TypeScript and accelerated with C++ bindings to BLAS and LAPACK.

Usage

Follow the installation instructions in nlapack and nblas to get maximum performance.

# with C++ bindings
$ npm install vectorious

# or, if you don't want C++ bindings
$ npm install vectorious --no-optional
import v = require('vectorious');

const x = v.random(2, 2);
/*
array([
  [
    0.26472008228302,
    0.4102575480937958
  ],
  [
    0.4068726599216461,
    0.4589384198188782
  ]
], dtype=float32)
*/

const y = v.range(0, 9).reshape(3, 3);
/*
array([
  [ 0, 1, 2 ],
  [ 3, 4, 5 ],
  [ 6, 7, 8 ]
], dtype=float32)
*/

const z = v.array([[1, 2], [3, 4]]);
/*
array([ [ 1, 2 ], [ 3, 4 ] ], dtype=float32)
*/

x.add(z);
/*
array([
  [
    1.26472008228302,
    2.410257577896118
  ],
  [
    3.4068727493286133,
    4.4589385986328125
  ]
], dtype=float32)
*/

Examples

Basic

Machine learning

Documentation

Benchmarks

Run benchmarks with

$ npm run benchmark