JSPM

ndarray-gemm

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

Matrix multiplication for ndarrays

Package Exports

  • ndarray-gemm

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-gemm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ndarray-gemm

General matrix multiply for ndarrays. This is analogous to the BLAS level 3 routine xGEMM.

Note that while this implementation is correct, it is not yet very optimized. If someone wants to take over this project or suggest improvements, patches are welcome.

build status

Example

var zeros = require("zeros")
var ops = require("ndarray-ops")
var gemm = require("ndarray-gemm")

//Create 3 random matrices
var a = zeros([300, 400]) // a is 300 x 400
var b = zeros([400, 500]) // b is 400 x 500
var c = zeros([300, 500]) // c is 300 x 500

ops.random(a)
ops.random(b)
ops.random(c)

//Set c = a * b
gemm(c, a, b)

Install

Install using npm:

npm install ndarray-gemm

API

require("ndarray-gemm")(c, a, b[, alpha, beta])

Computes a generalized matrix multiplication. This sets:

c = alpha * a * b + beta * c
  • c is a [n,m] shape ndarray
  • a is a [n,p] shape ndarray
  • b is a [p,m] shape ndarray
  • alpha is a scalar weight which is applied to the product a * b
  • beta is a scalar weight applied to c when added back in

License

(c) 2013 Mikola Lysenko. MIT License