mathjs
Version:
Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif
62 lines (61 loc) • 2.12 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createSparse = void 0;
var _factory = require("../../../utils/factory.js");
const name = 'sparse';
const dependencies = ['typed', 'SparseMatrix'];
const createSparse = exports.createSparse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, _ref => {
let {
typed,
SparseMatrix
} = _ref;
/**
* Create a Sparse Matrix. The function creates a new `math.Matrix` object from
* an `Array`. A Matrix has utility functions to manipulate the data in the
* matrix, like getting the size and getting or setting values in the matrix.
* Note that a Sparse Matrix is always 2-dimensional, so for example if
* you create one from a plain array of _n_ numbers, you get an _n_ by 1
* Sparse "column vector".
*
* Syntax:
*
* math.sparse() // creates an empty sparse matrix.
* math.sparse(data) // creates a sparse matrix with initial data.
* math.sparse(data, 'number') // creates a sparse matrix with initial data, number datatype.
*
* Examples:
*
* let m = math.sparse([[1, 2], [3, 4]])
* m.size() // Array [2, 2]
* m.resize([3, 2], 5)
* m.valueOf() // Array [[1, 2], [3, 4], [5, 5]]
* m.get([1, 0]) // number 3
* let v = math.sparse([0, 0, 1])
* v.size() // Array [3, 1]
* v.get([2, 0]) // number 1
*
* See also:
*
* bignumber, boolean, complex, index, number, string, unit, matrix
*
* @param {Array | Matrix} [data] A two dimensional array
*
* @return {Matrix} The created matrix
*/
return typed(name, {
'': function () {
return new SparseMatrix([]);
},
string: function (datatype) {
return new SparseMatrix([], datatype);
},
'Array | Matrix': function (data) {
return new SparseMatrix(data);
},
'Array | Matrix, string': function (data, datatype) {
return new SparseMatrix(data, datatype);
}
});
});
;