scijs / ndarray-blas-level2

BLAS Level 2 operations for ndarrays
MIT License
9 stars 2 forks source link

ndarray-blas-level2

Build Status npm version Dependency Status

BLAS Level 2 operations for ndarrays

Usage

This library implements the basic matrix-vector operations of the Level 2 Basic Linear Algebra Subprograms (BLAS).

Note: It's possible to accomplish the lower triangular functions with the upper triangular version plus flipping and unflipping dimensions, but that's a little convoluted. Instead, the lower triangular versions are suffixed with _lower just to keep it really simple.

gemv(alpha, A, x, beta, y)

Calculate y <- alpha*A*x + beta*y

trmv(A, x, isLower)

Calculate x <- A*x for the upper triangular matrix A. Data below the diagonal is ignored. If isLower is true, uses the lower triangular portion of A instead.

trsv(A, x, isLower)

Calculate x <- A^-1 x for the upper triangular matrix A. Data below the diagonal is ignored. If isLower is true, uses the lower triangular portion of A instead.

gbmv(A, kl, ku, x, y, alpha, beta)

Calculates y <- alpha*A*x + beta*y for banded matrices. kl is the number of subdiagonals and ku are the number of super diagonals. alpha defaults to 1.0 and beta defaults to 0.0 if not specified.

symv(A, x, y, fromLower, alpha, beta)

Calculates y <- alpha*A*x + beta*y for symmetric matrices. If fromLower = true, the function uses the lower triangular part of the matrix; for false it uses the upper triangular part. alpha defaults to 1.0 and beta defaults to 0.0 if not specified.

Credits

© 2016 Scijs Authors. MIT License.