mathjs 11.11.2 → 11.12.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 (89) hide show
  1. package/HISTORY.md +11 -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/core/create.js +2 -2
  6. package/lib/cjs/defaultInstance.js +2 -2
  7. package/lib/cjs/entry/allFactoriesAny.js +2 -2
  8. package/lib/cjs/entry/allFactoriesNumber.js +2 -2
  9. package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +2 -2
  10. package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +2 -2
  11. package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +2 -2
  12. package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +2 -2
  13. package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +2 -2
  14. package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +2 -2
  15. package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +2 -2
  16. package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +2 -2
  17. package/lib/cjs/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +17 -0
  18. package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +2 -2
  19. package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +2 -2
  20. package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +2 -2
  21. package/lib/cjs/entry/dependenciesAny.generated.js +7 -0
  22. package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +2 -2
  23. package/lib/cjs/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +17 -0
  24. package/lib/cjs/entry/dependenciesNumber.generated.js +7 -0
  25. package/lib/cjs/entry/impureFunctionsAny.generated.js +4 -3
  26. package/lib/cjs/entry/impureFunctionsNumber.generated.js +2 -1
  27. package/lib/cjs/entry/pureFunctionsAny.generated.js +41 -37
  28. package/lib/cjs/entry/pureFunctionsNumber.generated.js +16 -13
  29. package/lib/cjs/expression/parse.js +50 -69
  30. package/lib/cjs/factoriesAny.js +7 -0
  31. package/lib/cjs/factoriesNumber.js +2 -1
  32. package/lib/cjs/function/algebra/decomposition/lup.js +3 -3
  33. package/lib/cjs/function/algebra/decomposition/qr.js +5 -5
  34. package/lib/cjs/function/algebra/solver/lsolve.js +4 -4
  35. package/lib/cjs/function/algebra/solver/lsolveAll.js +6 -6
  36. package/lib/cjs/function/algebra/solver/usolve.js +4 -4
  37. package/lib/cjs/function/algebra/solver/usolveAll.js +6 -6
  38. package/lib/cjs/function/arithmetic/subtract.js +7 -37
  39. package/lib/cjs/function/arithmetic/subtractScalar.js +52 -0
  40. package/lib/cjs/function/combinatorics/stirlingS2.js +2 -2
  41. package/lib/cjs/function/geometry/distance.js +10 -10
  42. package/lib/cjs/function/matrix/det.js +4 -4
  43. package/lib/cjs/header.js +2 -2
  44. package/lib/cjs/type/unit/Unit.js +5 -5
  45. package/lib/cjs/utils/object.js +4 -2
  46. package/lib/cjs/utils/snapshot.js +3 -3
  47. package/lib/cjs/utils/string.js +12 -16
  48. package/lib/cjs/version.js +1 -1
  49. package/lib/esm/entry/dependenciesAny/dependenciesDet.generated.js +2 -2
  50. package/lib/esm/entry/dependenciesAny/dependenciesDistance.generated.js +2 -2
  51. package/lib/esm/entry/dependenciesAny/dependenciesLsolve.generated.js +2 -2
  52. package/lib/esm/entry/dependenciesAny/dependenciesLsolveAll.generated.js +2 -2
  53. package/lib/esm/entry/dependenciesAny/dependenciesLup.generated.js +2 -2
  54. package/lib/esm/entry/dependenciesAny/dependenciesQr.generated.js +2 -2
  55. package/lib/esm/entry/dependenciesAny/dependenciesStirlingS2.generated.js +2 -2
  56. package/lib/esm/entry/dependenciesAny/dependenciesSubtract.generated.js +2 -2
  57. package/lib/esm/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +10 -0
  58. package/lib/esm/entry/dependenciesAny/dependenciesUnitClass.generated.js +2 -2
  59. package/lib/esm/entry/dependenciesAny/dependenciesUsolve.generated.js +2 -2
  60. package/lib/esm/entry/dependenciesAny/dependenciesUsolveAll.generated.js +2 -2
  61. package/lib/esm/entry/dependenciesAny.generated.js +1 -0
  62. package/lib/esm/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +2 -2
  63. package/lib/esm/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +10 -0
  64. package/lib/esm/entry/dependenciesNumber.generated.js +1 -0
  65. package/lib/esm/entry/impureFunctionsAny.generated.js +5 -4
  66. package/lib/esm/entry/impureFunctionsNumber.generated.js +3 -2
  67. package/lib/esm/entry/pureFunctionsAny.generated.js +40 -37
  68. package/lib/esm/entry/pureFunctionsNumber.generated.js +16 -13
  69. package/lib/esm/expression/parse.js +50 -69
  70. package/lib/esm/factoriesAny.js +1 -0
  71. package/lib/esm/factoriesNumber.js +1 -0
  72. package/lib/esm/function/algebra/decomposition/lup.js +3 -3
  73. package/lib/esm/function/algebra/decomposition/qr.js +5 -5
  74. package/lib/esm/function/algebra/solver/lsolve.js +4 -4
  75. package/lib/esm/function/algebra/solver/lsolveAll.js +6 -6
  76. package/lib/esm/function/algebra/solver/usolve.js +4 -4
  77. package/lib/esm/function/algebra/solver/usolveAll.js +6 -6
  78. package/lib/esm/function/arithmetic/subtract.js +7 -27
  79. package/lib/esm/function/arithmetic/subtractScalar.js +46 -0
  80. package/lib/esm/function/combinatorics/stirlingS2.js +2 -2
  81. package/lib/esm/function/geometry/distance.js +10 -10
  82. package/lib/esm/function/matrix/det.js +4 -4
  83. package/lib/esm/type/unit/Unit.js +5 -5
  84. package/lib/esm/utils/object.js +5 -3
  85. package/lib/esm/utils/snapshot.js +1 -1
  86. package/lib/esm/utils/string.js +12 -16
  87. package/lib/esm/version.js +1 -1
  88. package/package.json +13 -13
  89. package/types/index.d.ts +31 -0
@@ -9,13 +9,13 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
9
9
  var _factory = require("../../../utils/factory.js");
10
10
  var _solveValidation = require("./utils/solveValidation.js");
11
11
  var name = 'usolveAll';
12
- var dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtract', 'equalScalar', 'DenseMatrix'];
12
+ var dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtractScalar', 'equalScalar', 'DenseMatrix'];
13
13
  var createUsolveAll = exports.createUsolveAll = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
14
14
  var typed = _ref.typed,
15
15
  matrix = _ref.matrix,
16
16
  divideScalar = _ref.divideScalar,
17
17
  multiplyScalar = _ref.multiplyScalar,
18
- subtract = _ref.subtract,
18
+ subtractScalar = _ref.subtractScalar,
19
19
  equalScalar = _ref.equalScalar,
20
20
  DenseMatrix = _ref.DenseMatrix;
21
21
  var solveValidation = (0, _solveValidation.createSolveValidation)({
@@ -86,7 +86,7 @@ var createUsolveAll = exports.createUsolveAll = /* #__PURE__ */(0, _factory.fact
86
86
  b[i] = divideScalar(b[i], M[i][i]);
87
87
  for (var j = i - 1; j >= 0; j--) {
88
88
  // b[j] -= b[i] * M[j,i]
89
- b[j] = subtract(b[j], multiplyScalar(b[i], M[j][i]));
89
+ b[j] = subtractScalar(b[j], multiplyScalar(b[i], M[j][i]));
90
90
  }
91
91
  } else if (!equalScalar(b[i], 0)) {
92
92
  // singular row, nonzero RHS
@@ -106,7 +106,7 @@ var createUsolveAll = exports.createUsolveAll = /* #__PURE__ */(0, _factory.fact
106
106
  var bNew = (0, _toConsumableArray2["default"])(b);
107
107
  bNew[i] = 1;
108
108
  for (var _j = i - 1; _j >= 0; _j--) {
109
- bNew[_j] = subtract(bNew[_j], M[_j][i]);
109
+ bNew[_j] = subtractScalar(bNew[_j], M[_j][i]);
110
110
  }
111
111
  B.push(bNew);
112
112
  }
@@ -169,7 +169,7 @@ var createUsolveAll = exports.createUsolveAll = /* #__PURE__ */(0, _factory.fact
169
169
  // loop upper triangular
170
170
  for (var _j2 = 0, _lastIndex = iIndices.length; _j2 < _lastIndex; _j2++) {
171
171
  var _J = iIndices[_j2];
172
- b[_J] = subtract(b[_J], multiplyScalar(b[i], iValues[_j2]));
172
+ b[_J] = subtractScalar(b[_J], multiplyScalar(b[i], iValues[_j2]));
173
173
  }
174
174
  } else if (!equalScalar(b[i], 0)) {
175
175
  // singular row, nonzero RHS
@@ -192,7 +192,7 @@ var createUsolveAll = exports.createUsolveAll = /* #__PURE__ */(0, _factory.fact
192
192
  // loop upper triangular
193
193
  for (var _j3 = 0, _lastIndex2 = iIndices.length; _j3 < _lastIndex2; _j3++) {
194
194
  var _J2 = iIndices[_j3];
195
- bNew[_J2] = subtract(bNew[_J2], iValues[_j3]);
195
+ bNew[_J2] = subtractScalar(bNew[_J2], iValues[_j3]);
196
196
  }
197
197
  B.push(bNew);
198
198
  }
@@ -12,12 +12,12 @@ var _matAlgo10xSids = require("../../type/matrix/utils/matAlgo10xSids.js");
12
12
  var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
13
13
  var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
14
14
  var name = 'subtract';
15
- var dependencies = ['typed', 'matrix', 'equalScalar', 'addScalar', 'unaryMinus', 'DenseMatrix', 'concat'];
15
+ var dependencies = ['typed', 'matrix', 'equalScalar', 'subtractScalar', 'unaryMinus', 'DenseMatrix', 'concat'];
16
16
  var createSubtract = exports.createSubtract = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
17
17
  var typed = _ref.typed,
18
18
  matrix = _ref.matrix,
19
19
  equalScalar = _ref.equalScalar,
20
- addScalar = _ref.addScalar,
20
+ subtractScalar = _ref.subtractScalar,
21
21
  unaryMinus = _ref.unaryMinus,
22
22
  DenseMatrix = _ref.DenseMatrix,
23
23
  concat = _ref.concat;
@@ -73,44 +73,14 @@ var createSubtract = exports.createSubtract = /* #__PURE__ */(0, _factory.factor
73
73
  *
74
74
  * add
75
75
  *
76
- * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x
77
- * Initial value
78
- * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y
79
- * Value to subtract from `x`
80
- * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix}
81
- * Subtraction of `x` and `y`
76
+ * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Initial value
77
+ * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Value to subtract from `x`
78
+ * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Subtraction of `x` and `y`
82
79
  */
83
80
  return typed(name, {
84
- 'number, number': function numberNumber(x, y) {
85
- return x - y;
86
- },
87
- 'Complex, Complex': function ComplexComplex(x, y) {
88
- return x.sub(y);
89
- },
90
- 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
91
- return x.minus(y);
92
- },
93
- 'Fraction, Fraction': function FractionFraction(x, y) {
94
- return x.sub(y);
95
- },
96
- 'Unit, Unit': typed.referToSelf(function (self) {
97
- return function (x, y) {
98
- if (x.value === null) {
99
- throw new Error('Parameter x contains a unit with undefined value');
100
- }
101
- if (y.value === null) {
102
- throw new Error('Parameter y contains a unit with undefined value');
103
- }
104
- if (!x.equalBase(y)) {
105
- throw new Error('Units do not match');
106
- }
107
- var res = x.clone();
108
- res.value = typed.find(self, [res.valueType(), y.valueType()])(res.value, y.value);
109
- res.fixPrefix = false;
110
- return res;
111
- };
112
- })
81
+ 'any, any': subtractScalar
113
82
  }, matrixAlgorithmSuite({
83
+ elop: subtractScalar,
114
84
  SS: matAlgo05xSfSf,
115
85
  DS: matAlgo01xDSid,
116
86
  SD: matAlgo03xDSf,
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSubtractScalar = void 0;
7
+ var _factory = require("../../utils/factory.js");
8
+ var _index = require("../../plain/number/index.js");
9
+ var name = 'subtractScalar';
10
+ var dependencies = ['typed'];
11
+ var createSubtractScalar = exports.createSubtractScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
12
+ var typed = _ref.typed;
13
+ /**
14
+ * Subtract two scalar values, `x - y`.
15
+ * This function is meant for internal use: it is used by the public function
16
+ * `subtract`
17
+ *
18
+ * This function does not support collections (Array or Matrix).
19
+ *
20
+ * @param {number | BigNumber | Fraction | Complex | Unit} x First value
21
+ * @param {number | BigNumber | Fraction | Complex} y Second value to be subtracted from `x`
22
+ * @return {number | BigNumber | Fraction | Complex | Unit} Difference of `x` and `y`
23
+ * @private
24
+ */
25
+ return typed(name, {
26
+ 'number, number': _index.subtractNumber,
27
+ 'Complex, Complex': function ComplexComplex(x, y) {
28
+ return x.sub(y);
29
+ },
30
+ 'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
31
+ return x.minus(y);
32
+ },
33
+ 'Fraction, Fraction': function FractionFraction(x, y) {
34
+ return x.sub(y);
35
+ },
36
+ 'Unit, Unit': typed.referToSelf(function (self) {
37
+ return function (x, y) {
38
+ if (x.value === null || x.value === undefined) {
39
+ throw new Error('Parameter x contains a unit with undefined value');
40
+ }
41
+ if (y.value === null || y.value === undefined) {
42
+ throw new Error('Parameter y contains a unit with undefined value');
43
+ }
44
+ if (!x.equalBase(y)) throw new Error('Units do not match');
45
+ var res = x.clone();
46
+ res.value = typed.find(self, [res.valueType(), y.valueType()])(res.value, y.value);
47
+ res.fixPrefix = false;
48
+ return res;
49
+ };
50
+ })
51
+ });
52
+ });
@@ -7,11 +7,11 @@ exports.createStirlingS2 = void 0;
7
7
  var _factory = require("../../utils/factory.js");
8
8
  var _is = require("../../utils/is.js");
9
9
  var name = 'stirlingS2';
10
- var dependencies = ['typed', 'addScalar', 'subtract', 'multiplyScalar', 'divideScalar', 'pow', 'factorial', 'combinations', 'isNegative', 'isInteger', 'number', '?bignumber', 'larger'];
10
+ var dependencies = ['typed', 'addScalar', 'subtractScalar', 'multiplyScalar', 'divideScalar', 'pow', 'factorial', 'combinations', 'isNegative', 'isInteger', 'number', '?bignumber', 'larger'];
11
11
  var createStirlingS2 = exports.createStirlingS2 = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
12
12
  var typed = _ref.typed,
13
13
  addScalar = _ref.addScalar,
14
- subtract = _ref.subtract,
14
+ subtractScalar = _ref.subtractScalar,
15
15
  multiplyScalar = _ref.multiplyScalar,
16
16
  divideScalar = _ref.divideScalar,
17
17
  pow = _ref.pow,
@@ -7,11 +7,11 @@ exports.createDistance = void 0;
7
7
  var _is = require("../../utils/is.js");
8
8
  var _factory = require("../../utils/factory.js");
9
9
  var name = 'distance';
10
- var dependencies = ['typed', 'addScalar', 'subtract', 'divideScalar', 'multiplyScalar', 'deepEqual', 'sqrt', 'abs'];
10
+ var dependencies = ['typed', 'addScalar', 'subtractScalar', 'divideScalar', 'multiplyScalar', 'deepEqual', 'sqrt', 'abs'];
11
11
  var createDistance = exports.createDistance = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
12
12
  var typed = _ref.typed,
13
13
  addScalar = _ref.addScalar,
14
- subtract = _ref.subtract,
14
+ subtractScalar = _ref.subtractScalar,
15
15
  multiplyScalar = _ref.multiplyScalar,
16
16
  divideScalar = _ref.divideScalar,
17
17
  deepEqual = _ref.deepEqual,
@@ -84,9 +84,9 @@ var createDistance = exports.createDistance = /* #__PURE__ */(0, _factory.factor
84
84
  if (deepEqual(y, z)) {
85
85
  throw new TypeError('LinePoint1 should not be same with LinePoint2');
86
86
  }
87
- var xCoeff = subtract(z[1], y[1]);
88
- var yCoeff = subtract(y[0], z[0]);
89
- var constant = subtract(multiplyScalar(z[0], y[1]), multiplyScalar(y[0], z[1]));
87
+ var xCoeff = subtractScalar(z[1], y[1]);
88
+ var yCoeff = subtractScalar(y[0], z[0]);
89
+ var constant = subtractScalar(multiplyScalar(z[0], y[1]), multiplyScalar(y[0], z[1]));
90
90
  return _distancePointLine2D(x[0], x[1], xCoeff, yCoeff, constant);
91
91
  } else {
92
92
  throw new TypeError('Invalid Arguments: Try again');
@@ -107,9 +107,9 @@ var createDistance = exports.createDistance = /* #__PURE__ */(0, _factory.factor
107
107
  throw new TypeError('LinePoint1 should not be same with LinePoint2');
108
108
  }
109
109
  if ('pointX' in x && 'pointY' in x && 'lineOnePtX' in y && 'lineOnePtY' in y && 'lineTwoPtX' in z && 'lineTwoPtY' in z) {
110
- var xCoeff = subtract(z.lineTwoPtY, y.lineOnePtY);
111
- var yCoeff = subtract(y.lineOnePtX, z.lineTwoPtX);
112
- var constant = subtract(multiplyScalar(z.lineTwoPtX, y.lineOnePtY), multiplyScalar(y.lineOnePtX, z.lineTwoPtY));
110
+ var xCoeff = subtractScalar(z.lineTwoPtY, y.lineOnePtY);
111
+ var yCoeff = subtractScalar(y.lineOnePtX, z.lineTwoPtX);
112
+ var constant = subtractScalar(multiplyScalar(z.lineTwoPtX, y.lineOnePtY), multiplyScalar(y.lineOnePtX, z.lineTwoPtY));
113
113
  return _distancePointLine2D(x.pointX, x.pointY, xCoeff, yCoeff, constant);
114
114
  } else {
115
115
  throw new TypeError('Key names do not match');
@@ -277,7 +277,7 @@ var createDistance = exports.createDistance = /* #__PURE__ */(0, _factory.factor
277
277
  return divideScalar(num, den);
278
278
  }
279
279
  function _distancePointLine3D(x, y, z, x0, y0, z0, a, b, c) {
280
- var num = [subtract(multiplyScalar(subtract(y0, y), c), multiplyScalar(subtract(z0, z), b)), subtract(multiplyScalar(subtract(z0, z), a), multiplyScalar(subtract(x0, x), c)), subtract(multiplyScalar(subtract(x0, x), b), multiplyScalar(subtract(y0, y), a))];
280
+ var num = [subtractScalar(multiplyScalar(subtractScalar(y0, y), c), multiplyScalar(subtractScalar(z0, z), b)), subtractScalar(multiplyScalar(subtractScalar(z0, z), a), multiplyScalar(subtractScalar(x0, x), c)), subtractScalar(multiplyScalar(subtractScalar(x0, x), b), multiplyScalar(subtractScalar(y0, y), a))];
281
281
  num = sqrt(addScalar(addScalar(multiplyScalar(num[0], num[0]), multiplyScalar(num[1], num[1])), multiplyScalar(num[2], num[2])));
282
282
  var den = sqrt(addScalar(addScalar(multiplyScalar(a, a), multiplyScalar(b, b)), multiplyScalar(c, c)));
283
283
  return divideScalar(num, den);
@@ -287,7 +287,7 @@ var createDistance = exports.createDistance = /* #__PURE__ */(0, _factory.factor
287
287
  var result = 0;
288
288
  var diff = 0;
289
289
  for (var i = 0; i < vectorSize; i++) {
290
- diff = subtract(x[i], y[i]);
290
+ diff = subtractScalar(x[i], y[i]);
291
291
  result = addScalar(multiplyScalar(diff, diff), result);
292
292
  }
293
293
  return sqrt(result);
@@ -9,11 +9,11 @@ var _object = require("../../utils/object.js");
9
9
  var _string = require("../../utils/string.js");
10
10
  var _factory = require("../../utils/factory.js");
11
11
  var name = 'det';
12
- var dependencies = ['typed', 'matrix', 'subtract', 'multiply', 'divideScalar', 'isZero', 'unaryMinus'];
12
+ var dependencies = ['typed', 'matrix', 'subtractScalar', 'multiply', 'divideScalar', 'isZero', 'unaryMinus'];
13
13
  var createDet = exports.createDet = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
14
14
  var typed = _ref.typed,
15
15
  matrix = _ref.matrix,
16
- subtract = _ref.subtract,
16
+ subtractScalar = _ref.subtractScalar,
17
17
  multiply = _ref.multiply,
18
18
  divideScalar = _ref.divideScalar,
19
19
  isZero = _ref.isZero,
@@ -108,7 +108,7 @@ var createDet = exports.createDet = /* #__PURE__ */(0, _factory.factory)(name, d
108
108
  } else if (rows === 2) {
109
109
  // this is a 2 x 2 matrix
110
110
  // the determinant of [a11,a12;a21,a22] is det = a11*a22-a21*a12
111
- return subtract(multiply(matrix[0][0], matrix[1][1]), multiply(matrix[1][0], matrix[0][1]));
111
+ return subtractScalar(multiply(matrix[0][0], matrix[1][1]), multiply(matrix[1][0], matrix[0][1]));
112
112
  } else {
113
113
  // Bareiss algorithm
114
114
  // this algorithm have same complexity as LUP decomposition (O(n^3))
@@ -138,7 +138,7 @@ var createDet = exports.createDet = /* #__PURE__ */(0, _factory.factory)(name, d
138
138
  for (var i = k + 1; i < rows; i++) {
139
139
  var i_ = rowIndices[i];
140
140
  for (var j = k + 1; j < rows; j++) {
141
- matrix[i_][j] = divideScalar(subtract(multiply(matrix[i_][j], piv), multiply(matrix[i_][k], matrix[k_][j])), piv_);
141
+ matrix[i_][j] = divideScalar(subtractScalar(multiply(matrix[i_][j], piv), multiply(matrix[i_][k], matrix[k_][j])), piv_);
142
142
  }
143
143
  }
144
144
  }
package/lib/cjs/header.js CHANGED
@@ -6,8 +6,8 @@
6
6
  * It features real and complex numbers, units, matrices, a large set of
7
7
  * mathematical functions, and a flexible expression parser.
8
8
  *
9
- * @version 11.11.2
10
- * @date 2023-10-11
9
+ * @version 11.12.0
10
+ * @date 2023-10-26
11
11
  *
12
12
  * @license
13
13
  * Copyright (C) 2013-2023 Jos de Jong <wjosdejong@gmail.com>
@@ -17,12 +17,12 @@ var _constants = require("../../utils/bignumber/constants.js");
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
19
  var name = 'Unit';
20
- var dependencies = ['?on', 'config', 'addScalar', 'subtract', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];
20
+ var dependencies = ['?on', 'config', 'addScalar', 'subtractScalar', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];
21
21
  var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
22
22
  var on = _ref.on,
23
23
  config = _ref.config,
24
24
  addScalar = _ref.addScalar,
25
- subtract = _ref.subtract,
25
+ subtractScalar = _ref.subtractScalar,
26
26
  multiplyScalar = _ref.multiplyScalar,
27
27
  divideScalar = _ref.divideScalar,
28
28
  pow = _ref.pow,
@@ -753,7 +753,7 @@ var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fact
753
753
  var unitValue = convert(ret.units[0].unit.value);
754
754
  var nominalOffset = convert(ret.units[0].unit.offset);
755
755
  var unitOffset = multiplyScalar(unitValue, nominalOffset);
756
- ret.value = subtract(abs(addScalar(ret.value, unitOffset)), unitOffset);
756
+ ret.value = subtractScalar(abs(addScalar(ret.value, unitOffset)), unitOffset);
757
757
  }
758
758
  }
759
759
  for (var i in ret.units) {
@@ -798,7 +798,7 @@ var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fact
798
798
  var otherUnitValue = other.units[0].unit.value;
799
799
  var otherNominalOffset = other.units[0].unit.offset;
800
800
  var otherUnitOffset = multiplyScalar(otherUnitValue, otherNominalOffset);
801
- other.value = addScalar(value, convert(subtract(thisUnitOffset, otherUnitOffset)));
801
+ other.value = addScalar(value, convert(subtractScalar(thisUnitOffset, otherUnitOffset)));
802
802
  }
803
803
  other.fixPrefix = true;
804
804
  other.skipAutomaticSimplification = true;
@@ -1174,7 +1174,7 @@ var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fact
1174
1174
  }
1175
1175
  var y = new Unit(xFixed, parts[i].toString());
1176
1176
  ret.push(y);
1177
- x = subtract(x, y);
1177
+ x = subtractScalar(x, y);
1178
1178
  }
1179
1179
 
1180
1180
  // This little bit fixes a bug where the remainder should be 0 but is a little bit off.
@@ -54,10 +54,12 @@ function clone(x) {
54
54
  }
55
55
  if (x instanceof Date) return new Date(x.valueOf());
56
56
  if ((0, _is.isBigNumber)(x)) return x; // bignumbers are immutable
57
- if (x instanceof RegExp) throw new TypeError('Cannot clone ' + x); // TODO: clone a RegExp
58
57
 
59
58
  // object
60
- return mapObject(x, clone);
59
+ if ((0, _is.isObject)(x)) {
60
+ return mapObject(x, clone);
61
+ }
62
+ throw new TypeError("Cannot clone: unknown type of value (value: ".concat(x, ")"));
61
63
  }
62
64
 
63
65
  /**
@@ -14,8 +14,8 @@ var _assert = _interopRequireDefault(require("assert"));
14
14
  var allIsFunctions = _interopRequireWildcard(require("./is.js"));
15
15
  var _create = require("../core/create.js");
16
16
  var _string = require("./string.js");
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
20
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
21
21
  * This file contains helper methods to create expected snapshot structures
@@ -141,7 +141,7 @@ function createSnapshotFromFactories(factories) {
141
141
  embeddedDocs[name] = 'Object';
142
142
  }
143
143
  });
144
- embeddedDocs = exclude(embeddedDocs, ['equalScalar', 'apply', 'addScalar', 'multiplyScalar', 'print', 'divideScalar', 'parse', 'compile', 'parser', 'chain', 'reviver', 'replacer']);
144
+ embeddedDocs = exclude(embeddedDocs, ['equalScalar', 'apply', 'addScalar', 'subtractScalar', 'multiplyScalar', 'print', 'divideScalar', 'parse', 'compile', 'parser', 'chain', 'reviver', 'replacer']);
145
145
  var allTypeChecks = {};
146
146
  Object.keys(allIsFunctions).forEach(function (name) {
147
147
  if (name.indexOf('is') === 0) {
@@ -92,7 +92,7 @@ function _format(value, options) {
92
92
  return formatArray(value, options);
93
93
  }
94
94
  if ((0, _is.isString)(value)) {
95
- return '"' + value + '"';
95
+ return stringify(value);
96
96
  }
97
97
  if (typeof value === 'function') {
98
98
  return value.syntax ? String(value.syntax) : 'function';
@@ -105,7 +105,7 @@ function _format(value, options) {
105
105
  return value.toString(options);
106
106
  } else {
107
107
  var entries = Object.keys(value).map(function (key) {
108
- return '"' + key + '": ' + format(value[key], options);
108
+ return stringify(key) + ': ' + format(value[key], options);
109
109
  });
110
110
  return '{' + entries.join(', ') + '}';
111
111
  }
@@ -125,24 +125,20 @@ function stringify(value) {
125
125
  var i = 0;
126
126
  while (i < text.length) {
127
127
  var c = text.charAt(i);
128
- if (c === '\\') {
129
- escaped += c;
130
- i++;
131
- c = text.charAt(i);
132
- if (c === '' || '"\\/bfnrtu'.indexOf(c) === -1) {
133
- escaped += '\\'; // no valid escape character -> escape it
134
- }
135
-
136
- escaped += c;
137
- } else if (c === '"') {
138
- escaped += '\\"';
139
- } else {
140
- escaped += c;
141
- }
128
+ escaped += c in controlCharacters ? controlCharacters[c] : c;
142
129
  i++;
143
130
  }
144
131
  return '"' + escaped + '"';
145
132
  }
133
+ var controlCharacters = {
134
+ '"': '\\"',
135
+ '\\': '\\\\',
136
+ '\b': '\\b',
137
+ '\f': '\\f',
138
+ '\n': '\\n',
139
+ '\r': '\\r',
140
+ '\t': '\\t'
141
+ };
146
142
 
147
143
  /**
148
144
  * Escape special HTML characters
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = exports.version = '11.11.2';
7
+ var version = exports.version = '11.12.0';
8
8
  // Note: This file is automatically generated when building math.js.
9
9
  // Changes made in this file will be overwritten.
@@ -6,7 +6,7 @@ import { divideScalarDependencies } from './dependenciesDivideScalar.generated.j
6
6
  import { isZeroDependencies } from './dependenciesIsZero.generated.js';
7
7
  import { matrixDependencies } from './dependenciesMatrix.generated.js';
8
8
  import { multiplyDependencies } from './dependenciesMultiply.generated.js';
9
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
9
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
10
10
  import { typedDependencies } from './dependenciesTyped.generated.js';
11
11
  import { unaryMinusDependencies } from './dependenciesUnaryMinus.generated.js';
12
12
  import { createDet } from '../../factoriesAny.js';
@@ -15,7 +15,7 @@ export var detDependencies = {
15
15
  isZeroDependencies,
16
16
  matrixDependencies,
17
17
  multiplyDependencies,
18
- subtractDependencies,
18
+ subtractScalarDependencies,
19
19
  typedDependencies,
20
20
  unaryMinusDependencies,
21
21
  createDet
@@ -8,7 +8,7 @@ import { deepEqualDependencies } from './dependenciesDeepEqual.generated.js';
8
8
  import { divideScalarDependencies } from './dependenciesDivideScalar.generated.js';
9
9
  import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generated.js';
10
10
  import { sqrtDependencies } from './dependenciesSqrt.generated.js';
11
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
11
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
12
12
  import { typedDependencies } from './dependenciesTyped.generated.js';
13
13
  import { createDistance } from '../../factoriesAny.js';
14
14
  export var distanceDependencies = {
@@ -18,7 +18,7 @@ export var distanceDependencies = {
18
18
  divideScalarDependencies,
19
19
  multiplyScalarDependencies,
20
20
  sqrtDependencies,
21
- subtractDependencies,
21
+ subtractScalarDependencies,
22
22
  typedDependencies,
23
23
  createDistance
24
24
  };
@@ -7,7 +7,7 @@ import { divideScalarDependencies } from './dependenciesDivideScalar.generated.j
7
7
  import { equalScalarDependencies } from './dependenciesEqualScalar.generated.js';
8
8
  import { matrixDependencies } from './dependenciesMatrix.generated.js';
9
9
  import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generated.js';
10
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
10
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
11
11
  import { typedDependencies } from './dependenciesTyped.generated.js';
12
12
  import { createLsolve } from '../../factoriesAny.js';
13
13
  export var lsolveDependencies = {
@@ -16,7 +16,7 @@ export var lsolveDependencies = {
16
16
  equalScalarDependencies,
17
17
  matrixDependencies,
18
18
  multiplyScalarDependencies,
19
- subtractDependencies,
19
+ subtractScalarDependencies,
20
20
  typedDependencies,
21
21
  createLsolve
22
22
  };
@@ -7,7 +7,7 @@ import { divideScalarDependencies } from './dependenciesDivideScalar.generated.j
7
7
  import { equalScalarDependencies } from './dependenciesEqualScalar.generated.js';
8
8
  import { matrixDependencies } from './dependenciesMatrix.generated.js';
9
9
  import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generated.js';
10
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
10
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
11
11
  import { typedDependencies } from './dependenciesTyped.generated.js';
12
12
  import { createLsolveAll } from '../../factoriesAny.js';
13
13
  export var lsolveAllDependencies = {
@@ -16,7 +16,7 @@ export var lsolveAllDependencies = {
16
16
  equalScalarDependencies,
17
17
  matrixDependencies,
18
18
  multiplyScalarDependencies,
19
- subtractDependencies,
19
+ subtractScalarDependencies,
20
20
  typedDependencies,
21
21
  createLsolveAll
22
22
  };
@@ -12,7 +12,7 @@ import { equalScalarDependencies } from './dependenciesEqualScalar.generated.js'
12
12
  import { largerDependencies } from './dependenciesLarger.generated.js';
13
13
  import { matrixDependencies } from './dependenciesMatrix.generated.js';
14
14
  import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generated.js';
15
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
15
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
16
16
  import { typedDependencies } from './dependenciesTyped.generated.js';
17
17
  import { unaryMinusDependencies } from './dependenciesUnaryMinus.generated.js';
18
18
  import { createLup } from '../../factoriesAny.js';
@@ -27,7 +27,7 @@ export var lupDependencies = {
27
27
  largerDependencies,
28
28
  matrixDependencies,
29
29
  multiplyScalarDependencies,
30
- subtractDependencies,
30
+ subtractScalarDependencies,
31
31
  typedDependencies,
32
32
  unaryMinusDependencies,
33
33
  createLup
@@ -13,7 +13,7 @@ import { matrixDependencies } from './dependenciesMatrix.generated.js';
13
13
  import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generated.js';
14
14
  import { signDependencies } from './dependenciesSign.generated.js';
15
15
  import { sqrtDependencies } from './dependenciesSqrt.generated.js';
16
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
16
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
17
17
  import { typedDependencies } from './dependenciesTyped.generated.js';
18
18
  import { unaryMinusDependencies } from './dependenciesUnaryMinus.generated.js';
19
19
  import { zerosDependencies } from './dependenciesZeros.generated.js';
@@ -30,7 +30,7 @@ export var qrDependencies = {
30
30
  multiplyScalarDependencies,
31
31
  signDependencies,
32
32
  sqrtDependencies,
33
- subtractDependencies,
33
+ subtractScalarDependencies,
34
34
  typedDependencies,
35
35
  unaryMinusDependencies,
36
36
  zerosDependencies,
@@ -13,7 +13,7 @@ import { largerDependencies } from './dependenciesLarger.generated.js';
13
13
  import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generated.js';
14
14
  import { numberDependencies } from './dependenciesNumber.generated.js';
15
15
  import { powDependencies } from './dependenciesPow.generated.js';
16
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
16
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
17
17
  import { typedDependencies } from './dependenciesTyped.generated.js';
18
18
  import { createStirlingS2 } from '../../factoriesAny.js';
19
19
  export var stirlingS2Dependencies = {
@@ -28,7 +28,7 @@ export var stirlingS2Dependencies = {
28
28
  multiplyScalarDependencies,
29
29
  numberDependencies,
30
30
  powDependencies,
31
- subtractDependencies,
31
+ subtractScalarDependencies,
32
32
  typedDependencies,
33
33
  createStirlingS2
34
34
  };
@@ -3,19 +3,19 @@
3
3
  * DON'T MAKE CHANGES HERE
4
4
  */
5
5
  import { DenseMatrixDependencies } from './dependenciesDenseMatrixClass.generated.js';
6
- import { addScalarDependencies } from './dependenciesAddScalar.generated.js';
7
6
  import { concatDependencies } from './dependenciesConcat.generated.js';
8
7
  import { equalScalarDependencies } from './dependenciesEqualScalar.generated.js';
9
8
  import { matrixDependencies } from './dependenciesMatrix.generated.js';
9
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
10
10
  import { typedDependencies } from './dependenciesTyped.generated.js';
11
11
  import { unaryMinusDependencies } from './dependenciesUnaryMinus.generated.js';
12
12
  import { createSubtract } from '../../factoriesAny.js';
13
13
  export var subtractDependencies = {
14
14
  DenseMatrixDependencies,
15
- addScalarDependencies,
16
15
  concatDependencies,
17
16
  equalScalarDependencies,
18
17
  matrixDependencies,
18
+ subtractScalarDependencies,
19
19
  typedDependencies,
20
20
  unaryMinusDependencies,
21
21
  createSubtract
@@ -0,0 +1,10 @@
1
+ /**
2
+ * THIS FILE IS AUTO-GENERATED
3
+ * DON'T MAKE CHANGES HERE
4
+ */
5
+ import { typedDependencies } from './dependenciesTyped.generated.js';
6
+ import { createSubtractScalar } from '../../factoriesAny.js';
7
+ export var subtractScalarDependencies = {
8
+ typedDependencies,
9
+ createSubtractScalar
10
+ };
@@ -16,7 +16,7 @@ import { multiplyScalarDependencies } from './dependenciesMultiplyScalar.generat
16
16
  import { numberDependencies } from './dependenciesNumber.generated.js';
17
17
  import { powDependencies } from './dependenciesPow.generated.js';
18
18
  import { roundDependencies } from './dependenciesRound.generated.js';
19
- import { subtractDependencies } from './dependenciesSubtract.generated.js';
19
+ import { subtractScalarDependencies } from './dependenciesSubtractScalar.generated.js';
20
20
  import { createUnitClass } from '../../factoriesAny.js';
21
21
  export var UnitDependencies = {
22
22
  BigNumberDependencies,
@@ -33,6 +33,6 @@ export var UnitDependencies = {
33
33
  numberDependencies,
34
34
  powDependencies,
35
35
  roundDependencies,
36
- subtractDependencies,
36
+ subtractScalarDependencies,
37
37
  createUnitClass
38
38
  };