mathjs 10.1.0 → 10.3.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 +38 -0
- package/docs/expressions/algebra.md +27 -0
- package/docs/expressions/syntax.md +31 -2
- package/docs/reference/functions/abs.md +6 -0
- package/docs/reference/functions/acos.md +6 -0
- package/docs/reference/functions/acosh.md +6 -0
- package/docs/reference/functions/acot.md +6 -0
- package/docs/reference/functions/acoth.md +6 -0
- package/docs/reference/functions/acsc.md +6 -0
- package/docs/reference/functions/acsch.md +6 -0
- package/docs/reference/functions/add.md +6 -0
- package/docs/reference/functions/and.md +6 -0
- package/docs/reference/functions/apply.md +6 -0
- package/docs/reference/functions/arg.md +6 -0
- package/docs/reference/functions/asec.md +6 -0
- package/docs/reference/functions/asech.md +6 -0
- package/docs/reference/functions/asin.md +6 -0
- package/docs/reference/functions/asinh.md +6 -0
- package/docs/reference/functions/atan.md +6 -0
- package/docs/reference/functions/atan2.md +6 -0
- package/docs/reference/functions/atanh.md +6 -0
- package/docs/reference/functions/bellNumbers.md +6 -0
- package/docs/reference/functions/bin.md +6 -0
- package/docs/reference/functions/bitAnd.md +6 -0
- package/docs/reference/functions/bitNot.md +6 -0
- package/docs/reference/functions/bitOr.md +6 -0
- package/docs/reference/functions/bitXor.md +6 -0
- package/docs/reference/functions/catalan.md +6 -0
- package/docs/reference/functions/cbrt.md +6 -0
- package/docs/reference/functions/ceil.md +6 -0
- package/docs/reference/functions/clone.md +6 -0
- package/docs/reference/functions/column.md +6 -0
- package/docs/reference/functions/combinations.md +6 -0
- package/docs/reference/functions/combinationsWithRep.md +6 -0
- package/docs/reference/functions/compare.md +6 -0
- package/docs/reference/functions/compareNatural.md +6 -0
- package/docs/reference/functions/compareText.md +6 -0
- package/docs/reference/functions/compile.md +6 -0
- package/docs/reference/functions/composition.md +6 -0
- package/docs/reference/functions/concat.md +6 -0
- package/docs/reference/functions/conj.md +6 -0
- package/docs/reference/functions/cos.md +6 -0
- package/docs/reference/functions/cosh.md +6 -0
- package/docs/reference/functions/cot.md +6 -0
- package/docs/reference/functions/coth.md +6 -0
- package/docs/reference/functions/count.md +6 -0
- package/docs/reference/functions/cross.md +6 -0
- package/docs/reference/functions/csc.md +6 -0
- package/docs/reference/functions/csch.md +6 -0
- package/docs/reference/functions/ctranspose.md +6 -0
- package/docs/reference/functions/cube.md +6 -0
- package/docs/reference/functions/deepEqual.md +6 -0
- package/docs/reference/functions/derivative.md +6 -0
- package/docs/reference/functions/det.md +6 -0
- package/docs/reference/functions/diag.md +6 -0
- package/docs/reference/functions/diff.md +6 -0
- package/docs/reference/functions/distance.md +6 -0
- package/docs/reference/functions/divide.md +6 -0
- package/docs/reference/functions/dot.md +6 -0
- package/docs/reference/functions/dotDivide.md +6 -0
- package/docs/reference/functions/dotMultiply.md +6 -0
- package/docs/reference/functions/dotPow.md +6 -0
- package/docs/reference/functions/eigs.md +6 -0
- package/docs/reference/functions/equal.md +6 -0
- package/docs/reference/functions/equalText.md +6 -0
- package/docs/reference/functions/erf.md +6 -0
- package/docs/reference/functions/evaluate.md +6 -0
- package/docs/reference/functions/exp.md +6 -0
- package/docs/reference/functions/expm.md +6 -0
- package/docs/reference/functions/expm1.md +6 -0
- package/docs/reference/functions/factorial.md +6 -0
- package/docs/reference/functions/filter.md +6 -0
- package/docs/reference/functions/fix.md +6 -0
- package/docs/reference/functions/flatten.md +6 -0
- package/docs/reference/functions/floor.md +6 -0
- package/docs/reference/functions/forEach.md +6 -0
- package/docs/reference/functions/format.md +6 -0
- package/docs/reference/functions/gamma.md +6 -0
- package/docs/reference/functions/gcd.md +6 -0
- package/docs/reference/functions/getMatrixDataType.md +6 -0
- package/docs/reference/functions/hasNumericValue.md +6 -0
- package/docs/reference/functions/help.md +6 -0
- package/docs/reference/functions/hex.md +6 -0
- package/docs/reference/functions/hypot.md +6 -0
- package/docs/reference/functions/identity.md +6 -0
- package/docs/reference/functions/im.md +6 -0
- package/docs/reference/functions/intersect.md +6 -0
- package/docs/reference/functions/inv.md +6 -0
- package/docs/reference/functions/invmod.md +6 -0
- package/docs/reference/functions/isInteger.md +6 -0
- package/docs/reference/functions/isNaN.md +6 -0
- package/docs/reference/functions/isNegative.md +6 -0
- package/docs/reference/functions/isNumeric.md +6 -0
- package/docs/reference/functions/isPositive.md +6 -0
- package/docs/reference/functions/isPrime.md +6 -0
- package/docs/reference/functions/isZero.md +6 -0
- package/docs/reference/functions/kldivergence.md +6 -0
- package/docs/reference/functions/kron.md +6 -0
- package/docs/reference/functions/larger.md +6 -0
- package/docs/reference/functions/largerEq.md +6 -0
- package/docs/reference/functions/lcm.md +6 -0
- package/docs/reference/functions/leafCount.md +52 -0
- package/docs/reference/functions/leftShift.md +6 -0
- package/docs/reference/functions/log.md +6 -0
- package/docs/reference/functions/log10.md +6 -0
- package/docs/reference/functions/log1p.md +6 -0
- package/docs/reference/functions/log2.md +6 -0
- package/docs/reference/functions/lsolve.md +6 -0
- package/docs/reference/functions/lsolveAll.md +6 -0
- package/docs/reference/functions/lup.md +6 -0
- package/docs/reference/functions/lusolve.md +6 -0
- package/docs/reference/functions/mad.md +6 -0
- package/docs/reference/functions/map.md +28 -5
- package/docs/reference/functions/matrixFromColumns.md +6 -0
- package/docs/reference/functions/matrixFromFunction.md +6 -0
- package/docs/reference/functions/matrixFromRows.md +6 -0
- package/docs/reference/functions/max.md +6 -0
- package/docs/reference/functions/mean.md +6 -0
- package/docs/reference/functions/median.md +6 -0
- package/docs/reference/functions/min.md +6 -0
- package/docs/reference/functions/mod.md +6 -0
- package/docs/reference/functions/mode.md +6 -0
- package/docs/reference/functions/multinomial.md +6 -0
- package/docs/reference/functions/multiply.md +6 -0
- package/docs/reference/functions/norm.md +6 -0
- package/docs/reference/functions/not.md +6 -0
- package/docs/reference/functions/nthRoot.md +6 -0
- package/docs/reference/functions/nthRoots.md +6 -0
- package/docs/reference/functions/numeric.md +6 -0
- package/docs/reference/functions/oct.md +6 -0
- package/docs/reference/functions/ones.md +6 -0
- package/docs/reference/functions/or.md +6 -0
- package/docs/reference/functions/parser.md +6 -0
- package/docs/reference/functions/partitionSelect.md +6 -0
- package/docs/reference/functions/permutations.md +6 -0
- package/docs/reference/functions/pickRandom.md +6 -0
- package/docs/reference/functions/pow.md +6 -0
- package/docs/reference/functions/print.md +6 -0
- package/docs/reference/functions/prod.md +6 -0
- package/docs/reference/functions/qr.md +6 -0
- package/docs/reference/functions/quantileSeq.md +6 -0
- package/docs/reference/functions/random.md +6 -0
- package/docs/reference/functions/randomInt.md +6 -0
- package/docs/reference/functions/range.md +6 -0
- package/docs/reference/functions/rationalize.md +7 -1
- package/docs/reference/functions/re.md +6 -0
- package/docs/reference/functions/reshape.md +7 -0
- package/docs/reference/functions/resize.md +6 -0
- package/docs/reference/functions/resolve.md +46 -0
- package/docs/reference/functions/rightArithShift.md +6 -0
- package/docs/reference/functions/rightLogShift.md +6 -0
- package/docs/reference/functions/rotate.md +6 -0
- package/docs/reference/functions/rotationMatrix.md +6 -0
- package/docs/reference/functions/round.md +6 -0
- package/docs/reference/functions/row.md +6 -0
- package/docs/reference/functions/sec.md +6 -0
- package/docs/reference/functions/sech.md +6 -0
- package/docs/reference/functions/setCartesian.md +6 -0
- package/docs/reference/functions/setDifference.md +6 -0
- package/docs/reference/functions/setDistinct.md +6 -0
- package/docs/reference/functions/setIntersect.md +6 -0
- package/docs/reference/functions/setIsSubset.md +6 -0
- package/docs/reference/functions/setMultiplicity.md +6 -0
- package/docs/reference/functions/setPowerset.md +6 -0
- package/docs/reference/functions/setSize.md +6 -0
- package/docs/reference/functions/setSymDifference.md +6 -0
- package/docs/reference/functions/setUnion.md +6 -0
- package/docs/reference/functions/sign.md +6 -0
- package/docs/reference/functions/simplify.md +47 -7
- package/docs/reference/functions/simplifyCore.md +50 -0
- package/docs/reference/functions/sin.md +6 -0
- package/docs/reference/functions/sinh.md +6 -0
- package/docs/reference/functions/size.md +6 -0
- package/docs/reference/functions/slu.md +6 -0
- package/docs/reference/functions/smaller.md +6 -0
- package/docs/reference/functions/smallerEq.md +6 -0
- package/docs/reference/functions/sort.md +6 -0
- package/docs/reference/functions/sqrt.md +6 -0
- package/docs/reference/functions/sqrtm.md +6 -0
- package/docs/reference/functions/square.md +6 -0
- package/docs/reference/functions/squeeze.md +6 -0
- package/docs/reference/functions/std.md +6 -0
- package/docs/reference/functions/stirlingS2.md +6 -0
- package/docs/reference/functions/subset.md +16 -2
- package/docs/reference/functions/subtract.md +6 -0
- package/docs/reference/functions/sum.md +6 -0
- package/docs/reference/functions/symbolicEqual.md +62 -0
- package/docs/reference/functions/tan.md +6 -0
- package/docs/reference/functions/tanh.md +6 -0
- package/docs/reference/functions/to.md +6 -0
- package/docs/reference/functions/trace.md +6 -0
- package/docs/reference/functions/transpose.md +6 -0
- package/docs/reference/functions/typeOf.md +6 -0
- package/docs/reference/functions/unaryMinus.md +6 -0
- package/docs/reference/functions/unaryPlus.md +6 -0
- package/docs/reference/functions/unequal.md +6 -0
- package/docs/reference/functions/usolve.md +6 -0
- package/docs/reference/functions/usolveAll.md +6 -0
- package/docs/reference/functions/variance.md +6 -0
- package/docs/reference/functions/xgcd.md +6 -0
- package/docs/reference/functions/xor.md +6 -0
- package/docs/reference/functions/zeros.md +6 -0
- package/docs/reference/functions.md +5 -1
- package/lib/browser/math.js +6 -6
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +4 -4
- package/lib/cjs/core/function/import.js +3 -3
- package/lib/cjs/core/function/typed.js +2 -2
- package/lib/cjs/defaultInstance.js +3 -3
- package/lib/cjs/entry/allFactoriesAny.js +1 -1
- package/lib/cjs/entry/allFactoriesNumber.js +1 -1
- package/lib/cjs/entry/configReadonly.js +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +32 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +6 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +65 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +32 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +32 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +6 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +65 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +16 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +80 -34
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +96 -64
- package/lib/cjs/entry/pureFunctionsAny.generated.js +62 -64
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +46 -48
- package/lib/cjs/expression/Help.js +4 -0
- package/lib/cjs/expression/Parser.js +1 -1
- package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +247 -235
- package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +16 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/cjs/expression/node/FunctionNode.js +80 -61
- package/lib/cjs/expression/node/IndexNode.js +1 -1
- package/lib/cjs/expression/node/Node.js +3 -3
- package/lib/cjs/expression/node/ObjectNode.js +1 -1
- package/lib/cjs/expression/node/utils/access.js +1 -1
- package/lib/cjs/expression/node/utils/assign.js +1 -1
- package/lib/cjs/expression/parse.js +13 -13
- package/lib/cjs/factoriesAny.js +32 -0
- package/lib/cjs/factoriesNumber.js +16 -0
- package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
- package/lib/cjs/function/algebra/leafCount.js +66 -0
- package/lib/cjs/function/algebra/rationalize.js +24 -41
- package/lib/cjs/function/algebra/resolve.js +106 -0
- package/lib/cjs/function/algebra/simplify/simplifyConstant.js +5 -5
- package/lib/cjs/function/algebra/simplify/util.js +171 -33
- package/lib/cjs/function/algebra/simplify.js +588 -211
- package/lib/cjs/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +67 -43
- package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
- package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +88 -0
- package/lib/cjs/function/arithmetic/ceil.js +3 -3
- package/lib/cjs/function/arithmetic/floor.js +3 -3
- package/lib/cjs/function/arithmetic/invmod.js +1 -1
- package/lib/cjs/function/arithmetic/norm.js +1 -1
- package/lib/cjs/function/arithmetic/round.js +1 -1
- package/lib/cjs/function/matrix/eigs/complexEigs.js +13 -11
- package/lib/cjs/function/matrix/map.js +53 -15
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/subset.js +15 -5
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compareNatural.js +6 -6
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/plain/number/combinations.js +18 -6
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +1 -1
- package/lib/cjs/type/boolean.js +2 -2
- package/lib/cjs/type/complex/Complex.js +14 -14
- package/lib/cjs/type/complex/function/complex.js +1 -1
- package/lib/cjs/type/fraction/Fraction.js +6 -6
- package/lib/cjs/type/fraction/function/fraction.js +1 -1
- package/lib/cjs/type/matrix/DenseMatrix.js +5 -5
- package/lib/cjs/type/matrix/SparseMatrix.js +2 -2
- package/lib/cjs/type/number.js +1 -1
- package/lib/cjs/type/string.js +2 -2
- package/lib/cjs/type/unit/Unit.js +8 -8
- package/lib/cjs/utils/customs.js +2 -2
- package/lib/cjs/utils/emitter.js +1 -1
- package/lib/cjs/utils/function.js +2 -2
- package/lib/cjs/utils/is.js +6 -6
- package/lib/cjs/utils/latex.js +3 -3
- package/lib/cjs/utils/lruQueue.js +1 -1
- package/lib/cjs/utils/map.js +3 -3
- package/lib/cjs/utils/object.js +2 -2
- package/lib/cjs/utils/snapshot.js +7 -7
- package/lib/cjs/utils/string.js +2 -2
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +40 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +18 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +40 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +2 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +69 -27
- package/lib/esm/entry/impureFunctionsNumber.generated.js +83 -53
- package/lib/esm/entry/pureFunctionsAny.generated.js +49 -49
- package/lib/esm/entry/pureFunctionsNumber.generated.js +32 -32
- package/lib/esm/expression/Help.js +4 -0
- package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +220 -212
- package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/esm/expression/node/FunctionNode.js +70 -53
- package/lib/esm/factoriesAny.js +4 -0
- package/lib/esm/factoriesNumber.js +2 -0
- package/lib/esm/function/algebra/leafCount.js +59 -0
- package/lib/esm/function/algebra/rationalize.js +24 -40
- package/lib/esm/function/algebra/resolve.js +95 -0
- package/lib/esm/function/algebra/simplify/simplifyConstant.js +3 -3
- package/lib/esm/function/algebra/simplify/util.js +170 -34
- package/lib/esm/function/algebra/simplify.js +583 -206
- package/lib/esm/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +60 -44
- package/lib/esm/function/algebra/symbolicEqual.js +80 -0
- package/lib/esm/function/matrix/eigs/complexEigs.js +8 -6
- package/lib/esm/function/matrix/map.js +53 -15
- package/lib/esm/function/matrix/subset.js +15 -5
- package/lib/esm/plain/number/combinations.js +18 -6
- package/lib/esm/version.js +1 -1
- package/package.json +20 -15
- package/types/index.d.ts +52 -10
- package/lib/cjs/function/algebra/simplify/resolve.js +0 -76
- package/lib/esm/function/algebra/simplify/resolve.js +0 -67
package/types/index.d.ts
CHANGED
|
@@ -575,7 +575,7 @@ declare namespace math {
|
|
|
575
575
|
* @param unit The unit to be created
|
|
576
576
|
* @returns The created unit
|
|
577
577
|
*/
|
|
578
|
-
unit(value: number | MathArray | Matrix, unit: string): Unit;
|
|
578
|
+
unit(value: number | MathArray | Matrix | BigNumber, unit: string): Unit;
|
|
579
579
|
|
|
580
580
|
/*************************************************************************
|
|
581
581
|
* Expression functions
|
|
@@ -1674,6 +1674,19 @@ declare namespace math {
|
|
|
1674
1674
|
column: number
|
|
1675
1675
|
): T;
|
|
1676
1676
|
|
|
1677
|
+
/**
|
|
1678
|
+
* Return a rotated matrix.
|
|
1679
|
+
* @param {Array | Matrix} w Vector to rotate
|
|
1680
|
+
* @param {number | BigNumber | Complex | Unit} theta Rotation angle
|
|
1681
|
+
* @param {Array | Matrix} [v] Rotation axis
|
|
1682
|
+
* @return {Array | Matrix} Multiplication of the rotation matrix and w
|
|
1683
|
+
*/
|
|
1684
|
+
rotate<T extends MathArray | Matrix>(
|
|
1685
|
+
w: T,
|
|
1686
|
+
theta: number | BigNumber | Complex | Unit,
|
|
1687
|
+
v?: T
|
|
1688
|
+
): T;
|
|
1689
|
+
|
|
1677
1690
|
/**
|
|
1678
1691
|
* Calculate the size of a matrix or scalar.
|
|
1679
1692
|
* @param A matrix
|
|
@@ -1710,7 +1723,7 @@ declare namespace math {
|
|
|
1710
1723
|
/**
|
|
1711
1724
|
* Get or set a subset of a matrix or string.
|
|
1712
1725
|
* @param value An array, matrix, or string
|
|
1713
|
-
* @param index
|
|
1726
|
+
* @param index For each dimension, an index or list of indices to get or set.
|
|
1714
1727
|
* @param replacement An array, matrix, or scalar. If provided, the
|
|
1715
1728
|
* subset is replaced with replacement. If not provided, the subset is
|
|
1716
1729
|
* returned
|
|
@@ -1783,7 +1796,7 @@ declare namespace math {
|
|
|
1783
1796
|
* @param n A real or complex number
|
|
1784
1797
|
* @returns The gamma of n
|
|
1785
1798
|
*/
|
|
1786
|
-
gamma
|
|
1799
|
+
gamma<T extends number | BigNumber | Complex | MathArray | Matrix>(n: T): NoLiteralType<T>;
|
|
1787
1800
|
|
|
1788
1801
|
/**
|
|
1789
1802
|
* Calculate the Kullback-Leibler (KL) divergence between two
|
|
@@ -3121,6 +3134,28 @@ declare namespace math {
|
|
|
3121
3134
|
fixPrefix?: boolean;
|
|
3122
3135
|
}
|
|
3123
3136
|
|
|
3137
|
+
interface UnitComponent {
|
|
3138
|
+
power: number;
|
|
3139
|
+
prefix: string;
|
|
3140
|
+
unit: {
|
|
3141
|
+
name: string;
|
|
3142
|
+
base: {
|
|
3143
|
+
dimensions: number[];
|
|
3144
|
+
key: string;
|
|
3145
|
+
};
|
|
3146
|
+
prefixes: Record<string, UnitPrefix>;
|
|
3147
|
+
value: number;
|
|
3148
|
+
offset: number;
|
|
3149
|
+
dimensions: number[];
|
|
3150
|
+
};
|
|
3151
|
+
}
|
|
3152
|
+
|
|
3153
|
+
interface UnitPrefix {
|
|
3154
|
+
name: string;
|
|
3155
|
+
value: number;
|
|
3156
|
+
scientific: boolean;
|
|
3157
|
+
}
|
|
3158
|
+
|
|
3124
3159
|
interface Unit {
|
|
3125
3160
|
valueOf(): string;
|
|
3126
3161
|
clone(): Unit;
|
|
@@ -3139,7 +3174,14 @@ declare namespace math {
|
|
|
3139
3174
|
toJSON(): MathJSON;
|
|
3140
3175
|
formatUnits(): string;
|
|
3141
3176
|
format(options: FormatOptions): string;
|
|
3177
|
+
simplify(): Unit;
|
|
3142
3178
|
splitUnit(parts: ReadonlyArray<string | Unit>): Unit[];
|
|
3179
|
+
|
|
3180
|
+
units: UnitComponent[];
|
|
3181
|
+
dimensions: number[];
|
|
3182
|
+
value: number;
|
|
3183
|
+
fixPrefix: boolean;
|
|
3184
|
+
skipAutomaticSimplification: true;
|
|
3143
3185
|
}
|
|
3144
3186
|
|
|
3145
3187
|
interface CreateUnitOptions {
|
|
@@ -3176,8 +3218,6 @@ declare namespace math {
|
|
|
3176
3218
|
): MathNode;
|
|
3177
3219
|
|
|
3178
3220
|
rules: SimplifyRule[];
|
|
3179
|
-
|
|
3180
|
-
simplifyCore(expr: MathNode): MathNode;
|
|
3181
3221
|
}
|
|
3182
3222
|
|
|
3183
3223
|
interface UnitDefinition {
|
|
@@ -3409,11 +3449,11 @@ declare namespace math {
|
|
|
3409
3449
|
|
|
3410
3450
|
interface ConfigOptions {
|
|
3411
3451
|
epsilon?: number;
|
|
3412
|
-
matrix?:
|
|
3413
|
-
number?:
|
|
3452
|
+
matrix?: 'Matrix' | 'Array';
|
|
3453
|
+
number?: 'number' | 'BigNumber' | 'Fraction';
|
|
3414
3454
|
precision?: number;
|
|
3415
|
-
|
|
3416
|
-
randomSeed?: string;
|
|
3455
|
+
predictable?: boolean;
|
|
3456
|
+
randomSeed?: string | null;
|
|
3417
3457
|
}
|
|
3418
3458
|
|
|
3419
3459
|
interface MathJsJson {
|
|
@@ -3640,6 +3680,8 @@ declare namespace math {
|
|
|
3640
3680
|
*/
|
|
3641
3681
|
simplify(rules?: SimplifyRule[], scope?: object): MathJsChain;
|
|
3642
3682
|
|
|
3683
|
+
simplifyCore(expr: MathNode): MathNode;
|
|
3684
|
+
|
|
3643
3685
|
/**
|
|
3644
3686
|
* Calculate the Sparse Matrix LU decomposition with full pivoting.
|
|
3645
3687
|
* Sparse Matrix A is decomposed in two matrices (L, U) and two
|
|
@@ -4277,7 +4319,7 @@ declare namespace math {
|
|
|
4277
4319
|
|
|
4278
4320
|
/**
|
|
4279
4321
|
* Get or set a subset of a matrix or string.
|
|
4280
|
-
* @param index
|
|
4322
|
+
* @param index For each dimension, an index or list of indices to get or set
|
|
4281
4323
|
* @param replacement An array, matrix, or scalar. If provided, the
|
|
4282
4324
|
* subset is replaced with replacement. If not provided, the subset is
|
|
4283
4325
|
* returned
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createResolve = void 0;
|
|
7
|
-
|
|
8
|
-
var _map = require("../../../utils/map.js");
|
|
9
|
-
|
|
10
|
-
var _is = require("../../../utils/is.js");
|
|
11
|
-
|
|
12
|
-
var _factory = require("../../../utils/factory.js");
|
|
13
|
-
|
|
14
|
-
var name = 'resolve';
|
|
15
|
-
var dependencies = ['parse', 'FunctionNode', 'OperatorNode', 'ParenthesisNode'];
|
|
16
|
-
var createResolve = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
17
|
-
var parse = _ref.parse,
|
|
18
|
-
FunctionNode = _ref.FunctionNode,
|
|
19
|
-
OperatorNode = _ref.OperatorNode,
|
|
20
|
-
ParenthesisNode = _ref.ParenthesisNode;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* resolve(expr, scope) replaces variable nodes with their scoped values
|
|
24
|
-
*
|
|
25
|
-
* Syntax:
|
|
26
|
-
*
|
|
27
|
-
* simplify.resolve(expr, scope)
|
|
28
|
-
*
|
|
29
|
-
* Examples:
|
|
30
|
-
*
|
|
31
|
-
* math.simplify.resolve('x + y', {x:1, y:2}) // Node {1 + 2}
|
|
32
|
-
* math.simplify.resolve(math.parse('x+y'), {x:1, y:2}) // Node {1 + 2}
|
|
33
|
-
* math.simplify('x+y', {x:2, y:'x+x'}).toString() // "6"
|
|
34
|
-
*
|
|
35
|
-
* @param {Node} node
|
|
36
|
-
* The expression tree to be simplified
|
|
37
|
-
* @param {Object} scope with variables to be resolved
|
|
38
|
-
*/
|
|
39
|
-
function resolve(node, scope) {
|
|
40
|
-
if (!scope) {
|
|
41
|
-
return node;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (!(0, _map.isMap)(scope)) {
|
|
45
|
-
scope = (0, _map.createMap)(scope);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if ((0, _is.isSymbolNode)(node)) {
|
|
49
|
-
var value = scope.get(node.name);
|
|
50
|
-
|
|
51
|
-
if ((0, _is.isNode)(value)) {
|
|
52
|
-
return resolve(value, scope);
|
|
53
|
-
} else if (typeof value === 'number') {
|
|
54
|
-
return parse(String(value));
|
|
55
|
-
}
|
|
56
|
-
} else if ((0, _is.isOperatorNode)(node)) {
|
|
57
|
-
var args = node.args.map(function (arg) {
|
|
58
|
-
return resolve(arg, scope);
|
|
59
|
-
});
|
|
60
|
-
return new OperatorNode(node.op, node.fn, args, node.implicit);
|
|
61
|
-
} else if ((0, _is.isParenthesisNode)(node)) {
|
|
62
|
-
return new ParenthesisNode(resolve(node.content, scope));
|
|
63
|
-
} else if ((0, _is.isFunctionNode)(node)) {
|
|
64
|
-
var _args = node.args.map(function (arg) {
|
|
65
|
-
return resolve(arg, scope);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
return new FunctionNode(node.name, _args);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return node;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return resolve;
|
|
75
|
-
});
|
|
76
|
-
exports.createResolve = createResolve;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { createMap, isMap } from '../../../utils/map.js';
|
|
2
|
-
import { isFunctionNode, isNode, isOperatorNode, isParenthesisNode, isSymbolNode } from '../../../utils/is.js';
|
|
3
|
-
import { factory } from '../../../utils/factory.js';
|
|
4
|
-
var name = 'resolve';
|
|
5
|
-
var dependencies = ['parse', 'FunctionNode', 'OperatorNode', 'ParenthesisNode'];
|
|
6
|
-
export var createResolve = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
7
|
-
var {
|
|
8
|
-
parse,
|
|
9
|
-
FunctionNode,
|
|
10
|
-
OperatorNode,
|
|
11
|
-
ParenthesisNode
|
|
12
|
-
} = _ref;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* resolve(expr, scope) replaces variable nodes with their scoped values
|
|
16
|
-
*
|
|
17
|
-
* Syntax:
|
|
18
|
-
*
|
|
19
|
-
* simplify.resolve(expr, scope)
|
|
20
|
-
*
|
|
21
|
-
* Examples:
|
|
22
|
-
*
|
|
23
|
-
* math.simplify.resolve('x + y', {x:1, y:2}) // Node {1 + 2}
|
|
24
|
-
* math.simplify.resolve(math.parse('x+y'), {x:1, y:2}) // Node {1 + 2}
|
|
25
|
-
* math.simplify('x+y', {x:2, y:'x+x'}).toString() // "6"
|
|
26
|
-
*
|
|
27
|
-
* @param {Node} node
|
|
28
|
-
* The expression tree to be simplified
|
|
29
|
-
* @param {Object} scope with variables to be resolved
|
|
30
|
-
*/
|
|
31
|
-
function resolve(node, scope) {
|
|
32
|
-
if (!scope) {
|
|
33
|
-
return node;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (!isMap(scope)) {
|
|
37
|
-
scope = createMap(scope);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (isSymbolNode(node)) {
|
|
41
|
-
var value = scope.get(node.name);
|
|
42
|
-
|
|
43
|
-
if (isNode(value)) {
|
|
44
|
-
return resolve(value, scope);
|
|
45
|
-
} else if (typeof value === 'number') {
|
|
46
|
-
return parse(String(value));
|
|
47
|
-
}
|
|
48
|
-
} else if (isOperatorNode(node)) {
|
|
49
|
-
var args = node.args.map(function (arg) {
|
|
50
|
-
return resolve(arg, scope);
|
|
51
|
-
});
|
|
52
|
-
return new OperatorNode(node.op, node.fn, args, node.implicit);
|
|
53
|
-
} else if (isParenthesisNode(node)) {
|
|
54
|
-
return new ParenthesisNode(resolve(node.content, scope));
|
|
55
|
-
} else if (isFunctionNode(node)) {
|
|
56
|
-
var _args = node.args.map(function (arg) {
|
|
57
|
-
return resolve(arg, scope);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
return new FunctionNode(node.name, _args);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return node;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return resolve;
|
|
67
|
-
});
|