11 KiB
SparseMatrix
Sparse Matrix implementation. This type implements a Compressed Column Storage format for sparse matrices.
- instance
- .storage() ⇒
string
- .datatype() ⇒
string
- .create(data, [datatype])
- .density() ⇒
number
- .subset(index, [replacement], [defaultValue])
- .get(index) ⇒
*
- .set(index, value, [defaultValue]) ⇒
SparseMatrix
- .resize(size, [defaultValue], [copy]) ⇒
Matrix
- .clone() ⇒
SparseMatrix
- .size() ⇒
Array.<number>
- .map(callback, [skipZeros]) ⇒
SparseMatrix
- .forEach(callback, [skipZeros])
- .toArray() ⇒
Array
- .valueOf() ⇒
Array
- .format([options]) ⇒
string
- .toString() ⇒
string
- .toJSON() ⇒
Object
- .diagonal([k]) ⇒
Matrix
- .swapRows(i, j) ⇒
Matrix
- .storage() ⇒
- static
sparseMatrix.storage() ⇒ string
Get the storage format used by the matrix.
Usage:
const format = matrix.storage() // retrieve storage format
Kind: instance method of SparseMatrix
Returns: string
- The storage format.
sparseMatrix.datatype() ⇒ string
Get the datatype of the data stored in the matrix.
Usage:
const format = matrix.datatype() // retrieve matrix datatype
Kind: instance method of SparseMatrix
Returns: string
- The datatype.
sparseMatrix.create(data, [datatype])
Create a new SparseMatrix
Kind: instance method of SparseMatrix
Param | Type |
---|---|
data | Array |
[datatype] | string |
sparseMatrix.density() ⇒ number
Get the matrix density.
Usage:
const density = matrix.density() // retrieve matrix density
Kind: instance method of SparseMatrix
Returns: number
- The matrix density.
sparseMatrix.subset(index, [replacement], [defaultValue])
Get a subset of the matrix, or replace a subset of the matrix.
Usage:
const subset = matrix.subset(index) // retrieve subset
const value = matrix.subset(index, replacement) // replace subset
Kind: instance method of SparseMatrix
Param | Type | Default | Description |
---|---|---|---|
index | Index |
||
[replacement] | Array | Maytrix | * |
||
[defaultValue] | * |
0 |
Default value, filled in on new entries when the matrix is resized. If not provided, new matrix elements will be filled with zeros. |
sparseMatrix.get(index) ⇒ *
Get a single element from the matrix.
Kind: instance method of SparseMatrix
Returns: *
- value
Param | Type | Description |
---|---|---|
index | Array.<number> |
Zero-based index |
sparseMatrix.set(index, value, [defaultValue]) ⇒ SparseMatrix
Replace a single element in the matrix.
Kind: instance method of SparseMatrix
Returns: SparseMatrix
- self
Param | Type | Description |
---|---|---|
index | Array.<number> |
Zero-based index |
value | * |
|
[defaultValue] | * |
Default value, filled in on new entries when the matrix is resized. If not provided, new matrix elements will be set to zero. |
sparseMatrix.resize(size, [defaultValue], [copy]) ⇒ Matrix
Resize the matrix to the given size. Returns a copy of the matrix when
copy=true
, otherwise return the matrix itself (resize in place).
Kind: instance method of SparseMatrix
Returns: Matrix
- The resized matrix
Param | Type | Default | Description |
---|---|---|---|
size | Array.<number> |
The new size the matrix should have. | |
[defaultValue] | * |
0 |
Default value, filled in on new entries. If not provided, the matrix elements will be filled with zeros. |
[copy] | boolean |
Return a resized copy of the matrix |
sparseMatrix.clone() ⇒ SparseMatrix
Create a clone of the matrix
Kind: instance method of SparseMatrix
Returns: SparseMatrix
- clone
sparseMatrix.size() ⇒ Array.<number>
Retrieve the size of the matrix.
Kind: instance method of SparseMatrix
Returns: Array.<number>
- size
sparseMatrix.map(callback, [skipZeros]) ⇒ SparseMatrix
Create a new matrix with the results of the callback function executed on each entry of the matrix.
Kind: instance method of SparseMatrix
Returns: SparseMatrix
- matrix
Param | Type | Description |
---|---|---|
callback | function |
The callback function is invoked with three parameters: the value of the element, the index of the element, and the Matrix being traversed. |
[skipZeros] | boolean |
Invoke callback function for non-zero values only. |
sparseMatrix.forEach(callback, [skipZeros])
Execute a callback function on each entry of the matrix.
Kind: instance method of SparseMatrix
Param | Type | Description |
---|---|---|
callback | function |
The callback function is invoked with three parameters: the value of the element, the index of the element, and the Matrix being traversed. |
[skipZeros] | boolean |
Invoke callback function for non-zero values only. |
sparseMatrix.toArray() ⇒ Array
Create an Array with a copy of the data of the SparseMatrix
Kind: instance method of SparseMatrix
Returns: Array
- array
sparseMatrix.valueOf() ⇒ Array
Get the primitive value of the SparseMatrix: a two dimensions array
Kind: instance method of SparseMatrix
Returns: Array
- array
sparseMatrix.format([options]) ⇒ string
Get a string representation of the matrix, with optional formatting options.
Kind: instance method of SparseMatrix
Returns: string
- str
Param | Type | Description |
---|---|---|
[options] | Object | number | function |
Formatting options. See lib/utils/number:format for a description of the available options. |
sparseMatrix.toString() ⇒ string
Get a string representation of the matrix
Kind: instance method of SparseMatrix
Returns: string
- str
sparseMatrix.toJSON() ⇒ Object
Get a JSON representation of the matrix
Kind: instance method of SparseMatrix
sparseMatrix.diagonal([k]) ⇒ Matrix
Get the kth Matrix diagonal.
Kind: instance method of SparseMatrix
Returns: Matrix
- The matrix vector with the diagonal values.
Param | Type | Default | Description |
---|---|---|---|
[k] | number | BigNumber |
0 |
The kth diagonal where the vector will retrieved. |
sparseMatrix.swapRows(i, j) ⇒ Matrix
Swap rows i and j in Matrix.
Kind: instance method of SparseMatrix
Returns: Matrix
- The matrix reference
Param | Type | Description |
---|---|---|
i | number |
Matrix row index 1 |
j | number |
Matrix row index 2 |
SparseMatrix.fromJSON(json) ⇒ SparseMatrix
Generate a matrix from a JSON object
Kind: static method of SparseMatrix
Param | Type | Description |
---|---|---|
json | Object |
An object structured like {"mathjs": "SparseMatrix", "values": [], "index": [], "ptr": [], "size": []} , where mathjs is optional |
SparseMatrix.diagonal(size, value, [k], [datatype]) ⇒ SparseMatrix
Create a diagonal matrix.
Kind: static method of SparseMatrix
Param | Type | Default | Description |
---|---|---|---|
size | Array |
The matrix size. | |
value | number | Array | Matrix |
The values for the diagonal. | |
[k] | number | BigNumber |
0 |
The kth diagonal where the vector will be filled in. |
[datatype] | string |
The Matrix datatype, values must be of this datatype. |