mathjs 10.6.2 → 11.0.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.
- package/HISTORY.md +74 -1
- package/README.md +1 -1
- package/lib/browser/math.js +2 -41
- package/lib/browser/math.js.LICENSE.txt +43 -0
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +6 -5
- package/lib/cjs/core/function/import.js +4 -14
- package/lib/cjs/core/function/typed.js +54 -12
- 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/dependenciesChainClass.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +56 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +6 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +8 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +50 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +6 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +8 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +87 -61
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +93 -69
- package/lib/cjs/entry/pureFunctionsAny.generated.js +50 -45
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +22 -19
- package/lib/cjs/expression/Parser.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +8 -5
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/cjs/expression/node/AccessorNode.js +216 -173
- package/lib/cjs/expression/node/ArrayNode.js +206 -160
- package/lib/cjs/expression/node/AssignmentNode.js +321 -270
- package/lib/cjs/expression/node/BlockNode.js +223 -172
- package/lib/cjs/expression/node/ConditionalNode.js +253 -193
- package/lib/cjs/expression/node/ConstantNode.js +216 -171
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +258 -196
- package/lib/cjs/expression/node/FunctionNode.js +456 -416
- package/lib/cjs/expression/node/IndexNode.js +256 -210
- package/lib/cjs/expression/node/Node.js +411 -378
- package/lib/cjs/expression/node/ObjectNode.js +223 -178
- package/lib/cjs/expression/node/OperatorNode.js +474 -397
- package/lib/cjs/expression/node/ParenthesisNode.js +189 -143
- package/lib/cjs/expression/node/RangeNode.js +272 -224
- package/lib/cjs/expression/node/RelationalNode.js +246 -195
- package/lib/cjs/expression/node/SymbolNode.js +219 -172
- package/lib/cjs/expression/node/utils/access.js +1 -1
- package/lib/cjs/expression/node/utils/assign.js +1 -1
- package/lib/cjs/expression/operators.js +117 -23
- package/lib/cjs/expression/parse.js +37 -19
- package/lib/cjs/expression/transform/std.transform.js +3 -1
- package/lib/cjs/factoriesAny.js +8 -0
- package/lib/cjs/factoriesNumber.js +10 -1
- package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
- package/lib/cjs/function/algebra/derivative.js +22 -30
- package/lib/cjs/function/algebra/leafCount.js +0 -3
- package/lib/cjs/function/algebra/rationalize.js +78 -108
- package/lib/cjs/function/algebra/resolve.js +53 -16
- package/lib/cjs/function/algebra/simplify/util.js +1 -1
- package/lib/cjs/function/algebra/simplify.js +87 -114
- package/lib/cjs/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +44 -10
- package/lib/cjs/function/algebra/simplifyCore.js +196 -93
- 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 +9 -26
- package/lib/cjs/function/arithmetic/abs.js +7 -14
- package/lib/cjs/function/arithmetic/add.js +26 -70
- package/lib/cjs/function/arithmetic/addScalar.js +17 -9
- package/lib/cjs/function/arithmetic/cbrt.js +7 -11
- package/lib/cjs/function/arithmetic/ceil.js +56 -46
- package/lib/cjs/function/arithmetic/cube.js +5 -10
- package/lib/cjs/function/arithmetic/divide.js +7 -7
- package/lib/cjs/function/arithmetic/divideScalar.js +4 -18
- package/lib/cjs/function/arithmetic/dotDivide.js +22 -65
- package/lib/cjs/function/arithmetic/dotMultiply.js +16 -61
- package/lib/cjs/function/arithmetic/dotPow.js +30 -63
- package/lib/cjs/function/arithmetic/exp.js +8 -12
- package/lib/cjs/function/arithmetic/expm1.js +10 -10
- package/lib/cjs/function/arithmetic/fix.js +33 -27
- package/lib/cjs/function/arithmetic/floor.js +56 -46
- package/lib/cjs/function/arithmetic/gcd.js +27 -68
- package/lib/cjs/function/arithmetic/hypot.js +9 -5
- package/lib/cjs/function/arithmetic/invmod.js +1 -1
- package/lib/cjs/function/arithmetic/lcm.js +27 -68
- package/lib/cjs/function/arithmetic/log.js +10 -12
- package/lib/cjs/function/arithmetic/log10.js +5 -3
- package/lib/cjs/function/arithmetic/log1p.js +11 -7
- package/lib/cjs/function/arithmetic/log2.js +5 -3
- package/lib/cjs/function/arithmetic/mod.js +22 -64
- package/lib/cjs/function/arithmetic/multiply.js +40 -35
- package/lib/cjs/function/arithmetic/multiplyScalar.js +2 -9
- package/lib/cjs/function/arithmetic/norm.js +1 -5
- package/lib/cjs/function/arithmetic/nthRoot.js +80 -92
- package/lib/cjs/function/arithmetic/round.js +56 -42
- package/lib/cjs/function/arithmetic/sign.js +14 -10
- package/lib/cjs/function/arithmetic/sqrt.js +5 -9
- package/lib/cjs/function/arithmetic/square.js +6 -10
- package/lib/cjs/function/arithmetic/subtract.js +44 -100
- package/lib/cjs/function/arithmetic/unaryMinus.js +14 -16
- package/lib/cjs/function/arithmetic/unaryPlus.js +6 -4
- package/lib/cjs/function/bitwise/bitAnd.js +17 -61
- package/lib/cjs/function/bitwise/bitNot.js +5 -3
- package/lib/cjs/function/bitwise/bitOr.js +16 -60
- package/lib/cjs/function/bitwise/bitXor.js +17 -61
- package/lib/cjs/function/bitwise/leftShift.js +68 -81
- package/lib/cjs/function/bitwise/rightArithShift.js +68 -81
- package/lib/cjs/function/bitwise/rightLogShift.js +68 -81
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +36 -0
- package/lib/cjs/function/complex/arg.js +5 -3
- package/lib/cjs/function/complex/conj.js +6 -7
- package/lib/cjs/function/complex/im.js +7 -8
- package/lib/cjs/function/complex/re.js +6 -10
- package/lib/cjs/function/logical/and.js +74 -80
- package/lib/cjs/function/logical/not.js +13 -6
- package/lib/cjs/function/logical/or.js +21 -63
- package/lib/cjs/function/logical/xor.js +21 -63
- package/lib/cjs/function/matrix/diff.js +10 -7
- package/lib/cjs/function/matrix/eigs/complexEigs.js +5 -5
- package/lib/cjs/function/matrix/fft.js +2 -2
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/ones.js +2 -1
- package/lib/cjs/function/matrix/sqrtm.js +3 -2
- package/lib/cjs/function/matrix/transpose.js +47 -48
- package/lib/cjs/function/matrix/zeros.js +2 -1
- package/lib/cjs/function/probability/factorial.js +5 -3
- package/lib/cjs/function/probability/gamma.js +38 -40
- package/lib/cjs/function/probability/kldivergence.js +5 -2
- package/lib/cjs/function/probability/lgamma.js +30 -30
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compare.js +21 -67
- package/lib/cjs/function/relational/compareNatural.js +59 -54
- package/lib/cjs/function/relational/compareText.js +10 -43
- package/lib/cjs/function/relational/compareUnits.js +24 -0
- package/lib/cjs/function/relational/equal.js +19 -80
- package/lib/cjs/function/relational/equalScalar.js +7 -9
- package/lib/cjs/function/relational/larger.js +21 -67
- package/lib/cjs/function/relational/largerEq.js +21 -67
- package/lib/cjs/function/relational/smaller.js +21 -67
- package/lib/cjs/function/relational/smallerEq.js +21 -67
- package/lib/cjs/function/relational/unequal.js +19 -80
- package/lib/cjs/function/special/erf.js +5 -3
- package/lib/cjs/function/statistics/std.js +11 -2
- package/lib/cjs/function/trigonometry/acos.js +4 -8
- package/lib/cjs/function/trigonometry/acosh.js +2 -7
- package/lib/cjs/function/trigonometry/acot.js +4 -8
- package/lib/cjs/function/trigonometry/acoth.js +4 -8
- package/lib/cjs/function/trigonometry/acsc.js +4 -8
- package/lib/cjs/function/trigonometry/acsch.js +4 -8
- package/lib/cjs/function/trigonometry/asec.js +4 -8
- package/lib/cjs/function/trigonometry/asech.js +4 -8
- package/lib/cjs/function/trigonometry/asin.js +4 -9
- package/lib/cjs/function/trigonometry/asinh.js +4 -9
- package/lib/cjs/function/trigonometry/atan.js +4 -9
- package/lib/cjs/function/trigonometry/atan2.js +24 -62
- package/lib/cjs/function/trigonometry/atanh.js +4 -9
- package/lib/cjs/function/trigonometry/cos.js +11 -20
- package/lib/cjs/function/trigonometry/cosh.js +5 -19
- package/lib/cjs/function/trigonometry/cot.js +9 -15
- package/lib/cjs/function/trigonometry/coth.js +4 -15
- package/lib/cjs/function/trigonometry/csc.js +11 -17
- package/lib/cjs/function/trigonometry/csch.js +4 -15
- package/lib/cjs/function/trigonometry/sec.js +11 -17
- package/lib/cjs/function/trigonometry/sech.js +4 -15
- package/lib/cjs/function/trigonometry/sin.js +11 -21
- package/lib/cjs/function/trigonometry/sinh.js +5 -20
- package/lib/cjs/function/trigonometry/tan.js +11 -21
- package/lib/cjs/function/trigonometry/tanh.js +5 -20
- package/lib/cjs/function/trigonometry/trigUnit.js +24 -0
- package/lib/cjs/function/unit/to.js +7 -41
- package/lib/cjs/function/utils/hasNumericValue.js +4 -0
- package/lib/cjs/function/utils/isInteger.js +5 -3
- package/lib/cjs/function/utils/isNegative.js +10 -6
- package/lib/cjs/function/utils/isNumeric.js +5 -3
- package/lib/cjs/function/utils/isPositive.js +10 -6
- package/lib/cjs/function/utils/isPrime.js +5 -3
- package/lib/cjs/function/utils/isZero.js +10 -6
- package/lib/cjs/function/utils/numeric.js +11 -4
- package/lib/cjs/function/utils/typeOf.js +38 -44
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +6 -4
- package/lib/cjs/type/boolean.js +7 -5
- package/lib/cjs/type/chain/Chain.js +23 -3
- package/lib/cjs/type/complex/Complex.js +18 -14
- package/lib/cjs/type/complex/function/complex.js +6 -4
- package/lib/cjs/type/fraction/Fraction.js +10 -6
- package/lib/cjs/type/fraction/function/fraction.js +6 -4
- package/lib/cjs/type/matrix/DenseMatrix.js +21 -6
- package/lib/cjs/type/matrix/SparseMatrix.js +12 -2
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +4 -4
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +7 -7
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +6 -6
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +5 -5
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +238 -0
- package/lib/cjs/type/number.js +6 -4
- package/lib/cjs/type/string.js +7 -5
- package/lib/cjs/type/unit/Unit.js +69 -21
- package/lib/cjs/type/unit/function/createUnit.js +2 -1
- package/lib/cjs/type/unit/function/unit.js +9 -3
- 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 +27 -25
- 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 +30 -57
- package/lib/cjs/utils/string.js +3 -3
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +2 -1
- package/lib/esm/core/function/import.js +2 -12
- package/lib/esm/core/function/typed.js +47 -11
- package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSqrtm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny.generated.js +1 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +30 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +1 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +73 -48
- package/lib/esm/entry/impureFunctionsNumber.generated.js +81 -58
- package/lib/esm/entry/pureFunctionsAny.generated.js +39 -36
- package/lib/esm/entry/pureFunctionsNumber.generated.js +14 -13
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/esm/expression/node/AccessorNode.js +158 -153
- package/lib/esm/expression/node/ArrayNode.js +162 -154
- package/lib/esm/expression/node/AssignmentNode.js +257 -245
- package/lib/esm/expression/node/BlockNode.js +177 -163
- package/lib/esm/expression/node/ConditionalNode.js +197 -174
- package/lib/esm/expression/node/ConstantNode.js +171 -163
- package/lib/esm/expression/node/FunctionAssignmentNode.js +205 -180
- package/lib/esm/expression/node/FunctionNode.js +407 -407
- package/lib/esm/expression/node/IndexNode.js +206 -198
- package/lib/esm/expression/node/Node.js +325 -325
- package/lib/esm/expression/node/ObjectNode.js +166 -157
- package/lib/esm/expression/node/OperatorNode.js +414 -377
- package/lib/esm/expression/node/ParenthesisNode.js +146 -138
- package/lib/esm/expression/node/RangeNode.js +221 -212
- package/lib/esm/expression/node/RelationalNode.js +190 -176
- package/lib/esm/expression/node/SymbolNode.js +161 -152
- package/lib/esm/expression/operators.js +96 -4
- package/lib/esm/expression/parse.js +25 -7
- package/lib/esm/expression/transform/std.transform.js +3 -1
- package/lib/esm/factoriesAny.js +1 -0
- package/lib/esm/factoriesNumber.js +1 -0
- package/lib/esm/function/algebra/derivative.js +22 -30
- package/lib/esm/function/algebra/leafCount.js +0 -3
- package/lib/esm/function/algebra/rationalize.js +83 -114
- package/lib/esm/function/algebra/resolve.js +25 -16
- package/lib/esm/function/algebra/simplify.js +82 -112
- package/lib/esm/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +39 -9
- package/lib/esm/function/algebra/simplifyCore.js +192 -91
- package/lib/esm/function/algebra/symbolicEqual.js +9 -26
- package/lib/esm/function/arithmetic/abs.js +3 -16
- package/lib/esm/function/arithmetic/add.js +21 -65
- package/lib/esm/function/arithmetic/addScalar.js +11 -5
- package/lib/esm/function/arithmetic/cbrt.js +7 -10
- package/lib/esm/function/arithmetic/ceil.js +25 -25
- package/lib/esm/function/arithmetic/cube.js +5 -9
- package/lib/esm/function/arithmetic/divide.js +7 -7
- package/lib/esm/function/arithmetic/divideScalar.js +2 -19
- package/lib/esm/function/arithmetic/dotDivide.js +22 -64
- package/lib/esm/function/arithmetic/dotMultiply.js +16 -60
- package/lib/esm/function/arithmetic/dotPow.js +30 -62
- package/lib/esm/function/arithmetic/exp.js +8 -11
- package/lib/esm/function/arithmetic/expm1.js +10 -9
- package/lib/esm/function/arithmetic/fix.js +17 -17
- package/lib/esm/function/arithmetic/floor.js +25 -25
- package/lib/esm/function/arithmetic/gcd.js +26 -70
- package/lib/esm/function/arithmetic/hypot.js +7 -6
- package/lib/esm/function/arithmetic/lcm.js +26 -70
- package/lib/esm/function/arithmetic/log.js +7 -10
- package/lib/esm/function/arithmetic/log10.js +1 -3
- package/lib/esm/function/arithmetic/log1p.js +4 -6
- package/lib/esm/function/arithmetic/log2.js +1 -3
- package/lib/esm/function/arithmetic/mod.js +21 -62
- package/lib/esm/function/arithmetic/multiply.js +23 -27
- package/lib/esm/function/arithmetic/multiplyScalar.js +2 -13
- package/lib/esm/function/arithmetic/norm.js +0 -4
- package/lib/esm/function/arithmetic/nthRoot.js +38 -73
- package/lib/esm/function/arithmetic/round.js +26 -28
- package/lib/esm/function/arithmetic/sign.js +5 -7
- package/lib/esm/function/arithmetic/sqrt.js +5 -8
- package/lib/esm/function/arithmetic/square.js +6 -9
- package/lib/esm/function/arithmetic/subtract.js +31 -95
- package/lib/esm/function/arithmetic/unaryMinus.js +6 -16
- package/lib/esm/function/arithmetic/unaryPlus.js +2 -4
- package/lib/esm/function/bitwise/bitAnd.js +16 -59
- package/lib/esm/function/bitwise/bitNot.js +1 -3
- package/lib/esm/function/bitwise/bitOr.js +16 -59
- package/lib/esm/function/bitwise/bitXor.js +16 -59
- package/lib/esm/function/bitwise/leftShift.js +38 -60
- package/lib/esm/function/bitwise/rightArithShift.js +38 -60
- package/lib/esm/function/bitwise/rightLogShift.js +38 -60
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/complex/arg.js +1 -3
- package/lib/esm/function/complex/conj.js +3 -12
- package/lib/esm/function/complex/im.js +4 -15
- package/lib/esm/function/complex/re.js +3 -15
- package/lib/esm/function/logical/and.js +35 -57
- package/lib/esm/function/logical/not.js +3 -6
- package/lib/esm/function/logical/or.js +16 -61
- package/lib/esm/function/logical/xor.js +16 -61
- package/lib/esm/function/matrix/diff.js +2 -7
- package/lib/esm/function/matrix/ones.js +2 -1
- package/lib/esm/function/matrix/sqrtm.js +3 -2
- package/lib/esm/function/matrix/transpose.js +47 -50
- package/lib/esm/function/matrix/zeros.js +2 -1
- package/lib/esm/function/probability/factorial.js +1 -3
- package/lib/esm/function/probability/gamma.js +38 -39
- package/lib/esm/function/probability/kldivergence.js +3 -2
- package/lib/esm/function/probability/lgamma.js +29 -29
- package/lib/esm/function/relational/compare.js +21 -67
- package/lib/esm/function/relational/compareNatural.js +54 -49
- package/lib/esm/function/relational/compareText.js +10 -42
- package/lib/esm/function/relational/compareUnits.js +15 -0
- package/lib/esm/function/relational/equal.js +19 -79
- package/lib/esm/function/relational/equalScalar.js +6 -9
- package/lib/esm/function/relational/larger.js +23 -73
- package/lib/esm/function/relational/largerEq.js +23 -73
- package/lib/esm/function/relational/smaller.js +23 -73
- package/lib/esm/function/relational/smallerEq.js +23 -73
- package/lib/esm/function/relational/unequal.js +19 -79
- package/lib/esm/function/special/erf.js +1 -3
- package/lib/esm/function/statistics/std.js +10 -2
- package/lib/esm/function/trigonometry/acos.js +4 -7
- package/lib/esm/function/trigonometry/acosh.js +2 -6
- package/lib/esm/function/trigonometry/acot.js +4 -7
- package/lib/esm/function/trigonometry/acoth.js +4 -7
- package/lib/esm/function/trigonometry/acsc.js +4 -7
- package/lib/esm/function/trigonometry/acsch.js +4 -7
- package/lib/esm/function/trigonometry/asec.js +4 -7
- package/lib/esm/function/trigonometry/asech.js +4 -7
- package/lib/esm/function/trigonometry/asin.js +4 -8
- package/lib/esm/function/trigonometry/asinh.js +4 -8
- package/lib/esm/function/trigonometry/atan.js +4 -8
- package/lib/esm/function/trigonometry/atan2.js +25 -64
- package/lib/esm/function/trigonometry/atanh.js +4 -8
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +5 -20
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +6 -20
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +6 -20
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +6 -20
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +5 -21
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +5 -21
- package/lib/esm/function/trigonometry/trigUnit.js +15 -0
- package/lib/esm/function/unit/to.js +8 -43
- package/lib/esm/function/utils/hasNumericValue.js +2 -0
- package/lib/esm/function/utils/isInteger.js +1 -3
- package/lib/esm/function/utils/isNegative.js +2 -6
- package/lib/esm/function/utils/isNumeric.js +3 -9
- package/lib/esm/function/utils/isPositive.js +2 -6
- package/lib/esm/function/utils/isPrime.js +1 -3
- package/lib/esm/function/utils/isZero.js +2 -6
- package/lib/esm/function/utils/numeric.js +11 -4
- package/lib/esm/function/utils/typeOf.js +38 -44
- package/lib/esm/type/bignumber/function/bignumber.js +1 -3
- package/lib/esm/type/boolean.js +1 -3
- package/lib/esm/type/chain/Chain.js +23 -3
- package/lib/esm/type/complex/Complex.js +4 -0
- package/lib/esm/type/complex/function/complex.js +1 -3
- package/lib/esm/type/fraction/Fraction.js +4 -0
- package/lib/esm/type/fraction/function/fraction.js +1 -3
- package/lib/esm/type/matrix/DenseMatrix.js +15 -1
- package/lib/esm/type/matrix/SparseMatrix.js +9 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +2 -2
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +5 -5
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +4 -4
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +3 -3
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +168 -0
- package/lib/esm/type/number.js +1 -3
- package/lib/esm/type/string.js +1 -3
- package/lib/esm/type/unit/Unit.js +61 -13
- package/lib/esm/type/unit/function/createUnit.js +2 -1
- package/lib/esm/type/unit/function/unit.js +5 -3
- package/lib/esm/utils/is.js +18 -18
- package/lib/esm/utils/snapshot.js +22 -48
- package/lib/esm/version.js +1 -1
- package/package.json +21 -24
- package/types/index.d.ts +202 -181
- package/types/index.ts +264 -57
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/utils/polyfills.js +0 -12
|
@@ -3,9 +3,9 @@ import { factory } from '../../utils/factory.js';
|
|
|
3
3
|
import { deepMap } from '../../utils/collection.js';
|
|
4
4
|
import { nearlyEqual } from '../../utils/number.js';
|
|
5
5
|
import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
7
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
8
|
+
import { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';
|
|
9
9
|
var name = 'ceil';
|
|
10
10
|
var dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
|
|
11
11
|
export var createCeilNumber = /* #__PURE__ */factory(name, ['typed', 'config', 'round'], _ref => {
|
|
@@ -44,15 +44,15 @@ export var createCeil = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
44
44
|
zeros,
|
|
45
45
|
DenseMatrix
|
|
46
46
|
} = _ref2;
|
|
47
|
-
var
|
|
47
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
48
48
|
typed,
|
|
49
49
|
equalScalar
|
|
50
50
|
});
|
|
51
|
-
var
|
|
51
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
52
52
|
typed,
|
|
53
53
|
DenseMatrix
|
|
54
54
|
});
|
|
55
|
-
var
|
|
55
|
+
var matAlgo14xDs = createMatAlgo14xDs({
|
|
56
56
|
typed
|
|
57
57
|
});
|
|
58
58
|
var ceilNumber = createCeilNumber({
|
|
@@ -133,32 +133,32 @@ export var createCeil = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
133
133
|
'Fraction, BigNumber': function FractionBigNumber(x, n) {
|
|
134
134
|
return x.ceil(n.toNumber());
|
|
135
135
|
},
|
|
136
|
-
'Array | Matrix':
|
|
136
|
+
'Array | Matrix': typed.referToSelf(self => x => {
|
|
137
137
|
// deep map collection, skip zeros since ceil(0) = 0
|
|
138
|
-
return deepMap(x,
|
|
139
|
-
},
|
|
140
|
-
'Array, number | BigNumber':
|
|
138
|
+
return deepMap(x, self, true);
|
|
139
|
+
}),
|
|
140
|
+
'Array, number | BigNumber': typed.referToSelf(self => (x, n) => {
|
|
141
141
|
// deep map collection, skip zeros since ceil(0) = 0
|
|
142
|
-
return deepMap(x, i =>
|
|
143
|
-
},
|
|
144
|
-
'SparseMatrix, number | BigNumber':
|
|
145
|
-
return
|
|
146
|
-
},
|
|
147
|
-
'DenseMatrix, number | BigNumber':
|
|
148
|
-
return
|
|
149
|
-
},
|
|
150
|
-
'number | Complex | Fraction | BigNumber, Array':
|
|
142
|
+
return deepMap(x, i => self(i, n), true);
|
|
143
|
+
}),
|
|
144
|
+
'SparseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {
|
|
145
|
+
return matAlgo11xS0s(x, y, self, false);
|
|
146
|
+
}),
|
|
147
|
+
'DenseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {
|
|
148
|
+
return matAlgo14xDs(x, y, self, false);
|
|
149
|
+
}),
|
|
150
|
+
'number | Complex | Fraction | BigNumber, Array': typed.referToSelf(self => (x, y) => {
|
|
151
151
|
// use matrix implementation
|
|
152
|
-
return
|
|
153
|
-
},
|
|
154
|
-
'number | Complex | Fraction | BigNumber, Matrix':
|
|
152
|
+
return matAlgo14xDs(matrix(y), x, self, true).valueOf();
|
|
153
|
+
}),
|
|
154
|
+
'number | Complex | Fraction | BigNumber, Matrix': typed.referToSelf(self => (x, y) => {
|
|
155
155
|
if (equalScalar(x, 0)) return zeros(y.size(), y.storage());
|
|
156
156
|
|
|
157
157
|
if (y.storage() === 'dense') {
|
|
158
|
-
return
|
|
158
|
+
return matAlgo14xDs(y, x, self, true);
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
return
|
|
162
|
-
}
|
|
161
|
+
return matAlgo12xSfs(y, x, self, true);
|
|
162
|
+
})
|
|
163
163
|
});
|
|
164
164
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { cubeNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'cube';
|
|
5
4
|
var dependencies = ['typed'];
|
|
@@ -10,7 +9,8 @@ export var createCube = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* Compute the cube of a value, `x * x * x`.
|
|
13
|
-
*
|
|
12
|
+
* To avoid confusion with `pow(M,3)`, this function does not apply to matrices.
|
|
13
|
+
* If you wish to cube every entry of a matrix, see the examples.
|
|
14
14
|
*
|
|
15
15
|
* Syntax:
|
|
16
16
|
*
|
|
@@ -23,14 +23,14 @@ export var createCube = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
23
23
|
* math.cube(4) // returns number 64
|
|
24
24
|
* 4 * 4 * 4 // returns number 64
|
|
25
25
|
*
|
|
26
|
-
* math.
|
|
26
|
+
* math.map([1, 2, 3, 4], math.cube) // returns Array [1, 8, 27, 64]
|
|
27
27
|
*
|
|
28
28
|
* See also:
|
|
29
29
|
*
|
|
30
30
|
* multiply, square, pow, cbrt
|
|
31
31
|
*
|
|
32
|
-
* @param {number | BigNumber | Fraction | Complex |
|
|
33
|
-
* @return {number | BigNumber | Fraction | Complex |
|
|
32
|
+
* @param {number | BigNumber | Fraction | Complex | Unit} x Number for which to calculate the cube
|
|
33
|
+
* @return {number | BigNumber | Fraction | Complex | Unit} Cube of x
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
36
|
number: cubeNumber,
|
|
@@ -43,10 +43,6 @@ export var createCube = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
43
43
|
Fraction: function Fraction(x) {
|
|
44
44
|
return x.pow(3); // Is faster than mul()mul()mul()
|
|
45
45
|
},
|
|
46
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
47
|
-
// deep map collection, skip zeros since cube(0) = 0
|
|
48
|
-
return deepMap(x, this, true);
|
|
49
|
-
},
|
|
50
46
|
Unit: function Unit(x) {
|
|
51
47
|
return x.pow(3);
|
|
52
48
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
2
|
import { extend } from '../../utils/object.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
4
|
+
import { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';
|
|
5
5
|
var name = 'divide';
|
|
6
6
|
var dependencies = ['typed', 'matrix', 'multiply', 'equalScalar', 'divideScalar', 'inv'];
|
|
7
7
|
export var createDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -13,11 +13,11 @@ export var createDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
13
13
|
divideScalar,
|
|
14
14
|
inv
|
|
15
15
|
} = _ref;
|
|
16
|
-
var
|
|
16
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
17
17
|
typed,
|
|
18
18
|
equalScalar
|
|
19
19
|
});
|
|
20
|
-
var
|
|
20
|
+
var matAlgo14xDs = createMatAlgo14xDs({
|
|
21
21
|
typed
|
|
22
22
|
});
|
|
23
23
|
/**
|
|
@@ -62,14 +62,14 @@ export var createDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
62
62
|
return multiply(x, inv(y));
|
|
63
63
|
},
|
|
64
64
|
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
65
|
-
return
|
|
65
|
+
return matAlgo14xDs(x, y, divideScalar, false);
|
|
66
66
|
},
|
|
67
67
|
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
68
|
-
return
|
|
68
|
+
return matAlgo11xS0s(x, y, divideScalar, false);
|
|
69
69
|
},
|
|
70
70
|
'Array, any': function ArrayAny(x, y) {
|
|
71
71
|
// use matrix implementation
|
|
72
|
-
return
|
|
72
|
+
return matAlgo14xDs(matrix(x), y, divideScalar, false).valueOf();
|
|
73
73
|
},
|
|
74
74
|
'any, Array | Matrix': function anyArrayMatrix(x, y) {
|
|
75
75
|
return multiply(x, inv(y));
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { typeOf } from '../../utils/is.js';
|
|
3
2
|
var name = 'divideScalar';
|
|
4
3
|
var dependencies = ['typed', 'numeric'];
|
|
5
4
|
export var createDivideScalar = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -33,23 +32,7 @@ export var createDivideScalar = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
33
32
|
'Fraction, Fraction': function FractionFraction(x, y) {
|
|
34
33
|
return x.div(y);
|
|
35
34
|
},
|
|
36
|
-
'Unit, number | Fraction | BigNumber':
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var one = numeric(1, typeOf(y));
|
|
40
|
-
res.value = this(res.value === null ? res._normalize(one) : res.value, y);
|
|
41
|
-
return res;
|
|
42
|
-
},
|
|
43
|
-
'number | Fraction | BigNumber, Unit': function numberFractionBigNumberUnit(x, y) {
|
|
44
|
-
var res = y.clone();
|
|
45
|
-
res = res.pow(-1); // TODO: move the divide function to Unit.js, it uses internals of Unit
|
|
46
|
-
|
|
47
|
-
var one = numeric(1, typeOf(x));
|
|
48
|
-
res.value = this(x, y.value === null ? y._normalize(one) : y.value);
|
|
49
|
-
return res;
|
|
50
|
-
},
|
|
51
|
-
'Unit, Unit': function UnitUnit(x, y) {
|
|
52
|
-
return x.divide(y);
|
|
53
|
-
}
|
|
35
|
+
'Unit, number | Complex | Fraction | BigNumber | Unit': (x, y) => x.divide(y),
|
|
36
|
+
'number | Fraction | Complex | BigNumber, Unit': (x, y) => y.divideInto(x)
|
|
54
37
|
});
|
|
55
38
|
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
2
|
+
import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';
|
|
3
|
+
import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
|
|
4
|
+
import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
|
|
5
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
6
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
7
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
9
8
|
var name = 'dotDivide';
|
|
10
9
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'divideScalar', 'DenseMatrix'];
|
|
11
10
|
export var createDotDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -16,30 +15,28 @@ export var createDotDivide = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
16
15
|
divideScalar,
|
|
17
16
|
DenseMatrix
|
|
18
17
|
} = _ref;
|
|
19
|
-
var
|
|
18
|
+
var matAlgo02xDS0 = createMatAlgo02xDS0({
|
|
20
19
|
typed,
|
|
21
20
|
equalScalar
|
|
22
21
|
});
|
|
23
|
-
var
|
|
22
|
+
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
24
23
|
typed
|
|
25
24
|
});
|
|
26
|
-
var
|
|
25
|
+
var matAlgo07xSSf = createMatAlgo07xSSf({
|
|
27
26
|
typed,
|
|
28
27
|
DenseMatrix
|
|
29
28
|
});
|
|
30
|
-
var
|
|
29
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
31
30
|
typed,
|
|
32
31
|
equalScalar
|
|
33
32
|
});
|
|
34
|
-
var
|
|
33
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
35
34
|
typed,
|
|
36
35
|
DenseMatrix
|
|
37
36
|
});
|
|
38
|
-
var
|
|
39
|
-
typed
|
|
40
|
-
|
|
41
|
-
var algorithm14 = createAlgorithm14({
|
|
42
|
-
typed
|
|
37
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
38
|
+
typed,
|
|
39
|
+
matrix
|
|
43
40
|
});
|
|
44
41
|
/**
|
|
45
42
|
* Divide two matrices element wise. The function accepts both matrices and
|
|
@@ -68,51 +65,12 @@ export var createDotDivide = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
68
65
|
* @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Quotient, `x ./ y`
|
|
69
66
|
*/
|
|
70
67
|
|
|
71
|
-
return typed(name, {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
80
|
-
return algorithm03(x, y, divideScalar, false);
|
|
81
|
-
},
|
|
82
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
83
|
-
return algorithm13(x, y, divideScalar);
|
|
84
|
-
},
|
|
85
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
86
|
-
// use matrix implementation
|
|
87
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
88
|
-
},
|
|
89
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
90
|
-
// use matrix implementation
|
|
91
|
-
return this(matrix(x), y);
|
|
92
|
-
},
|
|
93
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
94
|
-
// use matrix implementation
|
|
95
|
-
return this(x, matrix(y));
|
|
96
|
-
},
|
|
97
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
98
|
-
return algorithm11(x, y, divideScalar, false);
|
|
99
|
-
},
|
|
100
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
101
|
-
return algorithm14(x, y, divideScalar, false);
|
|
102
|
-
},
|
|
103
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
104
|
-
return algorithm12(y, x, divideScalar, true);
|
|
105
|
-
},
|
|
106
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
107
|
-
return algorithm14(y, x, divideScalar, true);
|
|
108
|
-
},
|
|
109
|
-
'Array, any': function ArrayAny(x, y) {
|
|
110
|
-
// use matrix implementation
|
|
111
|
-
return algorithm14(matrix(x), y, divideScalar, false).valueOf();
|
|
112
|
-
},
|
|
113
|
-
'any, Array': function anyArray(x, y) {
|
|
114
|
-
// use matrix implementation
|
|
115
|
-
return algorithm14(matrix(y), x, divideScalar, true).valueOf();
|
|
116
|
-
}
|
|
117
|
-
});
|
|
68
|
+
return typed(name, matrixAlgorithmSuite({
|
|
69
|
+
elop: divideScalar,
|
|
70
|
+
SS: matAlgo07xSSf,
|
|
71
|
+
DS: matAlgo03xDSf,
|
|
72
|
+
SD: matAlgo02xDS0,
|
|
73
|
+
Ss: matAlgo11xS0s,
|
|
74
|
+
sS: matAlgo12xSfs
|
|
75
|
+
}));
|
|
118
76
|
});
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
2
|
+
import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';
|
|
3
|
+
import { createMatAlgo09xS0Sf } from '../../type/matrix/utils/matAlgo09xS0Sf.js';
|
|
4
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
5
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
7
6
|
var name = 'dotMultiply';
|
|
8
7
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar'];
|
|
9
8
|
export var createDotMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -13,23 +12,21 @@ export var createDotMultiply = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
13
12
|
equalScalar,
|
|
14
13
|
multiplyScalar
|
|
15
14
|
} = _ref;
|
|
16
|
-
var
|
|
15
|
+
var matAlgo02xDS0 = createMatAlgo02xDS0({
|
|
17
16
|
typed,
|
|
18
17
|
equalScalar
|
|
19
18
|
});
|
|
20
|
-
var
|
|
19
|
+
var matAlgo09xS0Sf = createMatAlgo09xS0Sf({
|
|
21
20
|
typed,
|
|
22
21
|
equalScalar
|
|
23
22
|
});
|
|
24
|
-
var
|
|
23
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
25
24
|
typed,
|
|
26
25
|
equalScalar
|
|
27
26
|
});
|
|
28
|
-
var
|
|
29
|
-
typed
|
|
30
|
-
|
|
31
|
-
var algorithm14 = createAlgorithm14({
|
|
32
|
-
typed
|
|
27
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
28
|
+
typed,
|
|
29
|
+
matrix
|
|
33
30
|
});
|
|
34
31
|
/**
|
|
35
32
|
* Multiply two matrices element wise. The function accepts both matrices and
|
|
@@ -58,51 +55,10 @@ export var createDotMultiply = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
58
55
|
* @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Multiplication of `x` and `y`
|
|
59
56
|
*/
|
|
60
57
|
|
|
61
|
-
return typed(name, {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return algorithm02(y, x, multiplyScalar, true);
|
|
68
|
-
},
|
|
69
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
70
|
-
return algorithm02(x, y, multiplyScalar, false);
|
|
71
|
-
},
|
|
72
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
73
|
-
return algorithm13(x, y, multiplyScalar);
|
|
74
|
-
},
|
|
75
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
76
|
-
// use matrix implementation
|
|
77
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
78
|
-
},
|
|
79
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
80
|
-
// use matrix implementation
|
|
81
|
-
return this(matrix(x), y);
|
|
82
|
-
},
|
|
83
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
84
|
-
// use matrix implementation
|
|
85
|
-
return this(x, matrix(y));
|
|
86
|
-
},
|
|
87
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
88
|
-
return algorithm11(x, y, multiplyScalar, false);
|
|
89
|
-
},
|
|
90
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
91
|
-
return algorithm14(x, y, multiplyScalar, false);
|
|
92
|
-
},
|
|
93
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
94
|
-
return algorithm11(y, x, multiplyScalar, true);
|
|
95
|
-
},
|
|
96
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
97
|
-
return algorithm14(y, x, multiplyScalar, true);
|
|
98
|
-
},
|
|
99
|
-
'Array, any': function ArrayAny(x, y) {
|
|
100
|
-
// use matrix implementation
|
|
101
|
-
return algorithm14(matrix(x), y, multiplyScalar, false).valueOf();
|
|
102
|
-
},
|
|
103
|
-
'any, Array': function anyArray(x, y) {
|
|
104
|
-
// use matrix implementation
|
|
105
|
-
return algorithm14(matrix(y), x, multiplyScalar, true).valueOf();
|
|
106
|
-
}
|
|
107
|
-
});
|
|
58
|
+
return typed(name, matrixAlgorithmSuite({
|
|
59
|
+
elop: multiplyScalar,
|
|
60
|
+
SS: matAlgo09xS0Sf,
|
|
61
|
+
DS: matAlgo02xDS0,
|
|
62
|
+
Ss: matAlgo11xS0s
|
|
63
|
+
}));
|
|
108
64
|
});
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
2
|
+
import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
|
|
3
|
+
import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
|
|
4
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
5
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
6
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
8
7
|
var name = 'dotPow';
|
|
9
8
|
var dependencies = ['typed', 'equalScalar', 'matrix', 'pow', 'DenseMatrix'];
|
|
10
9
|
export var createDotPow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -15,27 +14,36 @@ export var createDotPow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
15
14
|
pow,
|
|
16
15
|
DenseMatrix
|
|
17
16
|
} = _ref;
|
|
18
|
-
var
|
|
17
|
+
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
19
18
|
typed
|
|
20
19
|
});
|
|
21
|
-
var
|
|
20
|
+
var matAlgo07xSSf = createMatAlgo07xSSf({
|
|
22
21
|
typed,
|
|
23
22
|
DenseMatrix
|
|
24
23
|
});
|
|
25
|
-
var
|
|
24
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
26
25
|
typed,
|
|
27
26
|
equalScalar
|
|
28
27
|
});
|
|
29
|
-
var
|
|
28
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
30
29
|
typed,
|
|
31
30
|
DenseMatrix
|
|
32
31
|
});
|
|
33
|
-
var
|
|
34
|
-
typed
|
|
35
|
-
|
|
36
|
-
var algorithm14 = createAlgorithm14({
|
|
37
|
-
typed
|
|
32
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
33
|
+
typed,
|
|
34
|
+
matrix
|
|
38
35
|
});
|
|
36
|
+
var powScalarSignatures = {};
|
|
37
|
+
|
|
38
|
+
for (var signature in pow.signatures) {
|
|
39
|
+
if (Object.prototype.hasOwnProperty.call(pow.signatures, signature)) {
|
|
40
|
+
if (!signature.includes('Matrix') && !signature.includes('Array')) {
|
|
41
|
+
powScalarSignatures[signature] = pow.signatures[signature];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var powScalar = typed(powScalarSignatures);
|
|
39
47
|
/**
|
|
40
48
|
* Calculates the power of x to y element wise.
|
|
41
49
|
*
|
|
@@ -60,51 +68,11 @@ export var createDotPow = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
60
68
|
* @return {number | BigNumber | Complex | Unit | Array | Matrix} The value of `x` to the power `y`
|
|
61
69
|
*/
|
|
62
70
|
|
|
63
|
-
return typed(name, {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
},
|
|
71
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
72
|
-
return algorithm03(x, y, pow, false);
|
|
73
|
-
},
|
|
74
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
75
|
-
return algorithm13(x, y, pow);
|
|
76
|
-
},
|
|
77
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
78
|
-
// use matrix implementation
|
|
79
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
80
|
-
},
|
|
81
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
82
|
-
// use matrix implementation
|
|
83
|
-
return this(matrix(x), y);
|
|
84
|
-
},
|
|
85
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
86
|
-
// use matrix implementation
|
|
87
|
-
return this(x, matrix(y));
|
|
88
|
-
},
|
|
89
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
90
|
-
return algorithm11(x, y, this, false);
|
|
91
|
-
},
|
|
92
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
93
|
-
return algorithm14(x, y, this, false);
|
|
94
|
-
},
|
|
95
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
96
|
-
return algorithm12(y, x, this, true);
|
|
97
|
-
},
|
|
98
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
99
|
-
return algorithm14(y, x, this, true);
|
|
100
|
-
},
|
|
101
|
-
'Array, any': function ArrayAny(x, y) {
|
|
102
|
-
// use matrix implementation
|
|
103
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
104
|
-
},
|
|
105
|
-
'any, Array': function anyArray(x, y) {
|
|
106
|
-
// use matrix implementation
|
|
107
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
108
|
-
}
|
|
109
|
-
});
|
|
71
|
+
return typed(name, matrixAlgorithmSuite({
|
|
72
|
+
elop: powScalar,
|
|
73
|
+
SS: matAlgo07xSSf,
|
|
74
|
+
DS: matAlgo03xDSf,
|
|
75
|
+
Ss: matAlgo11xS0s,
|
|
76
|
+
sS: matAlgo12xSfs
|
|
77
|
+
}));
|
|
110
78
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { expNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'exp';
|
|
5
4
|
var dependencies = ['typed'];
|
|
@@ -9,8 +8,10 @@ export var createExp = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
9
8
|
} = _ref;
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
|
-
* Calculate the
|
|
13
|
-
* For matrices, the
|
|
11
|
+
* Calculate the exponential of a value.
|
|
12
|
+
* For matrices, if you want the matrix exponential of square matrix, use
|
|
13
|
+
* the `expm` function; if you want to take the exponential of each element,
|
|
14
|
+
* see the examples.
|
|
14
15
|
*
|
|
15
16
|
* Syntax:
|
|
16
17
|
*
|
|
@@ -22,7 +23,7 @@ export var createExp = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
22
23
|
* math.pow(math.e, 2) // returns number 7.3890560989306495
|
|
23
24
|
* math.log(math.exp(2)) // returns number 2
|
|
24
25
|
*
|
|
25
|
-
* math.
|
|
26
|
+
* math.map([1, 2, 3], math.exp)
|
|
26
27
|
* // returns Array [
|
|
27
28
|
* // 2.718281828459045,
|
|
28
29
|
* // 7.3890560989306495,
|
|
@@ -31,10 +32,10 @@ export var createExp = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
31
32
|
*
|
|
32
33
|
* See also:
|
|
33
34
|
*
|
|
34
|
-
* expm1, log, pow
|
|
35
|
+
* expm1, expm, log, pow
|
|
35
36
|
*
|
|
36
|
-
* @param {number | BigNumber | Complex
|
|
37
|
-
* @return {number | BigNumber | Complex
|
|
37
|
+
* @param {number | BigNumber | Complex} x A number to exponentiate
|
|
38
|
+
* @return {number | BigNumber | Complex} Exponential of `x`
|
|
38
39
|
*/
|
|
39
40
|
return typed(name, {
|
|
40
41
|
number: expNumber,
|
|
@@ -43,10 +44,6 @@ export var createExp = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
43
44
|
},
|
|
44
45
|
BigNumber: function BigNumber(x) {
|
|
45
46
|
return x.exp();
|
|
46
|
-
},
|
|
47
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
48
|
-
// TODO: exp(sparse) should return a dense matrix since exp(0)==1
|
|
49
|
-
return deepMap(x, this);
|
|
50
47
|
}
|
|
51
48
|
});
|
|
52
49
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { expm1Number } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'expm1';
|
|
5
4
|
var dependencies = ['typed', 'Complex'];
|
|
@@ -11,7 +10,10 @@ export var createExpm1 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Calculate the value of subtracting 1 from the exponential value.
|
|
14
|
-
*
|
|
13
|
+
* This function is more accurate than `math.exp(x)-1` when `x` is near 0
|
|
14
|
+
* To avoid ambiguity with the matrix exponential `expm`, this function
|
|
15
|
+
* does not operate on matrices; if you wish to apply it elementwise, see
|
|
16
|
+
* the examples.
|
|
15
17
|
*
|
|
16
18
|
* Syntax:
|
|
17
19
|
*
|
|
@@ -21,9 +23,11 @@ export var createExpm1 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
21
23
|
*
|
|
22
24
|
* math.expm1(2) // returns number 6.38905609893065
|
|
23
25
|
* math.pow(math.e, 2) - 1 // returns number 6.3890560989306495
|
|
26
|
+
* math.expm1(1e-8) // returns number 1.0000000050000001e-8
|
|
27
|
+
* math.exp(1e-8) - 1 // returns number 9.9999999392253e-9
|
|
24
28
|
* math.log(math.expm1(2) + 1) // returns number 2
|
|
25
29
|
*
|
|
26
|
-
* math.
|
|
30
|
+
* math.map([1, 2, 3], math.expm1)
|
|
27
31
|
* // returns Array [
|
|
28
32
|
* // 1.718281828459045,
|
|
29
33
|
* // 6.3890560989306495,
|
|
@@ -32,10 +36,10 @@ export var createExpm1 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
32
36
|
*
|
|
33
37
|
* See also:
|
|
34
38
|
*
|
|
35
|
-
* exp, log, pow
|
|
39
|
+
* exp, expm, log, pow
|
|
36
40
|
*
|
|
37
|
-
* @param {number | BigNumber | Complex
|
|
38
|
-
* @return {number | BigNumber | Complex
|
|
41
|
+
* @param {number | BigNumber | Complex} x A number or matrix to apply expm1
|
|
42
|
+
* @return {number | BigNumber | Complex} Exponential of `x`, minus one
|
|
39
43
|
*/
|
|
40
44
|
return typed(name, {
|
|
41
45
|
number: expm1Number,
|
|
@@ -45,9 +49,6 @@ export var createExpm1 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
45
49
|
},
|
|
46
50
|
BigNumber: function BigNumber(x) {
|
|
47
51
|
return x.exp().minus(1);
|
|
48
|
-
},
|
|
49
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
50
|
-
return deepMap(x, this);
|
|
51
52
|
}
|
|
52
53
|
});
|
|
53
54
|
});
|