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
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { createAlgorithm06 } from '../../type/matrix/utils/algorithm06.js';
|
|
1
|
+
import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';
|
|
2
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
3
|
+
import { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';
|
|
4
|
+
import { createMatAlgo06xS0S0 } from '../../type/matrix/utils/matAlgo06xS0S0.js';
|
|
6
5
|
import { factory } from '../../utils/factory.js';
|
|
6
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
7
7
|
import { andNumber } from '../../plain/number/index.js';
|
|
8
8
|
var name = 'and';
|
|
9
9
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'not'];
|
|
@@ -15,23 +15,24 @@ export var createAnd = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
15
15
|
zeros,
|
|
16
16
|
not
|
|
17
17
|
} = _ref;
|
|
18
|
-
var
|
|
18
|
+
var matAlgo02xDS0 = createMatAlgo02xDS0({
|
|
19
19
|
typed,
|
|
20
20
|
equalScalar
|
|
21
21
|
});
|
|
22
|
-
var
|
|
22
|
+
var matAlgo06xS0S0 = createMatAlgo06xS0S0({
|
|
23
23
|
typed,
|
|
24
24
|
equalScalar
|
|
25
25
|
});
|
|
26
|
-
var
|
|
26
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
27
27
|
typed,
|
|
28
28
|
equalScalar
|
|
29
29
|
});
|
|
30
|
-
var
|
|
30
|
+
var matAlgo14xDs = createMatAlgo14xDs({
|
|
31
31
|
typed
|
|
32
32
|
});
|
|
33
|
-
var
|
|
34
|
-
typed
|
|
33
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
34
|
+
typed,
|
|
35
|
+
matrix
|
|
35
36
|
});
|
|
36
37
|
/**
|
|
37
38
|
* Logical `and`. Test whether two values are both defined with a nonzero/nonempty value.
|
|
@@ -70,76 +71,53 @@ export var createAnd = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
70
71
|
'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
|
|
71
72
|
return !x.isZero() && !y.isZero() && !x.isNaN() && !y.isNaN();
|
|
72
73
|
},
|
|
73
|
-
'Unit, Unit':
|
|
74
|
-
|
|
75
|
-
},
|
|
76
|
-
'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
|
|
77
|
-
return algorithm06(x, y, this, false);
|
|
78
|
-
},
|
|
79
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
80
|
-
return algorithm02(y, x, this, true);
|
|
81
|
-
},
|
|
82
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
83
|
-
return algorithm02(x, y, this, false);
|
|
84
|
-
},
|
|
85
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
86
|
-
return algorithm13(x, y, this);
|
|
87
|
-
},
|
|
88
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
89
|
-
// use matrix implementation
|
|
90
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
91
|
-
},
|
|
92
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
93
|
-
// use matrix implementation
|
|
94
|
-
return this(matrix(x), y);
|
|
95
|
-
},
|
|
96
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
97
|
-
// use matrix implementation
|
|
98
|
-
return this(x, matrix(y));
|
|
99
|
-
},
|
|
100
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
74
|
+
'Unit, Unit': typed.referToSelf(self => (x, y) => self(x.value || 0, y.value || 0)),
|
|
75
|
+
'SparseMatrix, any': typed.referToSelf(self => (x, y) => {
|
|
101
76
|
// check scalar
|
|
102
77
|
if (not(y)) {
|
|
103
78
|
// return zero matrix
|
|
104
79
|
return zeros(x.size(), x.storage());
|
|
105
80
|
}
|
|
106
81
|
|
|
107
|
-
return
|
|
108
|
-
},
|
|
109
|
-
'DenseMatrix, any':
|
|
82
|
+
return matAlgo11xS0s(x, y, self, false);
|
|
83
|
+
}),
|
|
84
|
+
'DenseMatrix, any': typed.referToSelf(self => (x, y) => {
|
|
110
85
|
// check scalar
|
|
111
86
|
if (not(y)) {
|
|
112
87
|
// return zero matrix
|
|
113
88
|
return zeros(x.size(), x.storage());
|
|
114
89
|
}
|
|
115
90
|
|
|
116
|
-
return
|
|
117
|
-
},
|
|
118
|
-
'any, SparseMatrix':
|
|
91
|
+
return matAlgo14xDs(x, y, self, false);
|
|
92
|
+
}),
|
|
93
|
+
'any, SparseMatrix': typed.referToSelf(self => (x, y) => {
|
|
119
94
|
// check scalar
|
|
120
95
|
if (not(x)) {
|
|
121
96
|
// return zero matrix
|
|
122
97
|
return zeros(x.size(), x.storage());
|
|
123
98
|
}
|
|
124
99
|
|
|
125
|
-
return
|
|
126
|
-
},
|
|
127
|
-
'any, DenseMatrix':
|
|
100
|
+
return matAlgo11xS0s(y, x, self, true);
|
|
101
|
+
}),
|
|
102
|
+
'any, DenseMatrix': typed.referToSelf(self => (x, y) => {
|
|
128
103
|
// check scalar
|
|
129
104
|
if (not(x)) {
|
|
130
105
|
// return zero matrix
|
|
131
106
|
return zeros(x.size(), x.storage());
|
|
132
107
|
}
|
|
133
108
|
|
|
134
|
-
return
|
|
135
|
-
},
|
|
136
|
-
'Array, any':
|
|
109
|
+
return matAlgo14xDs(y, x, self, true);
|
|
110
|
+
}),
|
|
111
|
+
'Array, any': typed.referToSelf(self => (x, y) => {
|
|
137
112
|
// use matrix implementation
|
|
138
|
-
return
|
|
139
|
-
},
|
|
140
|
-
'any, Array':
|
|
113
|
+
return self(matrix(x), y).valueOf();
|
|
114
|
+
}),
|
|
115
|
+
'any, Array': typed.referToSelf(self => (x, y) => {
|
|
141
116
|
// use matrix implementation
|
|
142
|
-
return
|
|
143
|
-
}
|
|
144
|
-
}
|
|
117
|
+
return self(x, matrix(y)).valueOf();
|
|
118
|
+
})
|
|
119
|
+
}, matrixAlgorithmSuite({
|
|
120
|
+
SS: matAlgo06xS0S0,
|
|
121
|
+
DS: matAlgo02xDS0
|
|
122
|
+
}));
|
|
145
123
|
});
|
|
@@ -34,6 +34,7 @@ export var createNot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
34
34
|
* Returns true when input is a zero or empty value.
|
|
35
35
|
*/
|
|
36
36
|
return typed(name, {
|
|
37
|
+
'null | undefined': () => true,
|
|
37
38
|
number: notNumber,
|
|
38
39
|
Complex: function Complex(x) {
|
|
39
40
|
return x.re === 0 && x.im === 0;
|
|
@@ -41,11 +42,7 @@ export var createNot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
41
42
|
BigNumber: function BigNumber(x) {
|
|
42
43
|
return x.isZero() || x.isNaN();
|
|
43
44
|
},
|
|
44
|
-
Unit:
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
48
|
-
return deepMap(x, this);
|
|
49
|
-
}
|
|
45
|
+
Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),
|
|
46
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
50
47
|
});
|
|
51
48
|
});
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
5
|
-
import { createAlgorithm05 } from '../../type/matrix/utils/algorithm05.js';
|
|
1
|
+
import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
|
|
2
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
3
|
+
import { createMatAlgo05xSfSf } from '../../type/matrix/utils/matAlgo05xSfSf.js';
|
|
6
4
|
import { factory } from '../../utils/factory.js';
|
|
5
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
7
6
|
import { orNumber } from '../../plain/number/index.js';
|
|
8
7
|
var name = 'or';
|
|
9
8
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix'];
|
|
@@ -14,22 +13,20 @@ export var createOr = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
14
13
|
equalScalar,
|
|
15
14
|
DenseMatrix
|
|
16
15
|
} = _ref;
|
|
17
|
-
var
|
|
16
|
+
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
18
17
|
typed
|
|
19
18
|
});
|
|
20
|
-
var
|
|
19
|
+
var matAlgo05xSfSf = createMatAlgo05xSfSf({
|
|
21
20
|
typed,
|
|
22
21
|
equalScalar
|
|
23
22
|
});
|
|
24
|
-
var
|
|
23
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
25
24
|
typed,
|
|
26
25
|
DenseMatrix
|
|
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
|
* Logical `or`. Test if at least one value is defined with a nonzero/nonempty value.
|
|
@@ -68,52 +65,10 @@ export var createOr = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
68
65
|
'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
|
|
69
66
|
return !x.isZero() && !x.isNaN() || !y.isZero() && !y.isNaN();
|
|
70
67
|
},
|
|
71
|
-
'Unit, Unit':
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
78
|
-
return algorithm03(y, x, this, true);
|
|
79
|
-
},
|
|
80
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
81
|
-
return algorithm03(x, y, this, false);
|
|
82
|
-
},
|
|
83
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
84
|
-
return algorithm13(x, y, this);
|
|
85
|
-
},
|
|
86
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
87
|
-
// use matrix implementation
|
|
88
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
89
|
-
},
|
|
90
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
91
|
-
// use matrix implementation
|
|
92
|
-
return this(matrix(x), y);
|
|
93
|
-
},
|
|
94
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
95
|
-
// use matrix implementation
|
|
96
|
-
return this(x, matrix(y));
|
|
97
|
-
},
|
|
98
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
99
|
-
return algorithm12(x, y, this, false);
|
|
100
|
-
},
|
|
101
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
102
|
-
return algorithm14(x, y, this, false);
|
|
103
|
-
},
|
|
104
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
105
|
-
return algorithm12(y, x, this, true);
|
|
106
|
-
},
|
|
107
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
108
|
-
return algorithm14(y, x, this, true);
|
|
109
|
-
},
|
|
110
|
-
'Array, any': function ArrayAny(x, y) {
|
|
111
|
-
// use matrix implementation
|
|
112
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
113
|
-
},
|
|
114
|
-
'any, Array': function anyArray(x, y) {
|
|
115
|
-
// use matrix implementation
|
|
116
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
117
|
-
}
|
|
118
|
-
});
|
|
68
|
+
'Unit, Unit': typed.referToSelf(self => (x, y) => self(x.value || 0, y.value || 0))
|
|
69
|
+
}, matrixAlgorithmSuite({
|
|
70
|
+
SS: matAlgo05xSfSf,
|
|
71
|
+
DS: matAlgo03xDSf,
|
|
72
|
+
Ss: matAlgo12xSfs
|
|
73
|
+
}));
|
|
119
74
|
});
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
|
|
5
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
1
|
+
import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
|
|
2
|
+
import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
|
|
3
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
6
4
|
import { factory } from '../../utils/factory.js';
|
|
5
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
7
6
|
import { xorNumber } from '../../plain/number/index.js';
|
|
8
7
|
var name = 'xor';
|
|
9
8
|
var dependencies = ['typed', 'matrix', 'DenseMatrix'];
|
|
@@ -13,22 +12,20 @@ export var createXor = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
13
12
|
matrix,
|
|
14
13
|
DenseMatrix
|
|
15
14
|
} = _ref;
|
|
16
|
-
var
|
|
15
|
+
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
17
16
|
typed
|
|
18
17
|
});
|
|
19
|
-
var
|
|
18
|
+
var matAlgo07xSSf = createMatAlgo07xSSf({
|
|
20
19
|
typed,
|
|
21
20
|
DenseMatrix
|
|
22
21
|
});
|
|
23
|
-
var
|
|
22
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
24
23
|
typed,
|
|
25
24
|
DenseMatrix
|
|
26
25
|
});
|
|
27
|
-
var
|
|
28
|
-
typed
|
|
29
|
-
|
|
30
|
-
var algorithm14 = createAlgorithm14({
|
|
31
|
-
typed
|
|
26
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
27
|
+
typed,
|
|
28
|
+
matrix
|
|
32
29
|
});
|
|
33
30
|
/**
|
|
34
31
|
* Logical `xor`. Test whether one and only one value is defined with a nonzero/nonempty value.
|
|
@@ -67,52 +64,10 @@ export var createXor = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
67
64
|
'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
|
|
68
65
|
return (!x.isZero() && !x.isNaN()) !== (!y.isZero() && !y.isNaN());
|
|
69
66
|
},
|
|
70
|
-
'Unit, Unit':
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
77
|
-
return algorithm03(y, x, this, true);
|
|
78
|
-
},
|
|
79
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
80
|
-
return algorithm03(x, y, this, false);
|
|
81
|
-
},
|
|
82
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
83
|
-
return algorithm13(x, y, this);
|
|
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 algorithm12(x, y, this, false);
|
|
99
|
-
},
|
|
100
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
101
|
-
return algorithm14(x, y, this, false);
|
|
102
|
-
},
|
|
103
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
104
|
-
return algorithm12(y, x, this, true);
|
|
105
|
-
},
|
|
106
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
107
|
-
return algorithm14(y, x, this, true);
|
|
108
|
-
},
|
|
109
|
-
'Array, any': function ArrayAny(x, y) {
|
|
110
|
-
// use matrix implementation
|
|
111
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
112
|
-
},
|
|
113
|
-
'any, Array': function anyArray(x, y) {
|
|
114
|
-
// use matrix implementation
|
|
115
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
116
|
-
}
|
|
117
|
-
});
|
|
67
|
+
'Unit, Unit': typed.referToSelf(self => (x, y) => self(x.value || 0, y.value || 0))
|
|
68
|
+
}, matrixAlgorithmSuite({
|
|
69
|
+
SS: matAlgo07xSSf,
|
|
70
|
+
DS: matAlgo03xDSf,
|
|
71
|
+
Ss: matAlgo12xSfs
|
|
72
|
+
}));
|
|
118
73
|
});
|
|
@@ -75,9 +75,8 @@ export var createDiff = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
75
75
|
return _recursive(arr, dim);
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
-
'Array
|
|
79
|
-
|
|
80
|
-
}
|
|
78
|
+
'Array, BigNumber': typed.referTo('Array,number', selfAn => (arr, dim) => selfAn(arr, number(dim))),
|
|
79
|
+
'Matrix, BigNumber': typed.referTo('Matrix,number', selfMn => (arr, dim) => selfMn(arr, number(dim)))
|
|
81
80
|
});
|
|
82
81
|
/**
|
|
83
82
|
* Recursively find the correct dimension in the array/matrix
|
|
@@ -121,10 +120,6 @@ export var createDiff = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
121
120
|
var result = [];
|
|
122
121
|
var size = arr.length;
|
|
123
122
|
|
|
124
|
-
if (size < 2) {
|
|
125
|
-
return arr;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
123
|
for (var i = 1; i < size; i++) {
|
|
129
124
|
result.push(_ElementDiff(arr[i - 1], arr[i]));
|
|
130
125
|
}
|
|
@@ -29,6 +29,7 @@ export var createOnes = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
29
29
|
*
|
|
30
30
|
* Examples:
|
|
31
31
|
*
|
|
32
|
+
* math.ones() // returns []
|
|
32
33
|
* math.ones(3) // returns [1, 1, 1]
|
|
33
34
|
* math.ones(3, 2) // returns [[1, 1], [1, 1], [1, 1]]
|
|
34
35
|
* math.ones(3, 2, 'dense') // returns Dense Matrix [[1, 1], [1, 1], [1, 1]]
|
|
@@ -40,7 +41,7 @@ export var createOnes = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
40
41
|
*
|
|
41
42
|
* zeros, identity, size, range
|
|
42
43
|
*
|
|
43
|
-
* @param {...number | Array} size The size of each dimension of the matrix
|
|
44
|
+
* @param {...(number|BigNumber) | Array} size The size of each dimension of the matrix
|
|
44
45
|
* @param {string} [format] The Matrix storage format
|
|
45
46
|
*
|
|
46
47
|
* @return {Array | Matrix | number} A matrix filled with ones
|
|
@@ -3,13 +3,14 @@ import { format } from '../../utils/string.js';
|
|
|
3
3
|
import { arraySize } from '../../utils/array.js';
|
|
4
4
|
import { factory } from '../../utils/factory.js';
|
|
5
5
|
var name = 'sqrtm';
|
|
6
|
-
var dependencies = ['typed', 'abs', 'add', 'multiply', 'sqrt', 'subtract', 'inv', 'size', 'max', 'identity'];
|
|
6
|
+
var dependencies = ['typed', 'abs', 'add', 'multiply', 'map', 'sqrt', 'subtract', 'inv', 'size', 'max', 'identity'];
|
|
7
7
|
export var createSqrtm = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
8
8
|
var {
|
|
9
9
|
typed,
|
|
10
10
|
abs,
|
|
11
11
|
add,
|
|
12
12
|
multiply,
|
|
13
|
+
map,
|
|
13
14
|
sqrt,
|
|
14
15
|
subtract,
|
|
15
16
|
inv,
|
|
@@ -79,7 +80,7 @@ export var createSqrtm = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
79
80
|
case 1:
|
|
80
81
|
// Single element Array | Matrix
|
|
81
82
|
if (size[0] === 1) {
|
|
82
|
-
return
|
|
83
|
+
return map(A, sqrt);
|
|
83
84
|
} else {
|
|
84
85
|
throw new RangeError('Matrix must be square ' + '(size: ' + format(size) + ')');
|
|
85
86
|
}
|
|
@@ -31,59 +31,56 @@ export var createTranspose = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
31
31
|
* @param {Array | Matrix} x Matrix to be transposed
|
|
32
32
|
* @return {Array | Matrix} The transposed matrix
|
|
33
33
|
*/
|
|
34
|
-
return typed(
|
|
35
|
-
Array:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
Matrix: function Matrix(x) {
|
|
40
|
-
// matrix size
|
|
41
|
-
var size = x.size(); // result
|
|
42
|
-
|
|
43
|
-
var c; // process dimensions
|
|
44
|
-
|
|
45
|
-
switch (size.length) {
|
|
46
|
-
case 1:
|
|
47
|
-
// vector
|
|
48
|
-
c = x.clone();
|
|
49
|
-
break;
|
|
50
|
-
|
|
51
|
-
case 2:
|
|
52
|
-
{
|
|
53
|
-
// rows and columns
|
|
54
|
-
var rows = size[0];
|
|
55
|
-
var columns = size[1]; // check columns
|
|
56
|
-
|
|
57
|
-
if (columns === 0) {
|
|
58
|
-
// throw exception
|
|
59
|
-
throw new RangeError('Cannot transpose a 2D matrix with no columns (size: ' + format(size) + ')');
|
|
60
|
-
} // process storage format
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
switch (x.storage()) {
|
|
64
|
-
case 'dense':
|
|
65
|
-
c = _denseTranspose(x, rows, columns);
|
|
66
|
-
break;
|
|
67
|
-
|
|
68
|
-
case 'sparse':
|
|
69
|
-
c = _sparseTranspose(x, rows, columns);
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
break;
|
|
34
|
+
return typed(name, {
|
|
35
|
+
Array: x => transposeMatrix(matrix(x)).valueOf(),
|
|
36
|
+
Matrix: transposeMatrix,
|
|
37
|
+
any: clone // scalars
|
|
74
38
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
function transposeMatrix(x) {
|
|
42
|
+
// matrix size
|
|
43
|
+
var size = x.size(); // result
|
|
44
|
+
|
|
45
|
+
var c; // process dimensions
|
|
46
|
+
|
|
47
|
+
switch (size.length) {
|
|
48
|
+
case 1:
|
|
49
|
+
// vector
|
|
50
|
+
c = x.clone();
|
|
51
|
+
break;
|
|
52
|
+
|
|
53
|
+
case 2:
|
|
54
|
+
{
|
|
55
|
+
// rows and columns
|
|
56
|
+
var rows = size[0];
|
|
57
|
+
var columns = size[1]; // check columns
|
|
58
|
+
|
|
59
|
+
if (columns === 0) {
|
|
60
|
+
// throw exception
|
|
61
|
+
throw new RangeError('Cannot transpose a 2D matrix with no columns (size: ' + format(size) + ')');
|
|
62
|
+
} // process storage format
|
|
79
63
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
64
|
+
|
|
65
|
+
switch (x.storage()) {
|
|
66
|
+
case 'dense':
|
|
67
|
+
c = _denseTranspose(x, rows, columns);
|
|
68
|
+
break;
|
|
69
|
+
|
|
70
|
+
case 'sparse':
|
|
71
|
+
c = _sparseTranspose(x, rows, columns);
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
|
|
77
|
+
default:
|
|
78
|
+
// multi dimensional
|
|
79
|
+
throw new RangeError('Matrix must be a vector or two dimensional (size: ' + format(size) + ')');
|
|
85
80
|
}
|
|
86
|
-
|
|
81
|
+
|
|
82
|
+
return c;
|
|
83
|
+
}
|
|
87
84
|
|
|
88
85
|
function _denseTranspose(m, rows, columns) {
|
|
89
86
|
// matrix array
|
|
@@ -27,6 +27,7 @@ export var createZeros = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
27
27
|
*
|
|
28
28
|
* Examples:
|
|
29
29
|
*
|
|
30
|
+
* math.zeros() // returns []
|
|
30
31
|
* math.zeros(3) // returns [0, 0, 0]
|
|
31
32
|
* math.zeros(3, 2) // returns [[0, 0], [0, 0], [0, 0]]
|
|
32
33
|
* math.zeros(3, 'dense') // returns [0, 0, 0]
|
|
@@ -38,7 +39,7 @@ export var createZeros = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
38
39
|
*
|
|
39
40
|
* ones, identity, size, range
|
|
40
41
|
*
|
|
41
|
-
* @param {...number | Array} size The size of each dimension of the matrix
|
|
42
|
+
* @param {...(number|BigNumber) | Array} size The size of each dimension of the matrix
|
|
42
43
|
* @param {string} [format] The Matrix storage format
|
|
43
44
|
*
|
|
44
45
|
* @return {Array | Matrix} A matrix filled with zeros
|
|
@@ -45,8 +45,6 @@ export var createFactorial = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
45
45
|
|
|
46
46
|
return gamma(n.plus(1));
|
|
47
47
|
},
|
|
48
|
-
'Array | Matrix':
|
|
49
|
-
return deepMap(n, this);
|
|
50
|
-
}
|
|
48
|
+
'Array | Matrix': typed.referToSelf(self => n => deepMap(n, self))
|
|
51
49
|
});
|
|
52
50
|
});
|