JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 46888
  • Score
    100M100P100Q181698F
  • License MIT

BLAS Level 1 operations for ndarrays

Package Exports

  • ndarray-blas-level1

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ndarray-blas-level1) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ndarray-blas-level1

Build Status npm version

BLAS Level 1 operations for ndarrays

A quick note on why this exists: The goal is not to reinvent the wheel. There are lots of implementations of BLAS out there. Even for JS. There's a nodejs wrapper for LAPACK. Depending on what you need, maybe you should use that. The goal of this is to bring standardized BLAS operations to ndarrays so that algorithms can be made as future-resistant as possible by writing them in terms of standardized, easily-translatable operations.

Usage

This library implements the basic vector operations of the Level 1 Basic Linear Algebra Subprograms (BLAS). Many of these functions are also implemented in ndarray-ops—which also has functions that are not included in BLAS. So the right answer is probably some blend of the two. This library exists mainly to frame things in a relatively standard, coherent framework.

NB: This library performs no checks to ensure you're only passing one-dimensional vectors. That's either a bug or a feature, depending on how you think about it. If you pass these operations a matrix or higher-dimensional array, they will be treated as vectors.

Function Operation Description
swap(x,y) swap Swap the elements of x and y
scal(alpha,x) scal Multiple vector x by scalar alpha
copy(x,y) copy Copy x into y
axpy(alpha, x, y) axpy Multiple x by alpha and add it to y
cpsc(alpha, x, y) cpsc Multiply x by alpha and assign it to y
dot(x,y) dot Calculate the inner product of x and y.
nrm2(x) nrm2 Calculate the 2-norm of x
asum(x) asum Calculate the 1-norm of x
iamax(x) Not yet implemented

Example

Usage should be pretty straightforward. There aren't really any options or variations.

var blas1 = require('ndarray-blas-level1');

var x = ndarray([1,2,3]);
var y = ndarray([3,4,5]);

blas1.axpy( 2, x, y );

Credits

(c) 2015 Ricky Reusser. MIT License