Skip to content

module matrixy.API

ThomWright edited this page Feb 1, 2015 · 7 revisions

Module: matrixy

matrixy

API for dealing with matrices as wrapped functions.

Source:

Namespaces

setter

Methods

<static> copy(matrix) → {module:matrixy.Matrix}

Return a copy of the given Matrix.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
module:matrixy.Matrix

<static> createBlankMatrix(size) → {module:matrixy.Matrix}

Create a blank module:matrixy.Matrix of the given size.

Parameters:
Name Type Description
size Integer
Source:
Returns:
Type
module:matrixy.Matrix

<static> createIdentityMatrix(size) → {module:matrixy.Matrix}

Create an identity module:matrixy.Matrix of the given size.

Parameters:
Name Type Description
size Integer
Source:
Returns:
Type
module:matrixy.Matrix

<static> createImmutableMatrix(arrays) → {module:matrixy.Matrix}

Create an immutable module:matrixy.Matrix from a 2D array. All module:matrixy.MatrixOperations will be performed on a copy of the 2D array.

Parameters:
Name Type Description
arrays !Array.<Array.<Number>>
Source:
Returns:
Type
module:matrixy.Matrix

<static> createMatrix(arrays) → {module:matrixy.Matrix}

Create a module:matrixy.Matrix from a 2D array.

Parameters:
Name Type Description
arrays !Array.<Array.<Number>>

2D array

Source:
Returns:
Type
module:matrixy.Matrix

<static> decompose(matrix) → {LUP}

Decompose this matrix into an LU pair.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
See:
Returns:
Type
LUP

<static> determinantOf(matrix) → {Number}

Return the determinant of the given module:matrixy.Matrix.

Parameters:
Name Type Description
matrix module:matrixy.Matrix

Square matrix

Source:
Returns:
Type
Number

<static> dividedBy(matrix) → {module:matrixy.MatrixOperation}

Infix function to divide a Matrix by another

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
module:matrixy.MatrixOperation
Example
c = a(dividedBy(b)); // JavaScript
c = a dividedBy b # CoffeeScript

<static> get(row, col) → {Number}

Get an entry in the matrix at position (row, col).

Parameters:
Name Type Description
row Integer
col Integer
Source:
Returns:
Type
Number

<static> getDimensionsOf(matrix) → {Array.<Integer>}

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
See:
Returns:

e.g. [2, 3] for a 2x3 matrix

Type
Array.<Integer>

<static> innerArraysOf(matrix) → {Array.<Array.<Number>>}

Get the wrapped 2D arrays of a module:matrixy.Matrix

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
Array.<Array.<Number>>

<static> invert(matrix) → {module:matrixy.Matrix}

Return an inverted version of the given module:matrixy.Matrix.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:

Inverted matrix.

Type
module:matrixy.Matrix

<static> isInvertible(matrix) → {Boolean}

Is it possible to invert the given 2D array?

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
Boolean

<static> isLowerTriangular(matrix) → {Boolean}

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
See:
Returns:
Type
Boolean

<static> isUpperTriangular(matrix) → {Boolean}

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
See:
Returns:
Type
Boolean

<static> minus(matrix) → {module:matrixy.MatrixOperation}

Infix function to subtract a Matrix from another

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
module:matrixy.MatrixOperation
Example
c = a(minus(b)); // JavaScript
c = a minus b # CoffeeScript

<static> numOfColsOf(matrix) → {Number}

Get the number of columns in the given matrix.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
Number

<static> numOfRowsOf(matrix) → {Number}

Get the number of rows in the given matrix.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
Number

<static> plus(matrix) → {module:matrixy.MatrixOperation}

Infix function to add two Matrices.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
module:matrixy.MatrixOperation
Example
c = a(plus(b)); // JavaScript
c = a plus b # CoffeeScript

<static> set(row, col) → {module:matrixy~setter}

Set an entry in the matrix to a given value.

Parameters:
Name Type Description
row Integer
col Integer
Source:
Returns:
Type
module:matrixy~setter

<static> sizeOf(matrix) → {String}

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
See:
Returns:
Type
String

<static> solve(A, b) → {module:matrixy.Matrix}

Solve the matrix equation Ax = b for x with matrix size N.

Parameters:
Name Type Description
A module:matrixy.Matrix

NxN

b module:matrixy.Matrix

Nx1

Source:
See:
Returns:

Nx1

Type
module:matrixy.Matrix

<static> times(matrix) → {module:matrixy.MatrixOperation}

Infix function to multiply two Matrices.

Parameters:
Name Type Description
matrix module:matrixy.Matrix | Number
Source:
Returns:
Type
module:matrixy.MatrixOperation
Example
c = a(times(b)); // JavaScript
c = a times b # CoffeeScript

<static> transpose(matrix) → {module:matrixy.Matrix}

Return a transposed version of the given module:matrixy.Matrix.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:

Transposed matrix.

Type
module:matrixy.Matrix

Type Definitions

LUP

Type:
  • object
Properties:
Name Type Description
l module:matrixy.Matrix

Lower triangular matrix.

u module:matrixy.Matrix

Upper triangular matrix.

p module:matrixy.Matrix

Permutation matrix.

Source:

Matrix(op) → {Array.<Array.<Number>>|*}

A Matrix. Can be given a module:matrixy.MatrixOperation.

Parameters:
Name Type Argument Description
op module:matrixy.MatrixOperation <optional>
Source:
Returns:

Internal 2D array if no params given, else result of op.

Type
Array.<Array.<Number>> | *

MatrixOperation(matrix) → {*}

Operation on a module:matrixy.Matrix.

Parameters:
Name Type Description
matrix module:matrixy.Matrix
Source:
Returns:
Type
*

Generated with wicked.

Clone this wiki locally