0.1.0-beta.0 • Published 1 year ago

@nippunsharma/linalg v0.1.0-beta.0

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
1 year ago

@webml/linalg is a linear algebra library for the browser based on armadillo.

@webml/linalg uses Web Assembly to run armadillo code (in C++) in the browser.

Steps to install.

This library can be installed directly via npm:

npm install @webml/linalg

Basic usage.

import { Matrix } from "@webml/linalg";

async getMatrix() {
  const A: Matrix<number> = new Matrix<number>({ n_rows: 2, n_cols: 2 }, "float");
  await A.init();
  return A;
}

const A = await getMatrix();
A.funcFill((i, j) => i + j); // fill matrix A.
const B = A.t(); // transpose of A.

console.log(A.toString());
console.log(B.toString());

Steps to build.

  1. Clone github repo.
git clone --recurse-submodules https://github.com/NippunSharma/webml-linalg
  1. Move to project dir.
cd webml-linalg
mkdir -p build
  1. Build clapack object files first.
make clapack
  1. Build webml_linalg.wasm binary along with webml_linalg.js.
make webml_linalg
  1. Now, generate the dist dir.
npm run build

Alternatively, you can directly execute npm run build and it will use the pre-existing binary file in resources/. However, if anything is changed in src/embind, it is recommended to rebuild the binary.