mathjs 13.0.3 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/HISTORY.md +17 -1
  2. package/lib/browser/math.js +1 -1
  3. package/lib/browser/math.js.LICENSE.txt +2 -2
  4. package/lib/browser/math.js.map +1 -1
  5. package/lib/cjs/core/create.js +12 -9
  6. package/lib/cjs/core/function/typed.js +3 -4
  7. package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
  8. package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
  9. package/lib/cjs/entry/impureFunctionsAny.generated.js +2 -2
  10. package/lib/cjs/entry/pureFunctionsAny.generated.js +6 -8
  11. package/lib/cjs/entry/typeChecks.js +18 -0
  12. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +2 -2
  13. package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
  14. package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +1 -1
  15. package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +1 -1
  16. package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +1 -1
  17. package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +1 -1
  18. package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +3 -3
  19. package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +1 -1
  20. package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
  21. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
  22. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
  23. package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +1 -1
  24. package/lib/cjs/expression/function/evaluate.js +5 -0
  25. package/lib/cjs/expression/node/FunctionNode.js +1 -1
  26. package/lib/cjs/expression/transform/filter.transform.js +2 -2
  27. package/lib/cjs/expression/transform/map.transform.js +104 -37
  28. package/lib/cjs/expression/transform/utils/dimToZeroBase.js +23 -0
  29. package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +3 -4
  30. package/lib/cjs/function/arithmetic/hypot.js +3 -3
  31. package/lib/cjs/function/matrix/apply.js +1 -1
  32. package/lib/cjs/function/matrix/fft.js +3 -3
  33. package/lib/cjs/function/matrix/filter.js +2 -2
  34. package/lib/cjs/function/matrix/flatten.js +5 -6
  35. package/lib/cjs/function/matrix/ifft.js +2 -2
  36. package/lib/cjs/function/matrix/kron.js +4 -4
  37. package/lib/cjs/function/matrix/map.js +109 -18
  38. package/lib/cjs/function/matrix/size.js +7 -7
  39. package/lib/cjs/function/matrix/squeeze.js +3 -4
  40. package/lib/cjs/function/probability/random.js +1 -1
  41. package/lib/cjs/function/probability/randomInt.js +1 -1
  42. package/lib/cjs/function/statistics/cumsum.js +2 -2
  43. package/lib/cjs/function/trigonometry/acoth.js +2 -2
  44. package/lib/cjs/function/trigonometry/acsch.js +2 -2
  45. package/lib/cjs/header.js +2 -2
  46. package/lib/cjs/type/matrix/DenseMatrix.js +3 -28
  47. package/lib/cjs/type/matrix/SparseMatrix.js +5 -8
  48. package/lib/cjs/utils/array.js +27 -0
  49. package/lib/cjs/utils/collection.js +1 -1
  50. package/lib/cjs/utils/function.js +0 -14
  51. package/lib/cjs/utils/is.js +27 -0
  52. package/lib/cjs/utils/map.js +2 -20
  53. package/lib/cjs/version.js +1 -1
  54. package/lib/esm/core/create.js +9 -6
  55. package/lib/esm/core/function/typed.js +2 -3
  56. package/lib/esm/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
  57. package/lib/esm/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
  58. package/lib/esm/entry/impureFunctionsAny.generated.js +3 -3
  59. package/lib/esm/entry/pureFunctionsAny.generated.js +7 -9
  60. package/lib/esm/entry/typeChecks.js +1 -1
  61. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -2
  62. package/lib/esm/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
  63. package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
  64. package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +1 -1
  65. package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +1 -1
  66. package/lib/esm/expression/embeddedDocs/function/matrix/kron.js +1 -1
  67. package/lib/esm/expression/embeddedDocs/function/matrix/map.js +3 -3
  68. package/lib/esm/expression/embeddedDocs/function/special/zeta.js +1 -1
  69. package/lib/esm/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
  70. package/lib/esm/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
  71. package/lib/esm/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
  72. package/lib/esm/expression/embeddedDocs/function/utils/clone.js +1 -1
  73. package/lib/esm/expression/function/compile.js +1 -1
  74. package/lib/esm/expression/function/evaluate.js +8 -3
  75. package/lib/esm/expression/node/FunctionNode.js +1 -1
  76. package/lib/esm/expression/parse.js +2 -2
  77. package/lib/esm/expression/transform/filter.transform.js +4 -4
  78. package/lib/esm/expression/transform/forEach.transform.js +4 -4
  79. package/lib/esm/expression/transform/map.transform.js +104 -37
  80. package/lib/esm/expression/transform/print.transform.js +2 -2
  81. package/lib/esm/expression/transform/utils/dimToZeroBase.js +16 -0
  82. package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +4 -6
  83. package/lib/esm/function/algebra/decomposition/slu.js +1 -1
  84. package/lib/esm/function/algebra/derivative.js +15 -15
  85. package/lib/esm/function/algebra/lyap.js +4 -4
  86. package/lib/esm/function/algebra/simplify/util.js +3 -3
  87. package/lib/esm/function/algebra/simplifyConstant.js +9 -9
  88. package/lib/esm/function/algebra/solver/lsolve.js +3 -3
  89. package/lib/esm/function/algebra/solver/lsolveAll.js +3 -3
  90. package/lib/esm/function/algebra/solver/lusolve.js +5 -5
  91. package/lib/esm/function/algebra/solver/usolve.js +3 -3
  92. package/lib/esm/function/algebra/solver/usolveAll.js +3 -3
  93. package/lib/esm/function/algebra/sylvester.js +7 -7
  94. package/lib/esm/function/arithmetic/addScalar.js +4 -4
  95. package/lib/esm/function/arithmetic/ceil.js +6 -6
  96. package/lib/esm/function/arithmetic/divide.js +5 -5
  97. package/lib/esm/function/arithmetic/divideScalar.js +5 -5
  98. package/lib/esm/function/arithmetic/fix.js +5 -5
  99. package/lib/esm/function/arithmetic/floor.js +6 -6
  100. package/lib/esm/function/arithmetic/hypot.js +3 -3
  101. package/lib/esm/function/arithmetic/mod.js +3 -3
  102. package/lib/esm/function/arithmetic/multiply.js +7 -7
  103. package/lib/esm/function/arithmetic/multiplyScalar.js +4 -4
  104. package/lib/esm/function/arithmetic/norm.js +2 -2
  105. package/lib/esm/function/arithmetic/pow.js +6 -6
  106. package/lib/esm/function/arithmetic/round.js +7 -7
  107. package/lib/esm/function/arithmetic/subtractScalar.js +4 -4
  108. package/lib/esm/function/arithmetic/xgcd.js +1 -1
  109. package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
  110. package/lib/esm/function/combinatorics/catalan.js +1 -1
  111. package/lib/esm/function/combinatorics/composition.js +1 -1
  112. package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
  113. package/lib/esm/function/geometry/distance.js +4 -4
  114. package/lib/esm/function/geometry/intersect.js +2 -2
  115. package/lib/esm/function/logical/and.js +2 -2
  116. package/lib/esm/function/logical/or.js +2 -2
  117. package/lib/esm/function/logical/xor.js +2 -2
  118. package/lib/esm/function/matrix/apply.js +2 -2
  119. package/lib/esm/function/matrix/column.js +1 -1
  120. package/lib/esm/function/matrix/concat.js +1 -1
  121. package/lib/esm/function/matrix/count.js +1 -1
  122. package/lib/esm/function/matrix/cross.js +3 -3
  123. package/lib/esm/function/matrix/diag.js +10 -10
  124. package/lib/esm/function/matrix/diff.js +2 -2
  125. package/lib/esm/function/matrix/eigs.js +3 -3
  126. package/lib/esm/function/matrix/fft.js +3 -3
  127. package/lib/esm/function/matrix/filter.js +4 -4
  128. package/lib/esm/function/matrix/flatten.js +5 -6
  129. package/lib/esm/function/matrix/forEach.js +4 -4
  130. package/lib/esm/function/matrix/identity.js +6 -6
  131. package/lib/esm/function/matrix/ifft.js +3 -3
  132. package/lib/esm/function/matrix/inv.js +1 -1
  133. package/lib/esm/function/matrix/kron.js +7 -7
  134. package/lib/esm/function/matrix/map.js +110 -19
  135. package/lib/esm/function/matrix/matrixFromFunction.js +6 -6
  136. package/lib/esm/function/matrix/ones.js +2 -2
  137. package/lib/esm/function/matrix/partitionSelect.js +2 -2
  138. package/lib/esm/function/matrix/pinv.js +1 -1
  139. package/lib/esm/function/matrix/range.js +10 -10
  140. package/lib/esm/function/matrix/reshape.js +2 -2
  141. package/lib/esm/function/matrix/rotate.js +4 -4
  142. package/lib/esm/function/matrix/rotationMatrix.js +6 -6
  143. package/lib/esm/function/matrix/row.js +1 -1
  144. package/lib/esm/function/matrix/size.js +8 -8
  145. package/lib/esm/function/matrix/sort.js +4 -4
  146. package/lib/esm/function/matrix/sqrtm.js +1 -1
  147. package/lib/esm/function/matrix/squeeze.js +3 -4
  148. package/lib/esm/function/matrix/subset.js +2 -2
  149. package/lib/esm/function/matrix/zeros.js +2 -2
  150. package/lib/esm/function/probability/combinations.js +1 -1
  151. package/lib/esm/function/probability/combinationsWithRep.js +2 -2
  152. package/lib/esm/function/probability/kldivergence.js +4 -4
  153. package/lib/esm/function/probability/multinomial.js +1 -1
  154. package/lib/esm/function/probability/permutations.js +2 -2
  155. package/lib/esm/function/probability/pickRandom.js +6 -6
  156. package/lib/esm/function/probability/random.js +1 -1
  157. package/lib/esm/function/probability/randomInt.js +1 -1
  158. package/lib/esm/function/relational/compare.js +6 -6
  159. package/lib/esm/function/relational/deepEqual.js +1 -1
  160. package/lib/esm/function/relational/equal.js +1 -1
  161. package/lib/esm/function/relational/equalScalar.js +7 -7
  162. package/lib/esm/function/relational/equalText.js +1 -1
  163. package/lib/esm/function/relational/larger.js +3 -3
  164. package/lib/esm/function/relational/largerEq.js +4 -4
  165. package/lib/esm/function/relational/smaller.js +3 -3
  166. package/lib/esm/function/relational/smallerEq.js +3 -3
  167. package/lib/esm/function/relational/unequal.js +1 -1
  168. package/lib/esm/function/set/setCartesian.js +1 -1
  169. package/lib/esm/function/set/setDifference.js +1 -1
  170. package/lib/esm/function/set/setDistinct.js +1 -1
  171. package/lib/esm/function/set/setIntersect.js +1 -1
  172. package/lib/esm/function/set/setIsSubset.js +1 -1
  173. package/lib/esm/function/set/setMultiplicity.js +1 -1
  174. package/lib/esm/function/set/setPowerset.js +1 -1
  175. package/lib/esm/function/set/setSize.js +2 -2
  176. package/lib/esm/function/set/setSymDifference.js +1 -1
  177. package/lib/esm/function/set/setUnion.js +1 -1
  178. package/lib/esm/function/signal/freqz.js +6 -6
  179. package/lib/esm/function/statistics/corr.js +2 -2
  180. package/lib/esm/function/statistics/cumsum.js +3 -3
  181. package/lib/esm/function/statistics/max.js +1 -1
  182. package/lib/esm/function/statistics/median.js +3 -3
  183. package/lib/esm/function/statistics/min.js +1 -1
  184. package/lib/esm/function/statistics/prod.js +1 -1
  185. package/lib/esm/function/statistics/variance.js +2 -2
  186. package/lib/esm/function/string/bin.js +2 -2
  187. package/lib/esm/function/string/hex.js +2 -2
  188. package/lib/esm/function/string/oct.js +2 -2
  189. package/lib/esm/function/trigonometry/acoth.js +2 -2
  190. package/lib/esm/function/trigonometry/acsch.js +2 -2
  191. package/lib/esm/type/bigint.js +1 -1
  192. package/lib/esm/type/complex/function/complex.js +2 -2
  193. package/lib/esm/type/fraction/function/fraction.js +1 -1
  194. package/lib/esm/type/matrix/DenseMatrix.js +13 -38
  195. package/lib/esm/type/matrix/SparseMatrix.js +5 -8
  196. package/lib/esm/type/matrix/function/index.js +1 -1
  197. package/lib/esm/type/matrix/function/matrix.js +1 -1
  198. package/lib/esm/type/matrix/function/sparse.js +2 -2
  199. package/lib/esm/type/number.js +1 -1
  200. package/lib/esm/type/unit/function/createUnit.js +3 -3
  201. package/lib/esm/type/unit/function/splitUnit.js +1 -1
  202. package/lib/esm/type/unit/function/unit.js +2 -2
  203. package/lib/esm/utils/array.js +26 -0
  204. package/lib/esm/utils/collection.js +1 -1
  205. package/lib/esm/utils/function.js +0 -13
  206. package/lib/esm/utils/is.js +24 -0
  207. package/lib/esm/utils/map.js +2 -19
  208. package/lib/esm/version.js +1 -1
  209. package/package.json +13 -13
  210. package/types/index.d.ts +57 -18
@@ -25,14 +25,17 @@ exports.isFunctionNode = isFunctionNode;
25
25
  exports.isHelp = isHelp;
26
26
  exports.isIndex = isIndex;
27
27
  exports.isIndexNode = isIndexNode;
28
+ exports.isMap = isMap;
28
29
  exports.isMatrix = isMatrix;
29
30
  exports.isNode = isNode;
30
31
  exports.isNull = isNull;
31
32
  exports.isNumber = isNumber;
32
33
  exports.isObject = isObject;
33
34
  exports.isObjectNode = isObjectNode;
35
+ exports.isObjectWrappingMap = isObjectWrappingMap;
34
36
  exports.isOperatorNode = isOperatorNode;
35
37
  exports.isParenthesisNode = isParenthesisNode;
38
+ exports.isPartitionedMap = isPartitionedMap;
36
39
  exports.isRange = isRange;
37
40
  exports.isRangeNode = isRangeNode;
38
41
  exports.isRegExp = isRegExp;
@@ -45,6 +48,7 @@ exports.isUndefined = isUndefined;
45
48
  exports.isUnit = isUnit;
46
49
  exports.rule2Node = rule2Node;
47
50
  exports.typeOf = typeOf;
51
+ var _map = require("./map.js");
48
52
  // type checks for all known types
49
53
  //
50
54
  // note that:
@@ -135,6 +139,29 @@ function isRegExp(x) {
135
139
  function isObject(x) {
136
140
  return !!(x && typeof x === 'object' && x.constructor === Object && !isComplex(x) && !isFraction(x));
137
141
  }
142
+
143
+ /**
144
+ * Returns `true` if the passed object appears to be a Map (i.e. duck typing).
145
+ *
146
+ * Methods looked for are `get`, `set`, `keys` and `has`.
147
+ *
148
+ * @param {Map | object} object
149
+ * @returns
150
+ */
151
+ function isMap(object) {
152
+ // We can use the fast instanceof, or a slower duck typing check.
153
+ // The duck typing method needs to cover enough methods to not be confused with DenseMatrix.
154
+ if (!object) {
155
+ return false;
156
+ }
157
+ return object instanceof Map || object instanceof _map.ObjectWrappingMap || typeof object.set === 'function' && typeof object.get === 'function' && typeof object.keys === 'function' && typeof object.has === 'function';
158
+ }
159
+ function isPartitionedMap(object) {
160
+ return isMap(object) && isMap(object.a) && isMap(object.b);
161
+ }
162
+ function isObjectWrappingMap(object) {
163
+ return isMap(object) && isObject(object.wrappedObject);
164
+ }
138
165
  function isNull(x) {
139
166
  return x === null;
140
167
  }
@@ -7,7 +7,6 @@ exports.PartitionedMap = exports.ObjectWrappingMap = void 0;
7
7
  exports.assign = assign;
8
8
  exports.createEmptyMap = createEmptyMap;
9
9
  exports.createMap = createMap;
10
- exports.isMap = isMap;
11
10
  exports.toObject = toObject;
12
11
  var _customs = require("./customs.js");
13
12
  var _is = require("./is.js");
@@ -157,7 +156,7 @@ function createMap(mapOrObject) {
157
156
  if (!mapOrObject) {
158
157
  return createEmptyMap();
159
158
  }
160
- if (isMap(mapOrObject)) {
159
+ if ((0, _is.isMap)(mapOrObject)) {
161
160
  return mapOrObject;
162
161
  }
163
162
  if ((0, _is.isObject)(mapOrObject)) {
@@ -184,23 +183,6 @@ function toObject(map) {
184
183
  return object;
185
184
  }
186
185
 
187
- /**
188
- * Returns `true` if the passed object appears to be a Map (i.e. duck typing).
189
- *
190
- * Methods looked for are `get`, `set`, `keys` and `has`.
191
- *
192
- * @param {Map | object} object
193
- * @returns
194
- */
195
- function isMap(object) {
196
- // We can use the fast instanceof, or a slower duck typing check.
197
- // The duck typing method needs to cover enough methods to not be confused with DenseMatrix.
198
- if (!object) {
199
- return false;
200
- }
201
- return object instanceof Map || object instanceof ObjectWrappingMap || typeof object.set === 'function' && typeof object.get === 'function' && typeof object.keys === 'function' && typeof object.has === 'function';
202
- }
203
-
204
186
  /**
205
187
  * Copies the contents of key-value pairs from each `objects` in to `map`.
206
188
  *
@@ -216,7 +198,7 @@ function assign(map) {
216
198
  if (!args) {
217
199
  continue;
218
200
  }
219
- if (isMap(args)) {
201
+ if ((0, _is.isMap)(args)) {
220
202
  for (const key of args.keys()) {
221
203
  map.set(key, args.get(key));
222
204
  }
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '13.0.3';
7
+ const version = exports.version = '13.1.0';
8
8
  // Note: This file is automatically generated when building math.js.
9
9
  // Changes made in this file will be overwritten.
@@ -1,15 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import typedFunction from 'typed-function';
3
- import { deepFlatten, isLegacyFactory } from '../utils/object.js';
4
- import * as emitter from './../utils/emitter.js';
5
- import { importFactory } from './function/import.js';
6
- import { configFactory } from './function/config.js';
7
- import { factory, isFactory } from '../utils/factory.js';
8
- import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit, isBigInt } from '../utils/is.js';
9
3
  import { ArgumentsError } from '../error/ArgumentsError.js';
10
4
  import { DimensionError } from '../error/DimensionError.js';
11
5
  import { IndexError } from '../error/IndexError.js';
6
+ import { factory, isFactory } from '../utils/factory.js';
7
+ import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigInt, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMap, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isObjectWrappingMap, isOperatorNode, isParenthesisNode, isPartitionedMap, isRange, isRangeNode, isRegExp, isRelationalNode, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit } from '../utils/is.js';
8
+ import { deepFlatten, isLegacyFactory } from '../utils/object.js';
9
+ import * as emitter from './../utils/emitter.js';
12
10
  import { DEFAULT_CONFIG } from './config.js';
11
+ import { configFactory } from './function/config.js';
12
+ import { importFactory } from './function/import.js';
13
13
 
14
14
  /**
15
15
  * Create a mathjs instance from given factory functions and optionally config
@@ -85,6 +85,9 @@ export function create(factories, config) {
85
85
  isDate,
86
86
  isRegExp,
87
87
  isObject,
88
+ isMap,
89
+ isPartitionedMap,
90
+ isObjectWrappingMap,
88
91
  isNull,
89
92
  isUndefined,
90
93
  isAccessorNode,
@@ -36,11 +36,10 @@
36
36
  * @returns {function} The created typed-function.
37
37
  */
38
38
 
39
- import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit, isBigInt } from '../../utils/is.js';
40
39
  import typedFunction from 'typed-function';
41
- import { digits } from '../../utils/number.js';
42
40
  import { factory } from '../../utils/factory.js';
43
- import { isMap } from '../../utils/map.js';
41
+ import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigInt, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMap, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRegExp, isRelationalNode, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit } from '../../utils/is.js';
42
+ import { digits } from '../../utils/number.js';
44
43
 
45
44
  // returns a new instance of typed-function
46
45
  var _createTyped2 = function _createTyped() {
@@ -2,11 +2,9 @@
2
2
  * THIS FILE IS AUTO-GENERATED
3
3
  * DON'T MAKE CHANGES HERE
4
4
  */
5
- import { matrixDependencies } from './dependenciesMatrix.generated.js';
6
5
  import { typedDependencies } from './dependenciesTyped.generated.js';
7
6
  import { createFlatten } from '../../factoriesAny.js';
8
7
  export var flattenDependencies = {
9
- matrixDependencies,
10
8
  typedDependencies,
11
9
  createFlatten
12
10
  };
@@ -2,11 +2,9 @@
2
2
  * THIS FILE IS AUTO-GENERATED
3
3
  * DON'T MAKE CHANGES HERE
4
4
  */
5
- import { matrixDependencies } from './dependenciesMatrix.generated.js';
6
5
  import { typedDependencies } from './dependenciesTyped.generated.js';
7
6
  import { createSqueeze } from '../../factoriesAny.js';
8
7
  export var squeezeDependencies = {
9
- matrixDependencies,
10
8
  typedDependencies,
11
9
  createSqueeze
12
10
  };
@@ -7,7 +7,7 @@ import { config } from './configReadonly.js';
7
7
  import { createNode, createObjectNode, createOperatorNode, createParenthesisNode, createRelationalNode, createArrayNode, createBlockNode, createConditionalNode, createConstantNode, createRangeNode, createReviver, createChainClass, createFunctionAssignmentNode, createChain, createIndexNode, createAccessorNode, createAssignmentNode, createSymbolNode, createFunctionNode, createParse, createResolve, createSimplifyConstant, createCompile, createSimplifyCore, createEvaluate, createHelpClass, createParserClass, createSimplify, createSymbolicEqual, createLeafCount, createParser, createRationalize, createDerivative, createHelp, createFilterTransform, createForEachTransform, createMapTransform, createApplyTransform, createOrTransform, createAndTransform, createConcatTransform, createMaxTransform, createPrintTransform, createBitAndTransform, createDiffTransform, createMinTransform, createSubsetTransform, createBitOrTransform, createCumSumTransform, createIndexTransform, createSumTransform, createRangeTransform, createRowTransform, createColumnTransform, createMeanTransform, createQuantileSeqTransform, createVarianceTransform, createStdTransform } from '../factoriesAny.js';
8
8
  import { BigNumber, Complex, e, _false, fineStructure, Fraction, i, _Infinity, LN10, LOG10E, Matrix, _NaN, _null, phi, Range, ResultSet, SQRT1_2,
9
9
  // eslint-disable-line camelcase
10
- sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bigint, bitNot, boolean, clone, combinations, complex, conj, cos, cot, csc, cube, equalScalar, erf, exp, expm1, filter, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, SparseMatrix, splitUnit, square, string, subtractScalar, tan, typeOf, acosh, acsch, apply, asec, bignumber, combinationsWithRep, cosh, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, bin, coth, fraction, isNumeric, matrix, matrixFromFunction, mode, numeric, prod, reshape, size, squeeze, transpose, xgcd, zeros, asin, cbrt, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, flatten, hasNumericValue, identity, kron, largerEq, leftShift, lsolve, matrixFromColumns, nthRoot, ones, qr, resize, rightArithShift, round, smaller, subtract, to, unaryPlus, usolve, xor, add, atan2, bitAnd, bitOr, bitXor, catalan, compare, compareText, cumsum, deepEqual, diff, distance, dot, equalText, floor, gcd, hypot, ImmutableDenseMatrix, Index, larger, log, lsolveAll, matrixFromRows, min, mod, multiply, nthRoots, or, partitionSelect, rightLogShift, slu, subset, sum, trace, usolveAll, zpk2tf, ceil, compareNatural, composition, cross, det, dotMultiply, FibonacciHeap, fix, index, intersect, invmod, lcm, log1p, max, setCartesian, setDistinct, setIsSubset, setPowerset, smallerEq, sort, unequal, and, range, row, setDifference, setMultiplicity, setSymDifference, Spa, column, inv, lup, pinv, pow, setIntersect, setUnion, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, coulomb, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, quantumOfCirculation, reducedPlanckConstant, rydberg, secondRadiation, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, createUnit, divide, electronMass, factorial, firstRadiation, gravity, inverseConductanceQuantum, lusolve, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setSize, solveODE, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, gasConstant, kldivergence, mean, molarVolume, planckConstant, quantileSeq, variance, classicalElectronRadius, median, corr, freqz, mad, std, zeta, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js';
10
+ sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bigint, bitNot, boolean, clone, combinations, complex, conj, cos, cot, csc, cube, equalScalar, erf, exp, expm1, filter, flatten, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, SparseMatrix, splitUnit, square, string, subtractScalar, tan, typeOf, acosh, acsch, apply, asec, bignumber, combinationsWithRep, cosh, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, squeeze, tanh, unaryMinus, acoth, bin, coth, fraction, isNumeric, matrix, matrixFromFunction, mode, numeric, prod, reshape, size, transpose, xgcd, zeros, asin, cbrt, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, hasNumericValue, identity, kron, largerEq, leftShift, lsolve, matrixFromColumns, nthRoot, ones, qr, resize, rightArithShift, round, smaller, subtract, to, unaryPlus, usolve, xor, add, atan2, bitAnd, bitOr, bitXor, catalan, compare, compareText, cumsum, deepEqual, diff, distance, dot, equalText, floor, gcd, hypot, ImmutableDenseMatrix, Index, larger, log, lsolveAll, matrixFromRows, min, mod, multiply, nthRoots, or, partitionSelect, rightLogShift, slu, subset, sum, trace, usolveAll, zpk2tf, ceil, compareNatural, composition, cross, det, dotMultiply, FibonacciHeap, fix, index, intersect, invmod, lcm, log1p, max, setCartesian, setDistinct, setIsSubset, setPowerset, smallerEq, sort, unequal, and, range, row, setDifference, setMultiplicity, setSymDifference, Spa, column, inv, lup, pinv, pow, setIntersect, setUnion, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, coulomb, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, quantumOfCirculation, reducedPlanckConstant, rydberg, secondRadiation, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, createUnit, divide, electronMass, factorial, firstRadiation, gravity, inverseConductanceQuantum, lusolve, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setSize, solveODE, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, gasConstant, kldivergence, mean, molarVolume, planckConstant, quantileSeq, variance, classicalElectronRadius, median, corr, freqz, mad, std, zeta, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js';
11
11
  var math = {}; // NOT pure!
12
12
  var mathWithTransform = {}; // NOT pure!
13
13
  var classes = {}; // NOT pure!
@@ -300,6 +300,7 @@ _extends(math, {
300
300
  exp,
301
301
  expm1,
302
302
  filter,
303
+ flatten,
303
304
  forEach,
304
305
  format,
305
306
  getMatrixDataType,
@@ -347,6 +348,7 @@ _extends(math, {
347
348
  sinh,
348
349
  sparse,
349
350
  sqrt,
351
+ squeeze,
350
352
  tanh,
351
353
  unaryMinus,
352
354
  acoth,
@@ -361,7 +363,6 @@ _extends(math, {
361
363
  prod,
362
364
  reshape,
363
365
  size,
364
- squeeze,
365
366
  transpose,
366
367
  xgcd,
367
368
  zeros,
@@ -374,7 +375,6 @@ _extends(math, {
374
375
  divideScalar,
375
376
  dotDivide,
376
377
  equal,
377
- flatten,
378
378
  hasNumericValue,
379
379
  identity,
380
380
  kron,
@@ -5,7 +5,7 @@
5
5
  import { config } from './configReadonly.js';
6
6
  import { createBigNumberClass, createComplexClass, createE, createFalse, createFineStructure, createFractionClass, createI, createInfinity, createLN10, createLOG10E, createMatrixClass, createNaN, createNull, createPhi, createRangeClass, createResultSet, createSQRT1_2,
7
7
  // eslint-disable-line camelcase
8
- createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBigint, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createBin, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createSqueeze, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createNthRoot, createOnes, createQr, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnaryPlus, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createGcd, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMin, createMod, createMultiply, createNthRoots, createOr, createPartitionSelect, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createMax, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createUnequal, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCreateUnit, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createKldivergence, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
8
+ createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBigint, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createFlatten, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createSqueeze, createTanh, createUnaryMinus, createAcoth, createBin, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createNthRoot, createOnes, createQr, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnaryPlus, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createGcd, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMin, createMod, createMultiply, createNthRoots, createOr, createPartitionSelect, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createMax, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createUnequal, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCreateUnit, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createKldivergence, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
9
9
  export var BigNumber = /* #__PURE__ */createBigNumberClass({
10
10
  config
11
11
  });
@@ -185,6 +185,9 @@ export var expm1 = /* #__PURE__ */createExpm1({
185
185
  export var filter = /* #__PURE__ */createFilter({
186
186
  typed
187
187
  });
188
+ export var flatten = /* #__PURE__ */createFlatten({
189
+ typed
190
+ });
188
191
  export var forEach = /* #__PURE__ */createForEach({
189
192
  typed
190
193
  });
@@ -359,6 +362,9 @@ export var sqrt = /* #__PURE__ */createSqrt({
359
362
  config,
360
363
  typed
361
364
  });
365
+ export var squeeze = /* #__PURE__ */createSqueeze({
366
+ typed
367
+ });
362
368
  export var tanh = /* #__PURE__ */createTanh({
363
369
  typed
364
370
  });
@@ -423,10 +429,6 @@ export var size = /* #__PURE__ */createSize({
423
429
  config,
424
430
  typed
425
431
  });
426
- export var squeeze = /* #__PURE__ */createSqueeze({
427
- matrix,
428
- typed
429
- });
430
432
  export var transpose = /* #__PURE__ */createTranspose({
431
433
  matrix,
432
434
  typed
@@ -498,10 +500,6 @@ export var equal = /* #__PURE__ */createEqual({
498
500
  matrix,
499
501
  typed
500
502
  });
501
- export var flatten = /* #__PURE__ */createFlatten({
502
- matrix,
503
- typed
504
- });
505
503
  export var hasNumericValue = /* #__PURE__ */createHasNumericValue({
506
504
  isNumeric,
507
505
  typed
@@ -1,2 +1,2 @@
1
1
  // util functions
2
- export { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBigInt, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isString, isUndefined, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isSymbolNode, isUnit } from '../utils/is.js';
2
+ export { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBigInt, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isString, isUndefined, isObject, isMap, isPartitionedMap, isObjectWrappingMap, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isSymbolNode, isUnit } from '../utils/is.js';
@@ -316,7 +316,7 @@ export var embeddedDocs = {
316
316
  examples: ['elementaryCharge']
317
317
  },
318
318
  bohrMagneton: {
319
- description: 'Borh magneton',
319
+ description: 'Bohr magneton',
320
320
  examples: ['bohrMagneton']
321
321
  },
322
322
  conductanceQuantum: {
@@ -341,7 +341,7 @@ export var embeddedDocs = {
341
341
  examples: ['klitzing']
342
342
  },
343
343
  bohrRadius: {
344
- description: 'Borh radius',
344
+ description: 'Bohr radius',
345
345
  examples: ['bohrRadius']
346
346
  },
347
347
  classicalElectronRadius: {
@@ -2,7 +2,7 @@ export var hypotDocs = {
2
2
  name: 'hypot',
3
3
  category: 'Arithmetic',
4
4
  syntax: ['hypot(a, b, c, ...)', 'hypot([a, b, c, ...])'],
5
- description: 'Calculate the hypotenusa of a list with values. ',
5
+ description: 'Calculate the hypotenuse of a list with values.',
6
6
  examples: ['hypot(3, 4)', 'sqrt(3^2 + 4^2)', 'hypot(-2)', 'hypot([3, 4, 5])'],
7
7
  seealso: ['abs', 'norm']
8
8
  };
@@ -2,7 +2,7 @@ export var diffDocs = {
2
2
  name: 'diff',
3
3
  category: 'Matrix',
4
4
  syntax: ['diff(arr)', 'diff(arr, dim)'],
5
- description: ['Create a new matrix or array with the difference of the passed matrix or array.', 'Dim parameter is optional and used to indicant the dimension of the array/matrix to apply the difference', 'If no dimension parameter is passed it is assumed as dimension 0', 'Dimension is zero-based in javascript and one-based in the parser', 'Arrays must be \'rectangular\' meaning arrays like [1, 2]', 'If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays'],
5
+ description: ['Create a new matrix or array with the difference of the passed matrix or array.', 'Dim parameter is optional and used to indicate the dimension of the array/matrix to apply the difference', 'If no dimension parameter is passed it is assumed as dimension 0', 'Dimension is zero-based in javascript and one-based in the parser', 'Arrays must be \'rectangular\' meaning arrays like [1, 2]', 'If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays'],
6
6
  examples: ['A = [1, 2, 4, 7, 0]', 'diff(A)', 'diff(A, 1)', 'B = [[1, 2], [3, 4]]', 'diff(B)', 'diff(B, 1)', 'diff(B, 2)', 'diff(B, bignumber(2))', 'diff([[1, 2], matrix([3, 4])], 2)'],
7
7
  seealso: ['subtract', 'partitionSelect']
8
8
  };
@@ -2,7 +2,7 @@ export var fftDocs = {
2
2
  name: 'fft',
3
3
  category: 'Matrix',
4
4
  syntax: ['fft(x)'],
5
- description: 'Calculate N-dimensional fourier transform',
5
+ description: 'Calculate N-dimensional Fourier transform',
6
6
  examples: ['fft([[1, 0], [1, 0]])'],
7
7
  seealso: ['ifft']
8
8
  };
@@ -2,7 +2,7 @@ export var ifftDocs = {
2
2
  name: 'ifft',
3
3
  category: 'Matrix',
4
4
  syntax: ['ifft(x)'],
5
- description: 'Calculate N-dimensional inverse fourier transform',
5
+ description: 'Calculate N-dimensional inverse Fourier transform',
6
6
  examples: ['ifft([[2, 2], [0, 0]])'],
7
7
  seealso: ['fft']
8
8
  };
@@ -2,7 +2,7 @@ export var kronDocs = {
2
2
  name: 'kron',
3
3
  category: 'Matrix',
4
4
  syntax: ['kron(x, y)'],
5
- description: 'Calculates the kronecker product of 2 matrices or vectors.',
5
+ description: 'Calculates the Kronecker product of 2 matrices or vectors.',
6
6
  examples: ['kron([[1, 0], [0, 1]], [[1, 2], [3, 4]])', 'kron([1,1], [2,3,4])'],
7
7
  seealso: ['multiply', 'dot', 'cross']
8
8
  };
@@ -1,8 +1,8 @@
1
1
  export var mapDocs = {
2
2
  name: 'map',
3
3
  category: 'Matrix',
4
- syntax: ['map(x, callback)'],
5
- description: 'Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.',
6
- examples: ['map([1, 2, 3], square)'],
4
+ syntax: ['map(x, callback)', 'map(x, y, ..., callback)'],
5
+ description: 'Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array or the matrices/arrays.',
6
+ examples: ['map([1, 2, 3], square)', 'map([1, 2], [3, 4], f(a,b) = a + b)'],
7
7
  seealso: ['filter', 'forEach']
8
8
  };
@@ -2,7 +2,7 @@ export var zetaDocs = {
2
2
  name: 'zeta',
3
3
  category: 'Special',
4
4
  syntax: ['zeta(s)'],
5
- description: 'Compute the Riemann Zeta Function using an infinite series and Riemanns Functional Equation for the entire complex plane',
5
+ description: 'Compute the Riemann Zeta Function using an infinite series and Riemann\'s Functional Equation for the entire complex plane',
6
6
  examples: ['zeta(0.2)', 'zeta(-0.5)', 'zeta(4)'],
7
7
  seealso: []
8
8
  };
@@ -2,7 +2,7 @@ export var quantileSeqDocs = {
2
2
  name: 'quantileSeq',
3
3
  category: 'Statistics',
4
4
  syntax: ['quantileSeq(A, prob[, sorted])', 'quantileSeq(A, [prob1, prob2, ...][, sorted])', 'quantileSeq(A, N[, sorted])'],
5
- description: 'Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probablity are: Number, BigNumber. \n\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.',
5
+ description: 'Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probability are: Number, BigNumber. \n\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.',
6
6
  examples: ['quantileSeq([3, -1, 5, 7], 0.5)', 'quantileSeq([3, -1, 5, 7], [1/3, 2/3])', 'quantileSeq([3, -1, 5, 7], 2)', 'quantileSeq([-1, 3, 5, 7], 0.5, true)'],
7
7
  seealso: ['mean', 'median', 'min', 'max', 'prod', 'std', 'sum', 'variance']
8
8
  };
@@ -2,7 +2,7 @@ export var acothDocs = {
2
2
  name: 'acoth',
3
3
  category: 'Trigonometry',
4
4
  syntax: ['acoth(x)'],
5
- description: 'Calculate the hyperbolic arccotangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.',
5
+ description: 'Calculate the inverse hyperbolic tangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.',
6
6
  examples: ['acoth(2)', 'acoth(0.5)'],
7
7
  seealso: ['acsch', 'asech']
8
8
  };
@@ -2,7 +2,7 @@ export var acschDocs = {
2
2
  name: 'acsch',
3
3
  category: 'Trigonometry',
4
4
  syntax: ['acsch(x)'],
5
- description: 'Calculate the hyperbolic arccosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.',
5
+ description: 'Calculate the inverse hyperbolic cosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.',
6
6
  examples: ['acsch(0.5)'],
7
7
  seealso: ['asech', 'acoth']
8
8
  };
@@ -2,7 +2,7 @@ export var cloneDocs = {
2
2
  name: 'clone',
3
3
  category: 'Utils',
4
4
  syntax: ['clone(x)'],
5
- description: 'Clone a variable. Creates a copy of primitive variables,and a deep copy of matrices',
5
+ description: 'Clone a variable. Creates a copy of primitive variables, and a deep copy of matrices',
6
6
  examples: ['clone(3.5)', 'clone(2 - 4i)', 'clone(45 deg)', 'clone([1, 2; 3, 4])', 'clone("hello world")'],
7
7
  seealso: []
8
8
  };
@@ -45,7 +45,7 @@ export var createCompile = /* #__PURE__ */factory(name, dependencies, _ref => {
45
45
  string: function string(expr) {
46
46
  return parse(expr).compile();
47
47
  },
48
- 'Array | Matrix': function ArrayMatrix(expr) {
48
+ 'Array | Matrix': function Array__Matrix(expr) {
49
49
  return deepMap(expr, function (entry) {
50
50
  return parse(entry).compile();
51
51
  });
@@ -11,6 +11,11 @@ export var createEvaluate = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  /**
12
12
  * Evaluate an expression.
13
13
  *
14
+ * The expression parser does not use JavaScript. Its syntax is close
15
+ * to JavaScript but more suited for mathematical expressions.
16
+ * See [https://mathjs.org/docs/expressions/syntax.html](https://mathjs.org/docs/expressions/syntax.html) to learn
17
+ * the syntax and get an overview of the exact differences from JavaScript.
18
+ *
14
19
  * Note the evaluating arbitrary expressions may involve security risks,
15
20
  * see [https://mathjs.org/docs/expressions/security.html](https://mathjs.org/docs/expressions/security.html) for more information.
16
21
  *
@@ -45,16 +50,16 @@ export var createEvaluate = /* #__PURE__ */factory(name, dependencies, _ref => {
45
50
  var scope = createEmptyMap();
46
51
  return parse(expr).compile().evaluate(scope);
47
52
  },
48
- 'string, Map | Object': function stringMapObject(expr, scope) {
53
+ 'string, Map | Object': function string_Map__Object(expr, scope) {
49
54
  return parse(expr).compile().evaluate(scope);
50
55
  },
51
- 'Array | Matrix': function ArrayMatrix(expr) {
56
+ 'Array | Matrix': function Array__Matrix(expr) {
52
57
  var scope = createEmptyMap();
53
58
  return deepMap(expr, function (entry) {
54
59
  return parse(entry).compile().evaluate(scope);
55
60
  });
56
61
  },
57
- 'Array | Matrix, Map | Object': function ArrayMatrixMapObject(expr, scope) {
62
+ 'Array | Matrix, Map | Object': function Array__Matrix_Map__Object(expr, scope) {
58
63
  return deepMap(expr, function (entry) {
59
64
  return parse(entry).compile().evaluate(scope);
60
65
  });
@@ -97,7 +97,7 @@ export var createFunctionNode = /* #__PURE__ */factory(name, dependencies, _ref
97
97
  * invoke a list with arguments on a node
98
98
  * @param {./Node | string} fn
99
99
  * Item resolving to a function on which to invoke
100
- * the arguments, typically a SymboNode or AccessorNode
100
+ * the arguments, typically a SymbolNode or AccessorNode
101
101
  * @param {./Node[]} args
102
102
  */
103
103
  constructor(fn, args) {
@@ -70,10 +70,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
70
70
  string: function string(expression) {
71
71
  return parseStart(expression, {});
72
72
  },
73
- 'Array | Matrix': function ArrayMatrix(expressions) {
73
+ 'Array | Matrix': function Array__Matrix(expressions) {
74
74
  return parseMultiple(expressions, {});
75
75
  },
76
- 'string, Object': function stringObject(expression, options) {
76
+ 'string, Object': function string_Object(expression, options) {
77
77
  var extraNodes = options.nodes !== undefined ? options.nodes : {};
78
78
  return parseStart(expression, extraNodes);
79
79
  },
@@ -37,12 +37,12 @@ export var createFilterTransform = /* #__PURE__ */factory(name, dependencies, _r
37
37
  // one based version of function filter
38
38
  var filter = typed('filter', {
39
39
  'Array, function': _filter,
40
- 'Matrix, function': function MatrixFunction(x, test) {
41
- return x.create(_filter(x.toArray(), test));
40
+ 'Matrix, function': function Matrix_function(x, test) {
41
+ return x.create(_filter(x.toArray(), test), x.datatype());
42
42
  },
43
43
  'Array, RegExp': filterRegExp,
44
- 'Matrix, RegExp': function MatrixRegExp(x, test) {
45
- return x.create(filterRegExp(x.toArray(), test));
44
+ 'Matrix, RegExp': function Matrix_RegExp(x, test) {
45
+ return x.create(filterRegExp(x.toArray(), test), x.datatype());
46
46
  }
47
47
  });
48
48
  return filterTransform;
@@ -35,19 +35,19 @@ export var createForEachTransform = /* #__PURE__ */factory(name, dependencies, _
35
35
 
36
36
  // one-based version of forEach
37
37
  var _forEach = typed('forEach', {
38
- 'Array | Matrix, function': function ArrayMatrixFunction(array, callback) {
39
- var recurse = function recurse(value, index) {
38
+ 'Array | Matrix, function': function Array__Matrix_function(array, callback) {
39
+ var _recurse = function recurse(value, index) {
40
40
  if (Array.isArray(value)) {
41
41
  forEach(value, function (child, i) {
42
42
  // we create a copy of the index array and append the new index value
43
- recurse(child, index.concat(i + 1)); // one based index, hence i+1
43
+ _recurse(child, index.concat(i + 1)); // one based index, hence i+1
44
44
  });
45
45
  } else {
46
46
  // invoke the callback function with the right number of arguments
47
47
  return applyCallback(callback, value, index, array, 'forEach');
48
48
  }
49
49
  };
50
- recurse(array.valueOf(), []); // pass Array
50
+ _recurse(array.valueOf(), []); // pass Array
51
51
  }
52
52
  });
53
53
  return forEachTransform;