mathjs 11.5.1 → 11.7.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 (177) hide show
  1. package/HISTORY.md +34 -0
  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/entry/dependenciesAny/dependenciesAdd.generated.js +2 -0
  6. package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
  7. package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
  8. package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
  9. package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
  10. package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
  11. package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
  12. package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
  13. package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
  14. package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
  15. package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
  16. package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
  17. package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +10 -0
  18. package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +2 -0
  19. package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
  20. package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
  21. package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
  22. package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
  23. package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +2 -0
  24. package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
  25. package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
  26. package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
  27. package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
  28. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +0 -2
  29. package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
  30. package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
  31. package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +2 -0
  32. package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
  33. package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
  34. package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
  35. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +0 -2
  36. package/lib/cjs/entry/impureFunctionsAny.generated.js +102 -103
  37. package/lib/cjs/entry/impureFunctionsNumber.generated.js +41 -42
  38. package/lib/cjs/entry/pureFunctionsAny.generated.js +405 -372
  39. package/lib/cjs/expression/embeddedDocs/function/matrix/partitionSelect.js +1 -1
  40. package/lib/cjs/expression/embeddedDocs/function/matrix/sort.js +1 -1
  41. package/lib/cjs/function/algebra/simplifyConstant.js +1 -2
  42. package/lib/cjs/function/arithmetic/add.js +38 -37
  43. package/lib/cjs/function/arithmetic/dotDivide.js +5 -3
  44. package/lib/cjs/function/arithmetic/dotMultiply.js +5 -3
  45. package/lib/cjs/function/arithmetic/dotPow.js +5 -3
  46. package/lib/cjs/function/arithmetic/expm1.js +1 -1
  47. package/lib/cjs/function/arithmetic/gcd.js +40 -15
  48. package/lib/cjs/function/arithmetic/lcm.js +5 -3
  49. package/lib/cjs/function/arithmetic/mod.js +5 -3
  50. package/lib/cjs/function/arithmetic/nthRoot.js +5 -3
  51. package/lib/cjs/function/arithmetic/nthRoots.js +2 -1
  52. package/lib/cjs/function/arithmetic/round.js +1 -1
  53. package/lib/cjs/function/arithmetic/sign.js +1 -1
  54. package/lib/cjs/function/arithmetic/subtract.js +5 -3
  55. package/lib/cjs/function/bitwise/bitAnd.js +5 -3
  56. package/lib/cjs/function/bitwise/bitOr.js +5 -3
  57. package/lib/cjs/function/bitwise/bitXor.js +5 -3
  58. package/lib/cjs/function/bitwise/leftShift.js +5 -3
  59. package/lib/cjs/function/bitwise/rightArithShift.js +6 -4
  60. package/lib/cjs/function/bitwise/rightLogShift.js +5 -3
  61. package/lib/cjs/function/geometry/distance.js +3 -3
  62. package/lib/cjs/function/logical/and.js +5 -3
  63. package/lib/cjs/function/logical/or.js +5 -3
  64. package/lib/cjs/function/logical/xor.js +5 -3
  65. package/lib/cjs/function/matrix/column.js +3 -1
  66. package/lib/cjs/function/matrix/det.js +7 -1
  67. package/lib/cjs/function/matrix/diff.js +3 -3
  68. package/lib/cjs/function/matrix/fft.js +43 -4
  69. package/lib/cjs/function/matrix/getMatrixDataType.js +1 -1
  70. package/lib/cjs/function/matrix/partitionSelect.js +7 -2
  71. package/lib/cjs/function/matrix/row.js +3 -1
  72. package/lib/cjs/function/matrix/subset.js +1 -1
  73. package/lib/cjs/function/relational/compare.js +5 -3
  74. package/lib/cjs/function/relational/compareText.js +5 -3
  75. package/lib/cjs/function/relational/equal.js +5 -3
  76. package/lib/cjs/function/relational/larger.js +5 -3
  77. package/lib/cjs/function/relational/largerEq.js +5 -3
  78. package/lib/cjs/function/relational/smaller.js +5 -3
  79. package/lib/cjs/function/relational/smallerEq.js +5 -3
  80. package/lib/cjs/function/relational/unequal.js +5 -3
  81. package/lib/cjs/function/set/setIsSubset.js +1 -1
  82. package/lib/cjs/function/set/setSize.js +3 -2
  83. package/lib/cjs/function/statistics/max.js +1 -1
  84. package/lib/cjs/function/statistics/quantileSeq.js +4 -3
  85. package/lib/cjs/function/trigonometry/atan2.js +5 -3
  86. package/lib/cjs/function/unit/to.js +8 -6
  87. package/lib/cjs/header.js +2 -2
  88. package/lib/cjs/type/matrix/utils/broadcast.js +84 -0
  89. package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +27 -20
  90. package/lib/cjs/version.js +1 -1
  91. package/lib/esm/entry/dependenciesAny/dependenciesAdd.generated.js +2 -0
  92. package/lib/esm/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
  93. package/lib/esm/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
  94. package/lib/esm/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
  95. package/lib/esm/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
  96. package/lib/esm/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
  97. package/lib/esm/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
  98. package/lib/esm/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
  99. package/lib/esm/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
  100. package/lib/esm/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
  101. package/lib/esm/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
  102. package/lib/esm/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
  103. package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +10 -0
  104. package/lib/esm/entry/dependenciesAny/dependenciesGcd.generated.js +2 -0
  105. package/lib/esm/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
  106. package/lib/esm/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
  107. package/lib/esm/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
  108. package/lib/esm/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
  109. package/lib/esm/entry/dependenciesAny/dependenciesMod.generated.js +2 -0
  110. package/lib/esm/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
  111. package/lib/esm/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
  112. package/lib/esm/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
  113. package/lib/esm/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
  114. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +0 -2
  115. package/lib/esm/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
  116. package/lib/esm/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
  117. package/lib/esm/entry/dependenciesAny/dependenciesSubtract.generated.js +2 -0
  118. package/lib/esm/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
  119. package/lib/esm/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
  120. package/lib/esm/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
  121. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +0 -2
  122. package/lib/esm/entry/impureFunctionsAny.generated.js +100 -101
  123. package/lib/esm/entry/impureFunctionsNumber.generated.js +38 -39
  124. package/lib/esm/entry/pureFunctionsAny.generated.js +332 -299
  125. package/lib/esm/expression/embeddedDocs/function/matrix/partitionSelect.js +1 -1
  126. package/lib/esm/expression/embeddedDocs/function/matrix/sort.js +1 -1
  127. package/lib/esm/function/algebra/simplifyConstant.js +1 -2
  128. package/lib/esm/function/arithmetic/add.js +38 -37
  129. package/lib/esm/function/arithmetic/dotDivide.js +5 -3
  130. package/lib/esm/function/arithmetic/dotMultiply.js +5 -3
  131. package/lib/esm/function/arithmetic/dotPow.js +5 -3
  132. package/lib/esm/function/arithmetic/expm1.js +1 -1
  133. package/lib/esm/function/arithmetic/gcd.js +32 -13
  134. package/lib/esm/function/arithmetic/lcm.js +5 -3
  135. package/lib/esm/function/arithmetic/mod.js +5 -3
  136. package/lib/esm/function/arithmetic/nthRoot.js +5 -3
  137. package/lib/esm/function/arithmetic/nthRoots.js +2 -1
  138. package/lib/esm/function/arithmetic/round.js +1 -1
  139. package/lib/esm/function/arithmetic/sign.js +1 -1
  140. package/lib/esm/function/arithmetic/subtract.js +5 -3
  141. package/lib/esm/function/bitwise/bitAnd.js +5 -3
  142. package/lib/esm/function/bitwise/bitOr.js +5 -3
  143. package/lib/esm/function/bitwise/bitXor.js +5 -3
  144. package/lib/esm/function/bitwise/leftShift.js +5 -3
  145. package/lib/esm/function/bitwise/rightArithShift.js +6 -4
  146. package/lib/esm/function/bitwise/rightLogShift.js +5 -3
  147. package/lib/esm/function/geometry/distance.js +3 -3
  148. package/lib/esm/function/logical/and.js +5 -3
  149. package/lib/esm/function/logical/or.js +5 -3
  150. package/lib/esm/function/logical/xor.js +5 -3
  151. package/lib/esm/function/matrix/column.js +3 -1
  152. package/lib/esm/function/matrix/det.js +7 -1
  153. package/lib/esm/function/matrix/diff.js +3 -3
  154. package/lib/esm/function/matrix/fft.js +37 -4
  155. package/lib/esm/function/matrix/getMatrixDataType.js +1 -1
  156. package/lib/esm/function/matrix/partitionSelect.js +7 -2
  157. package/lib/esm/function/matrix/row.js +3 -1
  158. package/lib/esm/function/matrix/subset.js +1 -1
  159. package/lib/esm/function/relational/compare.js +5 -3
  160. package/lib/esm/function/relational/compareText.js +5 -3
  161. package/lib/esm/function/relational/equal.js +5 -3
  162. package/lib/esm/function/relational/larger.js +5 -3
  163. package/lib/esm/function/relational/largerEq.js +5 -3
  164. package/lib/esm/function/relational/smaller.js +5 -3
  165. package/lib/esm/function/relational/smallerEq.js +5 -3
  166. package/lib/esm/function/relational/unequal.js +5 -3
  167. package/lib/esm/function/set/setIsSubset.js +1 -1
  168. package/lib/esm/function/set/setSize.js +3 -2
  169. package/lib/esm/function/statistics/max.js +1 -1
  170. package/lib/esm/function/statistics/quantileSeq.js +4 -3
  171. package/lib/esm/function/trigonometry/atan2.js +5 -3
  172. package/lib/esm/function/unit/to.js +8 -6
  173. package/lib/esm/type/matrix/utils/broadcast.js +75 -0
  174. package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +25 -20
  175. package/lib/esm/version.js +1 -1
  176. package/package.json +14 -14
  177. package/types/index.d.ts +247 -471
@@ -3,6 +3,6 @@ export var partitionSelectDocs = {
3
3
  category: 'Matrix',
4
4
  syntax: ['partitionSelect(x, k)', 'partitionSelect(x, k, compare)'],
5
5
  description: 'Partition-based selection of an array or 1D matrix. Will find the kth smallest value, and mutates the input array. Uses Quickselect.',
6
- examples: ['partitionSelect([5, 10, 1], 2)', 'partitionSelect(["C", "B", "A", "D"], 1)'],
6
+ examples: ['partitionSelect([5, 10, 1], 2)', 'partitionSelect(["C", "B", "A", "D"], 1, compareText)', 'arr = [5, 2, 1]', 'partitionSelect(arr, 0) # returns 1, arr is now: [1, 2, 5]', 'arr', 'partitionSelect(arr, 1, \'desc\') # returns 2, arr is now: [5, 2, 1]', 'arr'],
7
7
  seealso: ['sort']
8
8
  };
@@ -3,6 +3,6 @@ export var sortDocs = {
3
3
  category: 'Matrix',
4
4
  syntax: ['sort(x)', 'sort(x, compare)'],
5
5
  description: 'Sort the items in a matrix. Compare can be a string "asc", "desc", "natural", or a custom sort function.',
6
- examples: ['sort([5, 10, 1])', 'sort(["C", "B", "A", "D"])', 'sortByLength(a, b) = size(a)[1] - size(b)[1]', 'sort(["Langdon", "Tom", "Sara"], sortByLength)', 'sort(["10", "1", "2"], "natural")'],
6
+ examples: ['sort([5, 10, 1])', 'sort(["C", "B", "A", "D"], "natural")', 'sortByLength(a, b) = size(a)[1] - size(b)[1]', 'sort(["Langdon", "Tom", "Sara"], sortByLength)', 'sort(["10", "1", "2"], "natural")'],
7
7
  seealso: ['map', 'filter', 'forEach']
8
8
  };
@@ -3,11 +3,10 @@ import { factory } from '../../utils/factory.js';
3
3
  import { createUtil } from './simplify/util.js';
4
4
  import { noBignumber, noFraction } from '../../utils/noop.js';
5
5
  var name = 'simplifyConstant';
6
- var dependencies = ['typed', 'parse', 'config', 'mathWithTransform', 'matrix', '?fraction', '?bignumber', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'SymbolNode'];
6
+ var dependencies = ['typed', 'config', 'mathWithTransform', 'matrix', '?fraction', '?bignumber', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'SymbolNode'];
7
7
  export var createSimplifyConstant = /* #__PURE__ */factory(name, dependencies, _ref => {
8
8
  var {
9
9
  typed,
10
- parse,
11
10
  config,
12
11
  mathWithTransform,
13
12
  matrix,
@@ -4,7 +4,7 @@ import { createMatAlgo04xSidSid } from '../../type/matrix/utils/matAlgo04xSidSid
4
4
  import { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';
5
5
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
6
6
  var name = 'add';
7
- var dependencies = ['typed', 'matrix', 'addScalar', 'equalScalar', 'DenseMatrix', 'SparseMatrix'];
7
+ var dependencies = ['typed', 'matrix', 'addScalar', 'equalScalar', 'DenseMatrix', 'SparseMatrix', 'concat'];
8
8
  export var createAdd = /* #__PURE__ */factory(name, dependencies, _ref => {
9
9
  var {
10
10
  typed,
@@ -12,7 +12,8 @@ export var createAdd = /* #__PURE__ */factory(name, dependencies, _ref => {
12
12
  addScalar,
13
13
  equalScalar,
14
14
  DenseMatrix,
15
- SparseMatrix
15
+ SparseMatrix,
16
+ concat
16
17
  } = _ref;
17
18
  var matAlgo01xDSid = createMatAlgo01xDSid({
18
19
  typed
@@ -27,43 +28,43 @@ export var createAdd = /* #__PURE__ */factory(name, dependencies, _ref => {
27
28
  });
28
29
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
29
30
  typed,
30
- matrix
31
+ matrix,
32
+ concat
31
33
  });
32
-
33
34
  /**
34
- * Add two or more values, `x + y`.
35
- * For matrices, the function is evaluated element wise.
36
- *
37
- * Syntax:
38
- *
39
- * math.add(x, y)
40
- * math.add(x, y, z, ...)
41
- *
42
- * Examples:
43
- *
44
- * math.add(2, 3) // returns number 5
45
- * math.add(2, 3, 4) // returns number 9
46
- *
47
- * const a = math.complex(2, 3)
48
- * const b = math.complex(-4, 1)
49
- * math.add(a, b) // returns Complex -2 + 4i
50
- *
51
- * math.add([1, 2, 3], 4) // returns Array [5, 6, 7]
52
- *
53
- * const c = math.unit('5 cm')
54
- * const d = math.unit('2.1 mm')
55
- * math.add(c, d) // returns Unit 52.1 mm
56
- *
57
- * math.add("2.3", "4") // returns number 6.3
58
- *
59
- * See also:
60
- *
61
- * subtract, sum
62
- *
63
- * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x First value to add
64
- * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Second value to add
65
- * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Sum of `x` and `y`
66
- */
35
+ * Add two or more values, `x + y`.
36
+ * For matrices, the function is evaluated element wise.
37
+ *
38
+ * Syntax:
39
+ *
40
+ * math.add(x, y)
41
+ * math.add(x, y, z, ...)
42
+ *
43
+ * Examples:
44
+ *
45
+ * math.add(2, 3) // returns number 5
46
+ * math.add(2, 3, 4) // returns number 9
47
+ *
48
+ * const a = math.complex(2, 3)
49
+ * const b = math.complex(-4, 1)
50
+ * math.add(a, b) // returns Complex -2 + 4i
51
+ *
52
+ * math.add([1, 2, 3], 4) // returns Array [5, 6, 7]
53
+ *
54
+ * const c = math.unit('5 cm')
55
+ * const d = math.unit('2.1 mm')
56
+ * math.add(c, d) // returns Unit 52.1 mm
57
+ *
58
+ * math.add("2.3", "4") // returns number 6.3
59
+ *
60
+ * See also:
61
+ *
62
+ * subtract, sum
63
+ *
64
+ * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x First value to add
65
+ * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Second value to add
66
+ * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Sum of `x` and `y`
67
+ */
67
68
  return typed(name, {
68
69
  'any, any': addScalar,
69
70
  'any, any, ...any': typed.referToSelf(self => (x, y, rest) => {
@@ -6,14 +6,15 @@ import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
6
6
  import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
7
7
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
8
8
  var name = 'dotDivide';
9
- var dependencies = ['typed', 'matrix', 'equalScalar', 'divideScalar', 'DenseMatrix'];
9
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'divideScalar', 'DenseMatrix', 'concat'];
10
10
  export var createDotDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
14
14
  equalScalar,
15
15
  divideScalar,
16
- DenseMatrix
16
+ DenseMatrix,
17
+ concat
17
18
  } = _ref;
18
19
  var matAlgo02xDS0 = createMatAlgo02xDS0({
19
20
  typed,
@@ -36,7 +37,8 @@ export var createDotDivide = /* #__PURE__ */factory(name, dependencies, _ref =>
36
37
  });
37
38
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
38
39
  typed,
39
- matrix
40
+ matrix,
41
+ concat
40
42
  });
41
43
 
42
44
  /**
@@ -4,13 +4,14 @@ import { createMatAlgo09xS0Sf } from '../../type/matrix/utils/matAlgo09xS0Sf.js'
4
4
  import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
5
5
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
6
6
  var name = 'dotMultiply';
7
- var dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar'];
7
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar', 'concat'];
8
8
  export var createDotMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {
9
9
  var {
10
10
  typed,
11
11
  matrix,
12
12
  equalScalar,
13
- multiplyScalar
13
+ multiplyScalar,
14
+ concat
14
15
  } = _ref;
15
16
  var matAlgo02xDS0 = createMatAlgo02xDS0({
16
17
  typed,
@@ -26,7 +27,8 @@ export var createDotMultiply = /* #__PURE__ */factory(name, dependencies, _ref =
26
27
  });
27
28
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
28
29
  typed,
29
- matrix
30
+ matrix,
31
+ concat
30
32
  });
31
33
 
32
34
  /**
@@ -5,14 +5,15 @@ import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
5
5
  import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
6
6
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
7
7
  var name = 'dotPow';
8
- var dependencies = ['typed', 'equalScalar', 'matrix', 'pow', 'DenseMatrix'];
8
+ var dependencies = ['typed', 'equalScalar', 'matrix', 'pow', 'DenseMatrix', 'concat'];
9
9
  export var createDotPow = /* #__PURE__ */factory(name, dependencies, _ref => {
10
10
  var {
11
11
  typed,
12
12
  equalScalar,
13
13
  matrix,
14
14
  pow,
15
- DenseMatrix
15
+ DenseMatrix,
16
+ concat
16
17
  } = _ref;
17
18
  var matAlgo03xDSf = createMatAlgo03xDSf({
18
19
  typed
@@ -31,7 +32,8 @@ export var createDotPow = /* #__PURE__ */factory(name, dependencies, _ref => {
31
32
  });
32
33
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
33
34
  typed,
34
- matrix
35
+ matrix,
36
+ concat
35
37
  });
36
38
  var powScalarSignatures = {};
37
39
  for (var signature in pow.signatures) {
@@ -37,7 +37,7 @@ export var createExpm1 = /* #__PURE__ */factory(name, dependencies, _ref => {
37
37
  *
38
38
  * exp, expm, log, pow
39
39
  *
40
- * @param {number | BigNumber | Complex} x A number or matrix to apply expm1
40
+ * @param {number | BigNumber | Complex} x The number to exponentiate
41
41
  * @return {number | BigNumber | Complex} Exponential of `x`, minus one
42
42
  */
43
43
  return typed(name, {
@@ -4,15 +4,22 @@ import { createMatAlgo04xSidSid } from '../../type/matrix/utils/matAlgo04xSidSid
4
4
  import { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';
5
5
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
6
6
  import { gcdNumber } from '../../plain/number/index.js';
7
+ import { ArgumentsError } from '../../error/ArgumentsError.js';
7
8
  var name = 'gcd';
8
- var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix'];
9
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix', 'concat'];
10
+ var gcdTypes = 'number | BigNumber | Fraction | Matrix | Array';
11
+ var gcdManyTypesSignature = "".concat(gcdTypes, ", ").concat(gcdTypes, ", ...").concat(gcdTypes);
12
+ function is1d(array) {
13
+ return !array.some(element => Array.isArray(element));
14
+ }
9
15
  export var createGcd = /* #__PURE__ */factory(name, dependencies, _ref => {
10
16
  var {
11
17
  typed,
12
18
  matrix,
13
19
  equalScalar,
14
20
  BigNumber,
15
- DenseMatrix
21
+ DenseMatrix,
22
+ concat
16
23
  } = _ref;
17
24
  var matAlgo01xDSid = createMatAlgo01xDSid({
18
25
  typed
@@ -27,16 +34,8 @@ export var createGcd = /* #__PURE__ */factory(name, dependencies, _ref => {
27
34
  });
28
35
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
29
36
  typed,
30
- matrix
31
- });
32
- var gcdTypes = 'number | BigNumber | Fraction | Matrix | Array';
33
- var gcdManySignature = {};
34
- gcdManySignature["".concat(gcdTypes, ", ").concat(gcdTypes, ", ...").concat(gcdTypes)] = typed.referToSelf(self => (a, b, args) => {
35
- var res = self(a, b);
36
- for (var i = 0; i < args.length; i++) {
37
- res = self(res, args[i]);
38
- }
39
- return res;
37
+ matrix,
38
+ concat
40
39
  });
41
40
 
42
41
  /**
@@ -72,7 +71,27 @@ export var createGcd = /* #__PURE__ */factory(name, dependencies, _ref => {
72
71
  SS: matAlgo04xSidSid,
73
72
  DS: matAlgo01xDSid,
74
73
  Ss: matAlgo10xSids
75
- }), gcdManySignature);
74
+ }), {
75
+ [gcdManyTypesSignature]: typed.referToSelf(self => (a, b, args) => {
76
+ var res = self(a, b);
77
+ for (var i = 0; i < args.length; i++) {
78
+ res = self(res, args[i]);
79
+ }
80
+ return res;
81
+ }),
82
+ Array: typed.referToSelf(self => array => {
83
+ if (array.length === 1 && Array.isArray(array[0]) && is1d(array[0])) {
84
+ return self(...array[0]);
85
+ }
86
+ if (is1d(array)) {
87
+ return self(...array);
88
+ }
89
+ throw new ArgumentsError('gcd() supports only 1d matrices!');
90
+ }),
91
+ Matrix: typed.referToSelf(self => matrix => {
92
+ return self(matrix.toArray());
93
+ })
94
+ });
76
95
 
77
96
  /**
78
97
  * Calculate gcd for BigNumbers
@@ -5,12 +5,13 @@ import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
5
5
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
6
6
  import { lcmNumber } from '../../plain/number/index.js';
7
7
  var name = 'lcm';
8
- var dependencies = ['typed', 'matrix', 'equalScalar'];
8
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'concat'];
9
9
  export var createLcm = /* #__PURE__ */factory(name, dependencies, _ref => {
10
10
  var {
11
11
  typed,
12
12
  matrix,
13
- equalScalar
13
+ equalScalar,
14
+ concat
14
15
  } = _ref;
15
16
  var matAlgo02xDS0 = createMatAlgo02xDS0({
16
17
  typed,
@@ -26,7 +27,8 @@ export var createLcm = /* #__PURE__ */factory(name, dependencies, _ref => {
26
27
  });
27
28
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
28
29
  typed,
29
- matrix
30
+ matrix,
31
+ concat
30
32
  });
31
33
  var lcmTypes = 'number | BigNumber | Fraction | Matrix | Array';
32
34
  var lcmManySignature = {};
@@ -7,13 +7,14 @@ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
7
7
  import { modNumber } from '../../plain/number/index.js';
8
8
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
9
9
  var name = 'mod';
10
- var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix'];
10
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];
11
11
  export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
12
12
  var {
13
13
  typed,
14
14
  matrix,
15
15
  equalScalar,
16
- DenseMatrix
16
+ DenseMatrix,
17
+ concat
17
18
  } = _ref;
18
19
  var matAlgo02xDS0 = createMatAlgo02xDS0({
19
20
  typed,
@@ -36,7 +37,8 @@ export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
36
37
  });
37
38
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
38
39
  typed,
39
- matrix
40
+ matrix,
41
+ concat
40
42
  });
41
43
 
42
44
  /**
@@ -6,13 +6,14 @@ import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
6
6
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
7
7
  import { nthRootNumber } from '../../plain/number/index.js';
8
8
  var name = 'nthRoot';
9
- var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber'];
9
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'concat'];
10
10
  export var createNthRoot = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
14
14
  equalScalar,
15
- BigNumber: _BigNumber
15
+ BigNumber: _BigNumber,
16
+ concat
16
17
  } = _ref;
17
18
  var matAlgo01xDSid = createMatAlgo01xDSid({
18
19
  typed
@@ -31,7 +32,8 @@ export var createNthRoot = /* #__PURE__ */factory(name, dependencies, _ref => {
31
32
  });
32
33
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
33
34
  typed,
34
- matrix
35
+ matrix,
36
+ concat
35
37
  });
36
38
 
37
39
  /**
@@ -100,7 +100,8 @@ export var createNthRoots = /* #__PURE__ */factory(name, dependencies, _ref => {
100
100
  * nthRoot, pow, sqrt
101
101
  *
102
102
  * @param {number | BigNumber | Fraction | Complex} x Number to be rounded
103
- * @return {number | BigNumber | Fraction | Complex} Rounded value
103
+ * @param {number} [root=2] Optional root, default value is 2
104
+ * @return {number | BigNumber | Fraction | Complex} Returns the nth roots
104
105
  */
105
106
  return typed(name, {
106
107
  Complex: function Complex(x) {
@@ -29,7 +29,7 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
29
29
  });
30
30
 
31
31
  /**
32
- * Round a value towards the nearest integer.
32
+ * Round a value towards the nearest rounded value.
33
33
  * For matrices, the function is evaluated element wise.
34
34
  *
35
35
  * Syntax:
@@ -37,7 +37,7 @@ export var createSign = /* #__PURE__ */factory(name, dependencies, _ref => {
37
37
  *
38
38
  * @param {number | BigNumber | Fraction | Complex | Array | Matrix | Unit} x
39
39
  * The number for which to determine the sign
40
- * @return {number | BigNumber | Fraction | Complex | Array | Matrix | Unit}e
40
+ * @return {number | BigNumber | Fraction | Complex | Array | Matrix | Unit}
41
41
  * The sign of `x`
42
42
  */
43
43
  return typed(name, {
@@ -6,7 +6,7 @@ import { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js'
6
6
  import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
7
7
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
8
8
  var name = 'subtract';
9
- var dependencies = ['typed', 'matrix', 'equalScalar', 'addScalar', 'unaryMinus', 'DenseMatrix'];
9
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'addScalar', 'unaryMinus', 'DenseMatrix', 'concat'];
10
10
  export var createSubtract = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
@@ -14,7 +14,8 @@ export var createSubtract = /* #__PURE__ */factory(name, dependencies, _ref => {
14
14
  equalScalar,
15
15
  addScalar,
16
16
  unaryMinus,
17
- DenseMatrix
17
+ DenseMatrix,
18
+ concat
18
19
  } = _ref;
19
20
  // TODO: split function subtract in two: subtract and subtractScalar
20
21
 
@@ -38,7 +39,8 @@ export var createSubtract = /* #__PURE__ */factory(name, dependencies, _ref => {
38
39
  });
39
40
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
40
41
  typed,
41
- matrix
42
+ matrix,
43
+ concat
42
44
  });
43
45
 
44
46
  /**
@@ -6,12 +6,13 @@ import { factory } from '../../utils/factory.js';
6
6
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
7
7
  import { bitAndNumber } from '../../plain/number/index.js';
8
8
  var name = 'bitAnd';
9
- var dependencies = ['typed', 'matrix', 'equalScalar'];
9
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'concat'];
10
10
  export var createBitAnd = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
14
- equalScalar
14
+ equalScalar,
15
+ concat
15
16
  } = _ref;
16
17
  var matAlgo02xDS0 = createMatAlgo02xDS0({
17
18
  typed,
@@ -27,7 +28,8 @@ export var createBitAnd = /* #__PURE__ */factory(name, dependencies, _ref => {
27
28
  });
28
29
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
29
30
  typed,
30
- matrix
31
+ matrix,
32
+ concat
31
33
  });
32
34
 
33
35
  /**
@@ -6,13 +6,14 @@ import { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js'
6
6
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
7
7
  import { bitOrNumber } from '../../plain/number/index.js';
8
8
  var name = 'bitOr';
9
- var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix'];
9
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix', 'concat'];
10
10
  export var createBitOr = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
14
14
  equalScalar,
15
- DenseMatrix
15
+ DenseMatrix,
16
+ concat
16
17
  } = _ref;
17
18
  var matAlgo01xDSid = createMatAlgo01xDSid({
18
19
  typed
@@ -27,7 +28,8 @@ export var createBitOr = /* #__PURE__ */factory(name, dependencies, _ref => {
27
28
  });
28
29
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
29
30
  typed,
30
- matrix
31
+ matrix,
32
+ concat
31
33
  });
32
34
 
33
35
  /**
@@ -6,12 +6,13 @@ import { factory } from '../../utils/factory.js';
6
6
  import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
7
7
  import { bitXorNumber } from '../../plain/number/index.js';
8
8
  var name = 'bitXor';
9
- var dependencies = ['typed', 'matrix', 'DenseMatrix'];
9
+ var dependencies = ['typed', 'matrix', 'DenseMatrix', 'concat'];
10
10
  export var createBitXor = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
14
- DenseMatrix
14
+ DenseMatrix,
15
+ concat
15
16
  } = _ref;
16
17
  var matAlgo03xDSf = createMatAlgo03xDSf({
17
18
  typed
@@ -26,7 +27,8 @@ export var createBitXor = /* #__PURE__ */factory(name, dependencies, _ref => {
26
27
  });
27
28
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
28
29
  typed,
29
- matrix
30
+ matrix,
31
+ concat
30
32
  });
31
33
 
32
34
  /**
@@ -10,14 +10,15 @@ import { createUseMatrixForArrayScalar } from './useMatrixForArrayScalar.js';
10
10
  import { leftShiftNumber } from '../../plain/number/index.js';
11
11
  import { leftShiftBigNumber } from '../../utils/bignumber/bitwise.js';
12
12
  var name = 'leftShift';
13
- var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
13
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix', 'concat'];
14
14
  export var createLeftShift = /* #__PURE__ */factory(name, dependencies, _ref => {
15
15
  var {
16
16
  typed,
17
17
  matrix,
18
18
  equalScalar,
19
19
  zeros,
20
- DenseMatrix
20
+ DenseMatrix,
21
+ concat
21
22
  } = _ref;
22
23
  var matAlgo01xDSid = createMatAlgo01xDSid({
23
24
  typed
@@ -43,7 +44,8 @@ export var createLeftShift = /* #__PURE__ */factory(name, dependencies, _ref =>
43
44
  });
44
45
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
45
46
  typed,
46
- matrix
47
+ matrix,
48
+ concat
47
49
  });
48
50
  var useMatrixForArrayScalar = createUseMatrixForArrayScalar({
49
51
  typed,
@@ -10,14 +10,15 @@ import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgori
10
10
  import { createUseMatrixForArrayScalar } from './useMatrixForArrayScalar.js';
11
11
  import { rightArithShiftNumber } from '../../plain/number/index.js';
12
12
  var name = 'rightArithShift';
13
- var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
13
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix', 'concat'];
14
14
  export var createRightArithShift = /* #__PURE__ */factory(name, dependencies, _ref => {
15
15
  var {
16
16
  typed,
17
17
  matrix,
18
18
  equalScalar,
19
19
  zeros,
20
- DenseMatrix
20
+ DenseMatrix,
21
+ concat
21
22
  } = _ref;
22
23
  var matAlgo01xDSid = createMatAlgo01xDSid({
23
24
  typed
@@ -43,7 +44,8 @@ export var createRightArithShift = /* #__PURE__ */factory(name, dependencies, _r
43
44
  });
44
45
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
45
46
  typed,
46
- matrix
47
+ matrix,
48
+ concat
47
49
  });
48
50
  var useMatrixForArrayScalar = createUseMatrixForArrayScalar({
49
51
  typed,
@@ -71,7 +73,7 @@ export var createRightArithShift = /* #__PURE__ */factory(name, dependencies, _r
71
73
  *
72
74
  * @param {number | BigNumber | Array | Matrix} x Value to be shifted
73
75
  * @param {number | BigNumber} y Amount of shifts
74
- * @return {number | BigNumber | Array | Matrix} `x` sign-filled shifted right `y` times
76
+ * @return {number | BigNumber | Array | Matrix} `x` zero-filled shifted right `y` times
75
77
  */
76
78
  return typed(name, {
77
79
  'number, number': rightArithShiftNumber,
@@ -9,14 +9,15 @@ import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgori
9
9
  import { rightLogShiftNumber } from '../../plain/number/index.js';
10
10
  import { createUseMatrixForArrayScalar } from './useMatrixForArrayScalar.js';
11
11
  var name = 'rightLogShift';
12
- var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
12
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix', 'concat'];
13
13
  export var createRightLogShift = /* #__PURE__ */factory(name, dependencies, _ref => {
14
14
  var {
15
15
  typed,
16
16
  matrix,
17
17
  equalScalar,
18
18
  zeros,
19
- DenseMatrix
19
+ DenseMatrix,
20
+ concat
20
21
  } = _ref;
21
22
  var matAlgo01xDSid = createMatAlgo01xDSid({
22
23
  typed
@@ -42,7 +43,8 @@ export var createRightLogShift = /* #__PURE__ */factory(name, dependencies, _ref
42
43
  });
43
44
  var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
44
45
  typed,
45
- matrix
46
+ matrix,
47
+ concat
46
48
  });
47
49
  var useMatrixForArrayScalar = createUseMatrixForArrayScalar({
48
50
  typed,
@@ -24,7 +24,7 @@ export var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {
24
24
  *
25
25
  * Syntax:
26
26
  * math.distance([x1, y1], [x2, y2])
27
- *- math.distance({pointOneX: 4, pointOneY: 5}, {pointTwoX: 2, pointTwoY: 7})
27
+ * math.distance({pointOneX: 4, pointOneY: 5}, {pointTwoX: 2, pointTwoY: 7})
28
28
  * math.distance([x1, y1, z1], [x2, y2, z2])
29
29
  * math.distance({pointOneX: 4, pointOneY: 5, pointOneZ: 8}, {pointTwoX: 2, pointTwoY: 7, pointTwoZ: 9})
30
30
  * math.distance([x1, y1, ... , N1], [x2, y2, ... , N2])
@@ -35,7 +35,7 @@ export var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {
35
35
  * math.distance({pointX: 1, pointY: 4, pointZ: 7}, {lineOnePtX: 6, lineOnePtY: 3, lineOnePtZ: 4}, {lineTwoPtX: 2, lineTwoPtY: 8, lineTwoPtZ: 5})
36
36
  * math.distance([x1, y1], [xCoeffLine, yCoeffLine, constant])
37
37
  * math.distance({pointX: 10, pointY: 10}, {xCoeffLine: 8, yCoeffLine: 1, constant: 3})
38
- * math.distance([x1, y1, z1], [x0, y0, z0, a-tCoeff, b-tCoeff, c-tCoeff]) point and parametric equation of 3D line
38
+ * math.distance([x1, y1, z1], [x0, y0, z0, a-tCoeff, b-tCoeff, c-tCoeff]) // point and parametric equation of 3D line
39
39
  * math.distance([x, y, z], [x0, y0, z0, a, b, c])
40
40
  * math.distance({pointX: 2, pointY: 5, pointZ: 9}, {x0: 4, y0: 6, z0: 3, a: 4, b: 2, c: 0})
41
41
  *
@@ -60,7 +60,7 @@ export var createDistance = /* #__PURE__ */factory(name, dependencies, _ref => {
60
60
  * math.distance([2, 3, 1], [1, 1, 2, 5, 0, 1]) // Returns 2.3204774044612857
61
61
  * math.distance(
62
62
  * {pointX: 2, pointY: 3, pointZ: 1},
63
- * {x0: 1, y0: 1, z0: 2, a: 5, b: 0, c: 1} // Returns 2.3204774044612857
63
+ * {x0: 1, y0: 1, z0: 2, a: 5, b: 0, c: 1}) // Returns 2.3204774044612857
64
64
  *
65
65
  * @param {Array | Matrix | Object} x Co-ordinates of first point
66
66
  * @param {Array | Matrix | Object} y Co-ordinates of second point