UNPKG

10.5 kBMarkdownView Raw
1<a name="DenseMatrix"></a>
2## DenseMatrix
3Dense Matrix implementation. This type implements an efficient Array format
4for dense matrices.
5
6* _instance_
7 * [.storage()](#DenseMatrix+storage) ⇒ <code>string</code>
8 * [.datatype()](#DenseMatrix+datatype) ⇒ <code>string</code>
9 * [.create(data, [datatype])](#DenseMatrix+create)
10 * [.subset(index, [replacement], [defaultValue])](#DenseMatrix+subset)
11 * [.get(index)](#DenseMatrix+get) ⇒ <code>\*</code>
12 * [.set(index, value, [defaultValue])](#DenseMatrix+set) ⇒ <code>DenseMatrix</code>
13 * [.resize(size, [defaultValue], [copy])](#DenseMatrix+resize) ⇒ <code>Matrix</code>
14 * [.clone()](#DenseMatrix+clone) ⇒ <code>DenseMatrix</code>
15 * [.size()](#DenseMatrix+size) ⇒ <code>Array.&lt;number&gt;</code>
16 * [.map(callback)](#DenseMatrix+map) ⇒ <code>DenseMatrix</code>
17 * [.forEach(callback)](#DenseMatrix+forEach)
18 * [.toArray()](#DenseMatrix+toArray) ⇒ <code>Array</code>
19 * [.valueOf()](#DenseMatrix+valueOf) ⇒ <code>Array</code>
20 * [.format([options])](#DenseMatrix+format) ⇒ <code>string</code>
21 * [.toString()](#DenseMatrix+toString) ⇒ <code>string</code>
22 * [.toJSON()](#DenseMatrix+toJSON) ⇒ <code>Object</code>
23 * [.diagonal([k])](#DenseMatrix+diagonal) ⇒ <code>Array</code>
24 * [.swapRows(i, j)](#DenseMatrix+swapRows) ⇒ <code>Matrix</code>
25* _static_
26 * [.diagonal(size, value, [k], [defaultValue])](#DenseMatrix.diagonal) ⇒ <code>DenseMatrix</code>
27 * [.fromJSON(json)](#DenseMatrix.fromJSON) ⇒ <code>DenseMatrix</code>
28 * [.preprocess(data)](#DenseMatrix.preprocess) ⇒ <code>Array</code>
29
30<a name="DenseMatrix+storage"></a>
31### denseMatrix.storage() ⇒ <code>string</code>
32Get the storage format used by the matrix.
33
34Usage:
35
36```js
37const format = matrix.storage() // retrieve storage format
38```
39
40**Kind**: instance method of <code>DenseMatrix</code>
41**Returns**: <code>string</code> - The storage format.
42<a name="DenseMatrix+datatype"></a>
43### denseMatrix.datatype() ⇒ <code>string</code>
44Get the datatype of the data stored in the matrix.
45
46Usage:
47
48```js
49const format = matrix.datatype() // retrieve matrix datatype
50```
51
52**Kind**: instance method of <code>DenseMatrix</code>
53**Returns**: <code>string</code> - The datatype.
54<a name="DenseMatrix+create"></a>
55### denseMatrix.create(data, [datatype])
56Create a new DenseMatrix
57
58**Kind**: instance method of <code>DenseMatrix</code>
59
60| Param | Type |
61| --- | --- |
62| data | <code>Array</code> |
63| [datatype] | <code>string</code> |
64
65<a name="DenseMatrix+subset"></a>
66### denseMatrix.subset(index, [replacement], [defaultValue])
67Get a subset of the matrix, or replace a subset of the matrix.
68
69Usage:
70
71```js
72const subset = matrix.subset(index) // retrieve subset
73const value = matrix.subset(index, replacement) // replace subset
74```
75
76**Kind**: instance method of <code>DenseMatrix</code>
77
78| Param | Type | Default | Description |
79| --- | --- | --- | --- |
80| index | <code>Index</code> | | |
81| [replacement] | <code>Array</code> &#124; <code>DenseMatrix</code>&#124; <code>\*</code> | | |
82| [defaultValue] | <code>\*</code> | <code>0</code> | Default value, filled in on new entries when the matrix is resized. If not provided, new matrix elements will be filled with zeros. |
83
84<a name="DenseMatrix+get"></a>
85### denseMatrix.get(index) ⇒ <code>\*</code>
86Get a single element from the matrix.
87
88**Kind**: instance method of <code>DenseMatrix</code>
89**Returns**: <code>\*</code> - value
90
91| Param | Type | Description |
92| --- | --- | --- |
93| index | <code>Array.&lt;number&gt;</code> | Zero-based index |
94
95<a name="DenseMatrix+set"></a>
96### denseMatrix.set(index, value, [defaultValue]) ⇒ <code>DenseMatrix</code>
97Replace a single element in the matrix.
98
99**Kind**: instance method of <code>DenseMatrix</code>
100**Returns**: <code>DenseMatrix</code>- self
101
102| Param | Type | Description |
103| --- | --- | --- |
104| index | <code>Array.&lt;number&gt;</code> | Zero-based index |
105| value | <code>\*</code> | |
106| [defaultValue] | <code>\*</code> | Default value, filled in on new entries when the matrix is resized. If not provided, new matrix elements will be left undefined. |
107
108<a name="DenseMatrix+resize"></a>
109### denseMatrix.resize(size, [defaultValue], [copy]) ⇒ <code>Matrix</code>
110Resize the matrix to the given size. Returns a copy of the matrix when
111`copy=true`, otherwise return the matrix itself (resize in place).
112
113**Kind**: instance method of <code>DenseMatrix</code>
114**Returns**: <code>Matrix</code> - The resized matrix
115
116| Param | Type | Default | Description |
117| --- | --- | --- | --- |
118| size | <code>Array.&lt;number&gt;</code> | | The new size the matrix should have. |
119| [defaultValue] | <code>\*</code> | <code>0</code> | Default value, filled in on new entries. If not provided, the matrix elements will be filled with zeros. |
120| [copy] | <code>boolean</code> | | Return a resized copy of the matrix |
121
122<a name="DenseMatrix+clone"></a>
123### denseMatrix.clone() ⇒ <code>DenseMatrix</code>
124Create a clone of the matrix
125
126**Kind**: instance method of <code>DenseMatrix</code>
127**Returns**: <code>DenseMatrix</code>- clone
128<a name="DenseMatrix+size"></a>
129### denseMatrix.size() ⇒ <code>Array.&lt;number&gt;</code>
130Retrieve the size of the matrix.
131
132**Kind**: instance method of <code>DenseMatrix</code>
133**Returns**: <code>Array.&lt;number&gt;</code> - size
134<a name="DenseMatrix+map"></a>
135### denseMatrix.map(callback) ⇒ <code>DenseMatrix</code>
136Create a new matrix with the results of the callback function executed on
137each entry of the matrix.
138
139**Kind**: instance method of <code>DenseMatrix</code>
140**Returns**: <code>DenseMatrix</code>- matrix
141
142| Param | Type | Description |
143| --- | --- | --- |
144| callback | <code>function</code> | The callback function is invoked with three parameters: the value of the element, the index of the element, and the Matrix being traversed. |
145
146<a name="DenseMatrix+forEach"></a>
147### denseMatrix.forEach(callback)
148Execute a callback function on each entry of the matrix.
149
150**Kind**: instance method of <code>DenseMatrix</code>
151
152| Param | Type | Description |
153| --- | --- | --- |
154| callback | <code>function</code> | The callback function is invoked with three parameters: the value of the element, the index of the element, and the Matrix being traversed. |
155
156<a name="DenseMatrix+toArray"></a>
157### denseMatrix.toArray() ⇒ <code>Array</code>
158Create an Array with a copy of the data of the DenseMatrix
159
160**Kind**: instance method of <code>DenseMatrix</code>
161**Returns**: <code>Array</code> - array
162<a name="DenseMatrix+valueOf"></a>
163### denseMatrix.valueOf() ⇒ <code>Array</code>
164Get the primitive value of the DenseMatrix: a multidimensional array
165
166**Kind**: instance method of <code>DenseMatrix</code>
167**Returns**: <code>Array</code> - array
168<a name="DenseMatrix+format"></a>
169### denseMatrix.format([options]) ⇒ <code>string</code>
170Get a string representation of the matrix, with optional formatting options.
171
172**Kind**: instance method of <code>DenseMatrix</code>
173**Returns**: <code>string</code> - str
174
175| Param | Type | Description |
176| --- | --- | --- |
177| [options] | <code>Object</code> &#124; <code>number</code> &#124; <code>function</code> | Formatting options. See lib/utils/number:format for a description of the available options. |
178
179<a name="DenseMatrix+toString"></a>
180### denseMatrix.toString() ⇒ <code>string</code>
181Get a string representation of the matrix
182
183**Kind**: instance method of <code>DenseMatrix</code>
184**Returns**: <code>string</code> - str
185<a name="DenseMatrix+toJSON"></a>
186### denseMatrix.toJSON() ⇒ <code>Object</code>
187Get a JSON representation of the matrix
188
189**Kind**: instance method of <code>DenseMatrix</code>
190<a name="DenseMatrix+diagonal"></a>
191### denseMatrix.diagonal([k]) ⇒ <code>Array</code>
192Get the kth Matrix diagonal.
193
194**Kind**: instance method of <code>DenseMatrix</code>
195**Returns**: <code>Array</code> - The array vector with the diagonal values.
196
197| Param | Type | Default | Description |
198| --- | --- | --- | --- |
199| [k] | <code>number</code> &#124; <code>BigNumber</code> | <code>0</code> | The kth diagonal where the vector will retrieved. |
200
201<a name="DenseMatrix+swapRows"></a>
202### denseMatrix.swapRows(i, j) ⇒ <code>Matrix</code>
203Swap rows i and j in Matrix.
204
205**Kind**: instance method of <code>DenseMatrix</code>
206**Returns**: <code>Matrix</code> - The matrix reference
207
208| Param | Type | Description |
209| --- | --- | --- |
210| i | <code>number</code> | Matrix row index 1 |
211| j | <code>number</code> | Matrix row index 2 |
212
213<a name="DenseMatrix.diagonal"></a>
214### DenseMatrix.diagonal(size, value, [k], [defaultValue]) ⇒ <code>DenseMatrix</code>
215Create a diagonal matrix.
216
217**Kind**: static method of <code>DenseMatrix</code>
218
219| Param | Type | Default | Description |
220| --- | --- | --- | --- |
221| size | <code>Array</code> | | The matrix size. |
222| value | <code>number</code> &#124; <code>Array</code> | | The values for the diagonal. |
223| [k] | <code>number</code> &#124; <code>BigNumber</code> | <code>0</code> | The kth diagonal where the vector will be filled in. |
224| [defaultValue] | <code>number</code> | | The default value for non-diagonal |
225
226<a name="DenseMatrix.fromJSON"></a>
227### DenseMatrix.fromJSON(json) ⇒ <code>DenseMatrix</code>
228Generate a matrix from a JSON object
229
230**Kind**: static method of <code>DenseMatrix</code>
231
232| Param | Type | Description |
233| --- | --- | --- |
234| json | <code>Object</code> | An object structured like `{"mathjs": "DenseMatrix", data: [], size: []}`, where mathjs is optional |
235
236<a name="DenseMatrix.preprocess"></a>
237### DenseMatrix.preprocess(data) ⇒ <code>Array</code>
238Preprocess data, which can be an Array or DenseMatrix with nested Arrays and
239Matrices. Replaces all nested Matrices with Arrays
240
241**Kind**: static method of <code>DenseMatrix</code>
242**Returns**: <code>Array</code> - data
243
244| Param | Type |
245| --- | --- |
246| data | <code>Array</code> |
247