Matrix applicative providing standard matrix operations Fork on Github
Check bundle size on bundlephobia
The documentation can be found in the /docs folder or at the url https://astuanax.github.io/funmatrix/ Or a json format of the docs: docs.json
Generate docs using: npm run jsdocs
An example repository with machinelearning algorithms can be found at the funml repository The funml repository has a NeuralNetwork, a Perceptron and a DecisionTree algorithm. The test folder contains an example solving the XOR problem with a Neural network, using Decisiontrees on the Iris database and a simple Perceptron using the sonar database
$ npm install @astuanax/funmatrix --save
// Create matrix
const m = Matrix.of([[1, 2], [3, 4]])
// Generate identity matrix
const I = m.identity() // [[1, 0], [0, 1]]
if(m.dot(I).equals(m)) {
console.log('Dot product with identity matrix returns the same matrix')
}0
There are 2 ways to instantiate a Matrix, though you should not use the new keyword.
Matrix.of
accepts both an array of arrays or a Matrix
const a = Matrix.of([[1, 2], [2, 3]]) // returns a Matrix
const b = Matrix.of(a) // returns a flattened Matrix from Matrix a
fromArray
returns an Matrix with a clone of the provided array
Matrix.fromArray([[1, 2], [2, 3]])
- map
- fold
- ap
- concat
- add - a scalar or a Matrix
- additiveinverse - multiply by -1
- clone - clone a Matrix
- combine - combine 2 Matrices together
- dimension - get the rank
- dot - Calculate dotproduct of 2 Matrices
- empty - Return an empty Matrix
- equals - check if the Matrix deep equals another Matrix
- fromArray - Creates a Matrix from an Array
- getCols - Get the columns of the Matrix
- getRows - Get the rows of a Matrix
- getShape - Get the shape of a Matrix
- hadamard - Multiply a matrix witha scalar or another matrix
- identity - Returns an identity Matrix
- inverse - Returns theinverse of a Matrix
- isOrthogonal - Boolean indicating orhogonality
- isSymmetric - Boolean indicating symmetry
- lu - Returns 2 Matrices, Lower and Upper Matrix decomposition
- multiply - Multiplies a Matrix with a scalar or another Matrix
- ones - Fills a Matrix with 1 values
- precision - REturns the precision of the calculations used in dot product
- random - Fills a Matrix with random values (accepts a function)
- rank - Returns the rank of a Matrix
- rref - Returns the Row Reduced Echelon form
- setPrecision - Allows to set the precision
- solve (for b) - Solves the equation ax = b
- toArray - Returns an array
- transpose - Returns a tranposed Matrix
- zeros - Fills the Matrix with 0 values
- determinant - Calculates the determinant usin LU decomposition