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](#SparseMatrix) - .resize(size, [defaultValue], [copy]) ⇒
Matrix - .clone() ⇒
[SparseMatrix](#SparseMatrix) - .size() ⇒
Array.<number> - .map(callback, [skipZeros]) ⇒
[SparseMatrix](#SparseMatrix) - .forEach(callback, [skipZeros])
- .toArray() ⇒
Array - .valueOf() ⇒
Array - .format([options]) ⇒
string - .toString() ⇒
string - .toJSON() ⇒
Object - .diagonal([k]) ⇒
Matrix - .swapRows(i, j) ⇒
Matrix
- .storage() ⇒
- static
- .fromJSON(json) ⇒
[SparseMatrix](#SparseMatrix) - .diagonal(size, value, [k], [datatype]) ⇒
[SparseMatrix](#SparseMatrix)
- .fromJSON(json) ⇒
sparseMatrix.storage() ⇒ string #
Get the storage format used by the matrix.
Usage:
const format = matrix.storage() // retrieve storage format
Kind: instance method of [SparseMatrix](#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](#SparseMatrix)
Returns: string - The datatype.
sparseMatrix.create(data, [datatype]) #
Create a new SparseMatrix
Kind: instance method of [SparseMatrix](#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](#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](#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](#SparseMatrix)
Returns: \* - value
| Param | Type | Description |
|---|---|---|
| index | Array.<number> |
Zero-based index |
sparseMatrix.set(index, value, [defaultValue]) ⇒ [SparseMatrix](#SparseMatrix) #
Replace a single element in the matrix.
Kind: instance method of [SparseMatrix](#SparseMatrix)
Returns: [SparseMatrix](#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](#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](#SparseMatrix) #
Create a clone of the matrix
Kind: instance method of [SparseMatrix](#SparseMatrix)
Returns: [SparseMatrix](#SparseMatrix) - clone
sparseMatrix.size() ⇒ Array.<number> #
Retrieve the size of the matrix.
Kind: instance method of [SparseMatrix](#SparseMatrix)
Returns: Array.<number> - size
sparseMatrix.map(callback, [skipZeros]) ⇒ [SparseMatrix](#SparseMatrix) #
Create a new matrix with the results of the callback function executed on each entry of the matrix.
Kind: instance method of [SparseMatrix](#SparseMatrix)
Returns: [SparseMatrix](#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](#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](#SparseMatrix)
Returns: Array - array
sparseMatrix.valueOf() ⇒ Array #
Get the primitive value of the SparseMatrix: a two dimensions array
Kind: instance method of [SparseMatrix](#SparseMatrix)
Returns: Array - array
sparseMatrix.format([options]) ⇒ string #
Get a string representation of the matrix, with optional formatting options.
Kind: instance method of [SparseMatrix](#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](#SparseMatrix)
Returns: string - str
sparseMatrix.toJSON() ⇒ Object #
Get a JSON representation of the matrix
Kind: instance method of [SparseMatrix](#SparseMatrix)
sparseMatrix.diagonal([k]) ⇒ Matrix #
Get the kth Matrix diagonal.
Kind: instance method of [SparseMatrix](#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](#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](#SparseMatrix) #
Generate a matrix from a JSON object
Kind: static method of [SparseMatrix](#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](#SparseMatrix) #
Create a diagonal matrix.
Kind: static method of [SparseMatrix](#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. |