simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

densematrix.md (10453B)


      1 <a name="DenseMatrix"></a>
      2 ## DenseMatrix
      3 Dense Matrix implementation. This type implements an efficient Array format
      4 for 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>
     32 Get the storage format used by the matrix.
     33 
     34 Usage:
     35 
     36 ```js
     37 const 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>
     44 Get the datatype of the data stored in the matrix.
     45 
     46 Usage:
     47 
     48 ```js
     49 const 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])
     56 Create 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])
     67 Get a subset of the matrix, or replace a subset of the matrix.
     68 
     69 Usage:
     70 
     71 ```js
     72 const subset = matrix.subset(index)               // retrieve subset
     73 const 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>
     86 Get 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>
     97 Replace 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>
    110 Resize 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>
    124 Create 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>
    130 Retrieve 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>
    136 Create a new matrix with the results of the callback function executed on
    137 each 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)
    148 Execute 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>
    158 Create 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>
    164 Get 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>
    170 Get 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>
    181 Get 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>
    187 Get 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>
    192 Get 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>
    203 Swap 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>
    215 Create 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>
    228 Generate 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>
    238 Preprocess data, which can be an Array or DenseMatrix with nested Arrays and
    239 Matrices. 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