# ndarray-blas-level2

1.1.0 • Public • Published

# ndarray-blas-level2

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.

## Package Sidebar

### Install

`npm i ndarray-blas-level2`

### Repository

github.com/scijs/ndarray-blas-level2

122

1.1.0