mathjs 10.1.1 → 10.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/HISTORY.md +43 -0
- package/docs/expressions/algebra.md +27 -0
- package/docs/expressions/syntax.md +31 -2
- package/docs/reference/functions/abs.md +6 -0
- package/docs/reference/functions/acos.md +6 -0
- package/docs/reference/functions/acosh.md +6 -0
- package/docs/reference/functions/acot.md +6 -0
- package/docs/reference/functions/acoth.md +6 -0
- package/docs/reference/functions/acsc.md +6 -0
- package/docs/reference/functions/acsch.md +6 -0
- package/docs/reference/functions/add.md +6 -0
- package/docs/reference/functions/and.md +6 -0
- package/docs/reference/functions/apply.md +6 -0
- package/docs/reference/functions/arg.md +6 -0
- package/docs/reference/functions/asec.md +6 -0
- package/docs/reference/functions/asech.md +6 -0
- package/docs/reference/functions/asin.md +6 -0
- package/docs/reference/functions/asinh.md +6 -0
- package/docs/reference/functions/atan.md +6 -0
- package/docs/reference/functions/atan2.md +6 -0
- package/docs/reference/functions/atanh.md +6 -0
- package/docs/reference/functions/bellNumbers.md +6 -0
- package/docs/reference/functions/bin.md +6 -0
- package/docs/reference/functions/bitAnd.md +6 -0
- package/docs/reference/functions/bitNot.md +6 -0
- package/docs/reference/functions/bitOr.md +6 -0
- package/docs/reference/functions/bitXor.md +6 -0
- package/docs/reference/functions/catalan.md +6 -0
- package/docs/reference/functions/cbrt.md +6 -0
- package/docs/reference/functions/ceil.md +6 -0
- package/docs/reference/functions/clone.md +6 -0
- package/docs/reference/functions/column.md +6 -0
- package/docs/reference/functions/combinations.md +6 -0
- package/docs/reference/functions/combinationsWithRep.md +6 -0
- package/docs/reference/functions/compare.md +6 -0
- package/docs/reference/functions/compareNatural.md +6 -0
- package/docs/reference/functions/compareText.md +6 -0
- package/docs/reference/functions/compile.md +6 -0
- package/docs/reference/functions/composition.md +6 -0
- package/docs/reference/functions/concat.md +6 -0
- package/docs/reference/functions/conj.md +6 -0
- package/docs/reference/functions/cos.md +6 -0
- package/docs/reference/functions/cosh.md +6 -0
- package/docs/reference/functions/cot.md +6 -0
- package/docs/reference/functions/coth.md +6 -0
- package/docs/reference/functions/count.md +6 -0
- package/docs/reference/functions/cross.md +6 -0
- package/docs/reference/functions/csc.md +6 -0
- package/docs/reference/functions/csch.md +6 -0
- package/docs/reference/functions/ctranspose.md +6 -0
- package/docs/reference/functions/cube.md +6 -0
- package/docs/reference/functions/cumsum.md +57 -0
- package/docs/reference/functions/deepEqual.md +6 -0
- package/docs/reference/functions/derivative.md +6 -0
- package/docs/reference/functions/det.md +6 -0
- package/docs/reference/functions/diag.md +6 -0
- package/docs/reference/functions/diff.md +6 -0
- package/docs/reference/functions/distance.md +6 -0
- package/docs/reference/functions/divide.md +6 -0
- package/docs/reference/functions/dot.md +6 -0
- package/docs/reference/functions/dotDivide.md +6 -0
- package/docs/reference/functions/dotMultiply.md +6 -0
- package/docs/reference/functions/dotPow.md +6 -0
- package/docs/reference/functions/eigs.md +6 -0
- package/docs/reference/functions/equal.md +6 -0
- package/docs/reference/functions/equalText.md +6 -0
- package/docs/reference/functions/erf.md +6 -0
- package/docs/reference/functions/evaluate.md +6 -0
- package/docs/reference/functions/exp.md +6 -0
- package/docs/reference/functions/expm.md +6 -0
- package/docs/reference/functions/expm1.md +6 -0
- package/docs/reference/functions/factorial.md +6 -0
- package/docs/reference/functions/filter.md +6 -0
- package/docs/reference/functions/fix.md +6 -0
- package/docs/reference/functions/flatten.md +6 -0
- package/docs/reference/functions/floor.md +6 -0
- package/docs/reference/functions/forEach.md +6 -0
- package/docs/reference/functions/format.md +7 -1
- package/docs/reference/functions/gamma.md +6 -0
- package/docs/reference/functions/gcd.md +6 -0
- package/docs/reference/functions/getMatrixDataType.md +6 -0
- package/docs/reference/functions/hasNumericValue.md +6 -0
- package/docs/reference/functions/help.md +6 -0
- package/docs/reference/functions/hex.md +6 -0
- package/docs/reference/functions/hypot.md +6 -0
- package/docs/reference/functions/identity.md +6 -0
- package/docs/reference/functions/im.md +6 -0
- package/docs/reference/functions/intersect.md +6 -0
- package/docs/reference/functions/inv.md +6 -0
- package/docs/reference/functions/invmod.md +6 -0
- package/docs/reference/functions/isInteger.md +6 -0
- package/docs/reference/functions/isNaN.md +6 -0
- package/docs/reference/functions/isNegative.md +6 -0
- package/docs/reference/functions/isNumeric.md +6 -0
- package/docs/reference/functions/isPositive.md +6 -0
- package/docs/reference/functions/isPrime.md +6 -0
- package/docs/reference/functions/isZero.md +6 -0
- package/docs/reference/functions/kldivergence.md +6 -0
- package/docs/reference/functions/kron.md +6 -0
- package/docs/reference/functions/larger.md +6 -0
- package/docs/reference/functions/largerEq.md +6 -0
- package/docs/reference/functions/lcm.md +6 -0
- package/docs/reference/functions/leafCount.md +52 -0
- package/docs/reference/functions/leftShift.md +6 -0
- package/docs/reference/functions/log.md +6 -0
- package/docs/reference/functions/log10.md +6 -0
- package/docs/reference/functions/log1p.md +6 -0
- package/docs/reference/functions/log2.md +6 -0
- package/docs/reference/functions/lsolve.md +6 -0
- package/docs/reference/functions/lsolveAll.md +6 -0
- package/docs/reference/functions/lup.md +6 -0
- package/docs/reference/functions/lusolve.md +6 -0
- package/docs/reference/functions/mad.md +6 -0
- package/docs/reference/functions/map.md +28 -5
- package/docs/reference/functions/matrixFromColumns.md +6 -0
- package/docs/reference/functions/matrixFromFunction.md +6 -0
- package/docs/reference/functions/matrixFromRows.md +6 -0
- package/docs/reference/functions/max.md +6 -0
- package/docs/reference/functions/mean.md +6 -0
- package/docs/reference/functions/median.md +6 -0
- package/docs/reference/functions/min.md +6 -0
- package/docs/reference/functions/mod.md +6 -0
- package/docs/reference/functions/mode.md +6 -0
- package/docs/reference/functions/multinomial.md +6 -0
- package/docs/reference/functions/multiply.md +6 -0
- package/docs/reference/functions/norm.md +6 -0
- package/docs/reference/functions/not.md +6 -0
- package/docs/reference/functions/nthRoot.md +6 -0
- package/docs/reference/functions/nthRoots.md +6 -0
- package/docs/reference/functions/numeric.md +6 -0
- package/docs/reference/functions/oct.md +6 -0
- package/docs/reference/functions/ones.md +6 -0
- package/docs/reference/functions/or.md +6 -0
- package/docs/reference/functions/parser.md +6 -0
- package/docs/reference/functions/partitionSelect.md +6 -0
- package/docs/reference/functions/permutations.md +6 -0
- package/docs/reference/functions/pickRandom.md +6 -0
- package/docs/reference/functions/pow.md +6 -0
- package/docs/reference/functions/print.md +6 -0
- package/docs/reference/functions/prod.md +6 -0
- package/docs/reference/functions/qr.md +6 -0
- package/docs/reference/functions/quantileSeq.md +6 -0
- package/docs/reference/functions/random.md +6 -0
- package/docs/reference/functions/randomInt.md +6 -0
- package/docs/reference/functions/range.md +6 -0
- package/docs/reference/functions/rationalize.md +7 -1
- package/docs/reference/functions/re.md +6 -0
- package/docs/reference/functions/reshape.md +7 -0
- package/docs/reference/functions/resize.md +6 -0
- package/docs/reference/functions/resolve.md +46 -0
- package/docs/reference/functions/rightArithShift.md +6 -0
- package/docs/reference/functions/rightLogShift.md +6 -0
- package/docs/reference/functions/rotate.md +6 -0
- package/docs/reference/functions/rotationMatrix.md +6 -0
- package/docs/reference/functions/round.md +6 -0
- package/docs/reference/functions/row.md +6 -0
- package/docs/reference/functions/sec.md +6 -0
- package/docs/reference/functions/sech.md +6 -0
- package/docs/reference/functions/setCartesian.md +6 -0
- package/docs/reference/functions/setDifference.md +6 -0
- package/docs/reference/functions/setDistinct.md +6 -0
- package/docs/reference/functions/setIntersect.md +6 -0
- package/docs/reference/functions/setIsSubset.md +6 -0
- package/docs/reference/functions/setMultiplicity.md +6 -0
- package/docs/reference/functions/setPowerset.md +6 -0
- package/docs/reference/functions/setSize.md +6 -0
- package/docs/reference/functions/setSymDifference.md +6 -0
- package/docs/reference/functions/setUnion.md +6 -0
- package/docs/reference/functions/sign.md +6 -0
- package/docs/reference/functions/simplify.md +43 -6
- package/docs/reference/functions/simplifyCore.md +50 -0
- package/docs/reference/functions/sin.md +6 -0
- package/docs/reference/functions/sinh.md +6 -0
- package/docs/reference/functions/size.md +6 -0
- package/docs/reference/functions/slu.md +6 -0
- package/docs/reference/functions/smaller.md +6 -0
- package/docs/reference/functions/smallerEq.md +6 -0
- package/docs/reference/functions/sort.md +6 -0
- package/docs/reference/functions/sqrt.md +6 -0
- package/docs/reference/functions/sqrtm.md +6 -0
- package/docs/reference/functions/square.md +6 -0
- package/docs/reference/functions/squeeze.md +6 -0
- package/docs/reference/functions/std.md +6 -0
- package/docs/reference/functions/stirlingS2.md +6 -0
- package/docs/reference/functions/subset.md +16 -2
- package/docs/reference/functions/subtract.md +6 -0
- package/docs/reference/functions/sum.md +8 -1
- package/docs/reference/functions/symbolicEqual.md +62 -0
- package/docs/reference/functions/tan.md +6 -0
- package/docs/reference/functions/tanh.md +6 -0
- package/docs/reference/functions/to.md +6 -0
- package/docs/reference/functions/trace.md +6 -0
- package/docs/reference/functions/transpose.md +6 -0
- package/docs/reference/functions/typeOf.md +6 -0
- package/docs/reference/functions/unaryMinus.md +6 -0
- package/docs/reference/functions/unaryPlus.md +6 -0
- package/docs/reference/functions/unequal.md +6 -0
- package/docs/reference/functions/usolve.md +6 -0
- package/docs/reference/functions/usolveAll.md +6 -0
- package/docs/reference/functions/variance.md +6 -0
- package/docs/reference/functions/xgcd.md +6 -0
- package/docs/reference/functions/xor.md +6 -0
- package/docs/reference/functions/zeros.md +6 -0
- package/docs/reference/functions.md +6 -1
- package/lib/browser/math.js +6 -6
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +4 -4
- package/lib/cjs/core/function/import.js +3 -3
- package/lib/cjs/core/function/typed.js +2 -2
- package/lib/cjs/defaultInstance.js +3 -3
- package/lib/cjs/entry/allFactoriesAny.js +1 -1
- package/lib/cjs/entry/allFactoriesNumber.js +1 -1
- package/lib/cjs/entry/configReadonly.js +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +26 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +26 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +32 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +6 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +65 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +48 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +26 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +26 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +32 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +6 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +65 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +32 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +85 -33
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +102 -64
- package/lib/cjs/entry/pureFunctionsAny.generated.js +68 -64
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +51 -47
- package/lib/cjs/expression/Help.js +4 -0
- package/lib/cjs/expression/Parser.js +1 -1
- package/lib/cjs/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +250 -235
- package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +16 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +15 -0
- package/lib/cjs/expression/node/FunctionNode.js +80 -61
- package/lib/cjs/expression/node/IndexNode.js +1 -1
- package/lib/cjs/expression/node/Node.js +3 -3
- package/lib/cjs/expression/node/ObjectNode.js +1 -1
- package/lib/cjs/expression/node/utils/access.js +1 -1
- package/lib/cjs/expression/node/utils/assign.js +1 -1
- package/lib/cjs/expression/parse.js +13 -13
- package/lib/cjs/expression/transform/cumsum.transform.js +57 -0
- package/lib/cjs/expression/transform/sum.transform.js +1 -1
- package/lib/cjs/factoriesAny.js +48 -0
- package/lib/cjs/factoriesNumber.js +33 -1
- package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
- package/lib/cjs/function/algebra/leafCount.js +66 -0
- package/lib/cjs/function/algebra/rationalize.js +24 -41
- package/lib/cjs/function/algebra/resolve.js +106 -0
- package/lib/cjs/function/algebra/simplify/simplifyConstant.js +5 -5
- package/lib/cjs/function/algebra/simplify/util.js +171 -33
- package/lib/cjs/function/algebra/simplify.js +562 -207
- package/lib/cjs/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +68 -44
- package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
- package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +88 -0
- package/lib/cjs/function/arithmetic/ceil.js +3 -3
- package/lib/cjs/function/arithmetic/floor.js +3 -3
- package/lib/cjs/function/arithmetic/invmod.js +1 -1
- package/lib/cjs/function/arithmetic/norm.js +1 -1
- package/lib/cjs/function/arithmetic/round.js +1 -1
- package/lib/cjs/function/matrix/eigs/complexEigs.js +13 -11
- package/lib/cjs/function/matrix/map.js +53 -15
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/subset.js +15 -5
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compareNatural.js +6 -6
- package/lib/cjs/function/statistics/cumsum.js +151 -0
- package/lib/cjs/function/statistics/sum.js +1 -1
- package/lib/cjs/function/string/format.js +1 -1
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/plain/number/combinations.js +18 -6
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +1 -1
- package/lib/cjs/type/boolean.js +2 -2
- package/lib/cjs/type/complex/Complex.js +14 -14
- package/lib/cjs/type/complex/function/complex.js +1 -1
- package/lib/cjs/type/fraction/Fraction.js +6 -6
- package/lib/cjs/type/fraction/function/fraction.js +21 -9
- package/lib/cjs/type/matrix/DenseMatrix.js +5 -5
- package/lib/cjs/type/matrix/SparseMatrix.js +2 -2
- package/lib/cjs/type/number.js +1 -1
- package/lib/cjs/type/string.js +2 -2
- package/lib/cjs/type/unit/Unit.js +8 -8
- package/lib/cjs/utils/collection.js +3 -27
- package/lib/cjs/utils/customs.js +2 -2
- package/lib/cjs/utils/emitter.js +1 -1
- package/lib/cjs/utils/function.js +2 -2
- package/lib/cjs/utils/is.js +6 -6
- package/lib/cjs/utils/latex.js +3 -3
- package/lib/cjs/utils/lruQueue.js +1 -1
- package/lib/cjs/utils/map.js +3 -3
- package/lib/cjs/utils/object.js +2 -2
- package/lib/cjs/utils/snapshot.js +7 -7
- package/lib/cjs/utils/string.js +2 -2
- package/lib/cjs/utils/switch.js +31 -0
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +40 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny.generated.js +6 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +18 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +40 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +4 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +74 -26
- package/lib/esm/entry/impureFunctionsNumber.generated.js +89 -53
- package/lib/esm/entry/pureFunctionsAny.generated.js +54 -49
- package/lib/esm/entry/pureFunctionsNumber.generated.js +36 -31
- package/lib/esm/expression/Help.js +4 -0
- package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +222 -212
- package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
- package/lib/esm/expression/node/FunctionNode.js +70 -53
- package/lib/esm/expression/transform/cumsum.transform.js +48 -0
- package/lib/esm/expression/transform/sum.transform.js +1 -1
- package/lib/esm/factoriesAny.js +6 -0
- package/lib/esm/factoriesNumber.js +4 -0
- package/lib/esm/function/algebra/leafCount.js +59 -0
- package/lib/esm/function/algebra/rationalize.js +24 -40
- package/lib/esm/function/algebra/resolve.js +95 -0
- package/lib/esm/function/algebra/simplify/simplifyConstant.js +3 -3
- package/lib/esm/function/algebra/simplify/util.js +170 -34
- package/lib/esm/function/algebra/simplify.js +557 -202
- package/lib/esm/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +61 -45
- package/lib/esm/function/algebra/symbolicEqual.js +80 -0
- package/lib/esm/function/matrix/eigs/complexEigs.js +8 -6
- package/lib/esm/function/matrix/map.js +53 -15
- package/lib/esm/function/matrix/subset.js +15 -5
- package/lib/esm/function/statistics/cumsum.js +139 -0
- package/lib/esm/function/statistics/sum.js +1 -1
- package/lib/esm/function/string/format.js +1 -1
- package/lib/esm/plain/number/combinations.js +18 -6
- package/lib/esm/type/fraction/function/fraction.js +20 -8
- package/lib/esm/utils/collection.js +1 -26
- package/lib/esm/utils/switch.js +24 -0
- package/lib/esm/version.js +1 -1
- package/package.json +15 -10
- package/types/index.d.ts +155 -13
- package/lib/cjs/function/algebra/simplify/resolve.js +0 -76
- package/lib/esm/function/algebra/simplify/resolve.js +0 -67
@@ -131,6 +131,18 @@ Object.defineProperty(exports, "createConstantNode", {
|
|
131
131
|
}
|
132
132
|
});
|
133
133
|
exports.createCube = exports.createCsch = exports.createCsc = exports.createCoth = exports.createCot = exports.createCosh = exports.createCos = void 0;
|
134
|
+
Object.defineProperty(exports, "createCumSum", {
|
135
|
+
enumerable: true,
|
136
|
+
get: function get() {
|
137
|
+
return _cumsum.createCumSum;
|
138
|
+
}
|
139
|
+
});
|
140
|
+
Object.defineProperty(exports, "createCumSumTransform", {
|
141
|
+
enumerable: true,
|
142
|
+
get: function get() {
|
143
|
+
return _cumsumTransform.createCumSumTransform;
|
144
|
+
}
|
145
|
+
});
|
134
146
|
Object.defineProperty(exports, "createDeepEqual", {
|
135
147
|
enumerable: true,
|
136
148
|
get: function get() {
|
@@ -325,7 +337,7 @@ Object.defineProperty(exports, "createLargerEq", {
|
|
325
337
|
return _largerEq.createLargerEqNumber;
|
326
338
|
}
|
327
339
|
});
|
328
|
-
exports.
|
340
|
+
exports.createLeftShift = exports.createLcm = void 0;
|
329
341
|
exports.createLog2 = exports.createLog1p = exports.createLog10 = exports.createLog = exports.createLeftShift = exports.createLcm = void 0;
|
330
342
|
Object.defineProperty(exports, "createMad", {
|
331
343
|
enumerable: true,
|
@@ -579,6 +591,12 @@ Object.defineProperty(exports, "createReplacer", {
|
|
579
591
|
return _replacer.createReplacer;
|
580
592
|
}
|
581
593
|
});
|
594
|
+
Object.defineProperty(exports, "createResolve", {
|
595
|
+
enumerable: true,
|
596
|
+
get: function get() {
|
597
|
+
return _resolve.createResolve;
|
598
|
+
}
|
599
|
+
});
|
582
600
|
Object.defineProperty(exports, "createResultSet", {
|
583
601
|
enumerable: true,
|
584
602
|
get: function get() {
|
@@ -617,6 +635,12 @@ Object.defineProperty(exports, "createSimplify", {
|
|
617
635
|
return _simplify.createSimplify;
|
618
636
|
}
|
619
637
|
});
|
638
|
+
Object.defineProperty(exports, "createSimplifyCore", {
|
639
|
+
enumerable: true,
|
640
|
+
get: function get() {
|
641
|
+
return _simplifyCore.createSimplifyCore;
|
642
|
+
}
|
643
|
+
});
|
620
644
|
exports.createSinh = exports.createSin = void 0;
|
621
645
|
Object.defineProperty(exports, "createSize", {
|
622
646
|
enumerable: true,
|
@@ -764,8 +788,12 @@ var _help = require("./expression/function/help.js");
|
|
764
788
|
|
765
789
|
var _chain = require("./type/chain/function/chain.js");
|
766
790
|
|
791
|
+
var _resolve = require("./function/algebra/resolve.js");
|
792
|
+
|
767
793
|
var _simplify = require("./function/algebra/simplify.js");
|
768
794
|
|
795
|
+
var _simplifyCore = require("./function/algebra/simplifyCore.js");
|
796
|
+
|
769
797
|
var _derivative = require("./function/algebra/derivative.js");
|
770
798
|
|
771
799
|
var _rationalize = require("./function/algebra/rationalize.js");
|
@@ -898,6 +926,8 @@ var _min = require("./function/statistics/min.js");
|
|
898
926
|
|
899
927
|
var _sum = require("./function/statistics/sum.js");
|
900
928
|
|
929
|
+
var _cumsum = require("./function/statistics/cumsum.js");
|
930
|
+
|
901
931
|
var _mean = require("./function/statistics/mean.js");
|
902
932
|
|
903
933
|
var _median = require("./function/statistics/median.js");
|
@@ -934,6 +964,8 @@ var _stdTransform = require("./expression/transform/std.transform.js");
|
|
934
964
|
|
935
965
|
var _sumTransform = require("./expression/transform/sum.transform.js");
|
936
966
|
|
967
|
+
var _cumsumTransform = require("./expression/transform/cumsum.transform.js");
|
968
|
+
|
937
969
|
var _varianceTransform = require("./expression/transform/variance.transform.js");
|
938
970
|
|
939
971
|
var _clone = require("./function/utils/clone.js");
|
@@ -73,7 +73,7 @@ var createQr = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function
|
|
73
73
|
* @return {{Q: Array | Matrix, R: Array | Matrix}} Q: the orthogonal
|
74
74
|
* matrix and R: the upper triangular matrix
|
75
75
|
*/
|
76
|
-
return (0, _extends2
|
76
|
+
return (0, _extends2.default)(typed(name, {
|
77
77
|
DenseMatrix: function DenseMatrix(m) {
|
78
78
|
return _denseQR(m);
|
79
79
|
},
|
@@ -0,0 +1,66 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createLeafCount = void 0;
|
7
|
+
|
8
|
+
var _factory = require("../../utils/factory.js");
|
9
|
+
|
10
|
+
var name = 'leafCount';
|
11
|
+
var dependencies = ['parse', 'typed'];
|
12
|
+
var createLeafCount = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
13
|
+
var parse = _ref.parse,
|
14
|
+
typed = _ref.typed;
|
15
|
+
|
16
|
+
// This does the real work, but we don't have to recurse through
|
17
|
+
// a typed call if we separate it out
|
18
|
+
function countLeaves(node) {
|
19
|
+
var count = 0;
|
20
|
+
node.forEach(function (n) {
|
21
|
+
count += countLeaves(n);
|
22
|
+
});
|
23
|
+
return count || 1;
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Gives the number of "leaf nodes" in the parse tree of the given expression
|
27
|
+
* A leaf node is one that has no subexpressions, essentially either a
|
28
|
+
* symbol or a constant. Note that `5!` has just one leaf, the '5'; the
|
29
|
+
* unary factorial operator does not add a leaf. On the other hand,
|
30
|
+
* function symbols do add leaves, so `sin(x)/cos(x)` has four leaves.
|
31
|
+
*
|
32
|
+
* The `simplify()` function should generally not increase the `leafCount()`
|
33
|
+
* of an expression, although currently there is no guarantee that it never
|
34
|
+
* does so. In many cases, `simplify()` reduces the leaf count.
|
35
|
+
*
|
36
|
+
* Syntax:
|
37
|
+
*
|
38
|
+
* leafCount(expr)
|
39
|
+
*
|
40
|
+
* Examples:
|
41
|
+
*
|
42
|
+
* math.leafCount('x') // 1
|
43
|
+
* math.leafCount(math.parse('a*d-b*c')) // 4
|
44
|
+
* math.leafCount('[a,b;c,d][0,1]') // 6
|
45
|
+
*
|
46
|
+
* See also:
|
47
|
+
*
|
48
|
+
* simplify
|
49
|
+
*
|
50
|
+
* @param {Node|string} expr The expression to count the leaves of
|
51
|
+
*
|
52
|
+
* @return {number} The number of leaves of `expr`
|
53
|
+
*
|
54
|
+
*/
|
55
|
+
|
56
|
+
|
57
|
+
return typed(name, {
|
58
|
+
string: function string(expr) {
|
59
|
+
return this(parse(expr));
|
60
|
+
},
|
61
|
+
Node: function Node(expr) {
|
62
|
+
return countLeaves(expr);
|
63
|
+
}
|
64
|
+
});
|
65
|
+
});
|
66
|
+
exports.createLeafCount = createLeafCount;
|
@@ -11,10 +11,8 @@ var _factory = require("../../utils/factory.js");
|
|
11
11
|
|
12
12
|
var _simplifyConstant = require("./simplify/simplifyConstant.js");
|
13
13
|
|
14
|
-
var _simplifyCore = require("./simplify/simplifyCore.js");
|
15
|
-
|
16
14
|
var name = 'rationalize';
|
17
|
-
var dependencies = ['config', 'typed', 'equal', 'isZero', 'add', 'subtract', 'multiply', 'divide', 'pow', 'parse', 'simplify', '?bignumber', '?fraction', 'mathWithTransform', 'matrix', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'SymbolNode', 'ParenthesisNode'];
|
15
|
+
var dependencies = ['config', 'typed', 'equal', 'isZero', 'add', 'subtract', 'multiply', 'divide', 'pow', 'parse', 'simplifyCore', 'simplify', '?bignumber', '?fraction', 'mathWithTransform', 'matrix', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'SymbolNode', 'ParenthesisNode'];
|
18
16
|
var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
19
17
|
var config = _ref.config,
|
20
18
|
typed = _ref.typed,
|
@@ -26,6 +24,7 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
26
24
|
divide = _ref.divide,
|
27
25
|
pow = _ref.pow,
|
28
26
|
parse = _ref.parse,
|
27
|
+
simplifyCore = _ref.simplifyCore,
|
29
28
|
simplify = _ref.simplify,
|
30
29
|
fraction = _ref.fraction,
|
31
30
|
bignumber = _ref.bignumber,
|
@@ -56,23 +55,6 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
56
55
|
OperatorNode: OperatorNode,
|
57
56
|
SymbolNode: SymbolNode
|
58
57
|
});
|
59
|
-
var simplifyCore = (0, _simplifyCore.createSimplifyCore)({
|
60
|
-
equal: equal,
|
61
|
-
isZero: isZero,
|
62
|
-
add: add,
|
63
|
-
subtract: subtract,
|
64
|
-
multiply: multiply,
|
65
|
-
divide: divide,
|
66
|
-
pow: pow,
|
67
|
-
AccessorNode: AccessorNode,
|
68
|
-
ArrayNode: ArrayNode,
|
69
|
-
ConstantNode: ConstantNode,
|
70
|
-
FunctionNode: FunctionNode,
|
71
|
-
IndexNode: IndexNode,
|
72
|
-
ObjectNode: ObjectNode,
|
73
|
-
OperatorNode: OperatorNode,
|
74
|
-
ParenthesisNode: ParenthesisNode
|
75
|
-
});
|
76
58
|
/**
|
77
59
|
* Transform a rationalizable expression in a rational fraction.
|
78
60
|
* If rational fraction is one variable polynomial then converts
|
@@ -116,13 +98,13 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
116
98
|
* @param {Object|boolean} optional scope of expression or true for already evaluated rational expression at input
|
117
99
|
* @param {Boolean} detailed optional True if return an object, false if return expression node (default)
|
118
100
|
*
|
119
|
-
* @return {Object | Node} The rational polynomial of `expr` or
|
120
|
-
* {
|
121
|
-
*
|
122
|
-
*
|
123
|
-
*
|
124
|
-
*
|
125
|
-
*
|
101
|
+
* @return {Object | Node} The rational polynomial of `expr` or an object
|
102
|
+
* `{expression, numerator, denominator, variables, coefficients}`, where
|
103
|
+
* `expression` is a `Node` with the node simplified expression,
|
104
|
+
* `numerator` is a `Node` with the simplified numerator of expression,
|
105
|
+
* `denominator` is a `Node` or `boolean` with the simplified denominator or `false` (if there is no denominator),
|
106
|
+
* `variables` is an array with variable names,
|
107
|
+
* and `coefficients` is an array with coefficients of numerator sorted by increased exponent
|
126
108
|
* {Expression Node} node simplified expression
|
127
109
|
*
|
128
110
|
*/
|
@@ -155,6 +137,12 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
155
137
|
var polyRet = polynomial(expr, scope, true, setRules.firstRules); // Check if expression is a rationalizable polynomial
|
156
138
|
|
157
139
|
var nVars = polyRet.variables.length;
|
140
|
+
var noExactFractions = {
|
141
|
+
exactFractions: false
|
142
|
+
};
|
143
|
+
var withExactFractions = {
|
144
|
+
exactFractions: true
|
145
|
+
};
|
158
146
|
expr = polyRet.expression;
|
159
147
|
|
160
148
|
if (nVars >= 1) {
|
@@ -165,18 +153,16 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
165
153
|
|
166
154
|
var rules;
|
167
155
|
var eDistrDiv = true;
|
168
|
-
var redoInic = false;
|
169
|
-
expr = simplify(expr, setRules.firstRules, {}, {
|
170
|
-
exactFractions: false
|
171
|
-
}); // Apply the initial rules, including succ div rules
|
156
|
+
var redoInic = false; // Apply the initial rules, including succ div rules:
|
172
157
|
|
158
|
+
expr = simplify(expr, setRules.firstRules, {}, noExactFractions);
|
173
159
|
var s;
|
174
160
|
|
175
161
|
while (true) {
|
176
|
-
//
|
162
|
+
// Alternate applying successive division rules and distr.div.rules
|
163
|
+
// until there are no more changes:
|
177
164
|
rules = eDistrDiv ? setRules.distrDivRules : setRules.sucDivRules;
|
178
|
-
expr = simplify(expr, rules);
|
179
|
-
|
165
|
+
expr = simplify(expr, rules, {}, withExactFractions);
|
180
166
|
eDistrDiv = !eDistrDiv; // Swap between Distr.Div and Succ. Div. Rules
|
181
167
|
|
182
168
|
s = expr.toString();
|
@@ -191,14 +177,11 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
191
177
|
|
192
178
|
if (redoInic) {
|
193
179
|
// Apply first rules again without succ div rules (if there are changes)
|
194
|
-
expr = simplify(expr, setRules.firstRulesAgain, {},
|
195
|
-
|
196
|
-
|
197
|
-
}
|
180
|
+
expr = simplify(expr, setRules.firstRulesAgain, {}, noExactFractions);
|
181
|
+
} // Apply final rules:
|
182
|
+
|
198
183
|
|
199
|
-
expr = simplify(expr, setRules.finalRules, {},
|
200
|
-
exactFractions: false
|
201
|
-
}); // Apply final rules
|
184
|
+
expr = simplify(expr, setRules.finalRules, {}, noExactFractions);
|
202
185
|
} // NVars >= 1
|
203
186
|
|
204
187
|
|
@@ -0,0 +1,106 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createResolve = void 0;
|
7
|
+
|
8
|
+
var _map = require("../../utils/map.js");
|
9
|
+
|
10
|
+
var _is = require("../../utils/is.js");
|
11
|
+
|
12
|
+
var _factory = require("../../utils/factory.js");
|
13
|
+
|
14
|
+
var name = 'resolve';
|
15
|
+
var dependencies = ['parse', 'ConstantNode', 'FunctionNode', 'OperatorNode', 'ParenthesisNode'];
|
16
|
+
var createResolve = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
17
|
+
var parse = _ref.parse,
|
18
|
+
ConstantNode = _ref.ConstantNode,
|
19
|
+
FunctionNode = _ref.FunctionNode,
|
20
|
+
OperatorNode = _ref.OperatorNode,
|
21
|
+
ParenthesisNode = _ref.ParenthesisNode;
|
22
|
+
|
23
|
+
/**
|
24
|
+
* resolve(expr, scope) replaces variable nodes with their scoped values
|
25
|
+
*
|
26
|
+
* Syntax:
|
27
|
+
*
|
28
|
+
* resolve(expr, scope)
|
29
|
+
*
|
30
|
+
* Examples:
|
31
|
+
*
|
32
|
+
* math.resolve('x + y', {x:1, y:2}) // Node {1 + 2}
|
33
|
+
* math.resolve(math.parse('x+y'), {x:1, y:2}) // Node {1 + 2}
|
34
|
+
* math.simplify('x+y', {x:2, y:'x+x'}).toString() // "6"
|
35
|
+
*
|
36
|
+
* See also:
|
37
|
+
*
|
38
|
+
* simplify, evaluate
|
39
|
+
*
|
40
|
+
* @param {Node} node
|
41
|
+
* The expression tree to be simplified
|
42
|
+
* @param {Object} scope
|
43
|
+
* Scope specifying variables to be resolved
|
44
|
+
* @return {Node} Returns `node` with variables recursively substituted.
|
45
|
+
* @throws {ReferenceError}
|
46
|
+
* If there is a cyclic dependency among the variables in `scope`,
|
47
|
+
* resolution is impossible and a ReferenceError is thrown.
|
48
|
+
*/
|
49
|
+
function resolve(node, scope) {
|
50
|
+
var within = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set();
|
51
|
+
|
52
|
+
// note `within`:
|
53
|
+
// `within` is not documented, since it is for internal cycle
|
54
|
+
// detection only
|
55
|
+
if (!scope) {
|
56
|
+
return node;
|
57
|
+
}
|
58
|
+
|
59
|
+
if (!(0, _map.isMap)(scope)) {
|
60
|
+
scope = (0, _map.createMap)(scope);
|
61
|
+
}
|
62
|
+
|
63
|
+
if ((0, _is.isSymbolNode)(node)) {
|
64
|
+
if (within.has(node.name)) {
|
65
|
+
var variables = Array.from(within).join(', ');
|
66
|
+
throw new ReferenceError("recursive loop of variable definitions among {".concat(variables, "}"));
|
67
|
+
}
|
68
|
+
|
69
|
+
var value = scope.get(node.name);
|
70
|
+
|
71
|
+
if ((0, _is.isNode)(value)) {
|
72
|
+
var nextWithin = new Set(within);
|
73
|
+
nextWithin.add(node.name);
|
74
|
+
return resolve(value, scope, nextWithin);
|
75
|
+
} else if (typeof value === 'number') {
|
76
|
+
return parse(String(value));
|
77
|
+
} else if (value !== undefined) {
|
78
|
+
return new ConstantNode(value);
|
79
|
+
} else {
|
80
|
+
return node;
|
81
|
+
}
|
82
|
+
} else if ((0, _is.isOperatorNode)(node)) {
|
83
|
+
var args = node.args.map(function (arg) {
|
84
|
+
return resolve(arg, scope, within);
|
85
|
+
});
|
86
|
+
return new OperatorNode(node.op, node.fn, args, node.implicit);
|
87
|
+
} else if ((0, _is.isParenthesisNode)(node)) {
|
88
|
+
return new ParenthesisNode(resolve(node.content, scope, within));
|
89
|
+
} else if ((0, _is.isFunctionNode)(node)) {
|
90
|
+
var _args = node.args.map(function (arg) {
|
91
|
+
return resolve(arg, scope, within);
|
92
|
+
});
|
93
|
+
|
94
|
+
return new FunctionNode(node.name, _args);
|
95
|
+
} // Otherwise just recursively resolve any children (might also work
|
96
|
+
// for some of the above special cases)
|
97
|
+
|
98
|
+
|
99
|
+
return node.map(function (child) {
|
100
|
+
return resolve(child, scope, within);
|
101
|
+
});
|
102
|
+
}
|
103
|
+
|
104
|
+
return resolve;
|
105
|
+
});
|
106
|
+
exports.createResolve = createResolve;
|
@@ -17,7 +17,7 @@ var _util = require("./util.js");
|
|
17
17
|
|
18
18
|
var _noop = require("../../../utils/noop.js");
|
19
19
|
|
20
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it
|
20
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
21
21
|
|
22
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
23
23
|
|
@@ -348,7 +348,7 @@ var createSimplifyConstant = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
348
348
|
return node;
|
349
349
|
|
350
350
|
case 'ConstantNode':
|
351
|
-
switch ((0, _typeof2
|
351
|
+
switch ((0, _typeof2.default)(node.value)) {
|
352
352
|
case 'number':
|
353
353
|
return _toNumber(node.value, options);
|
354
354
|
|
@@ -419,13 +419,13 @@ var createSimplifyConstant = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
419
419
|
} else {
|
420
420
|
res = makeNode(_args);
|
421
421
|
}
|
422
|
-
} else if (isAssociative(node)) {
|
423
|
-
_args = allChildren(node);
|
422
|
+
} else if (isAssociative(node, options.context)) {
|
423
|
+
_args = allChildren(node, options.context);
|
424
424
|
_args = _args.map(function (arg) {
|
425
425
|
return foldFraction(arg, options);
|
426
426
|
});
|
427
427
|
|
428
|
-
if (isCommutative(fn)) {
|
428
|
+
if (isCommutative(fn, options.context)) {
|
429
429
|
// commutative binary operator
|
430
430
|
var consts = [];
|
431
431
|
var vars = [];
|