mathjs 14.9.1 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/HISTORY.md +35 -0
  2. package/README.md +1 -1
  3. package/lib/browser/math.js +1 -1
  4. package/lib/browser/math.js.LICENSE.txt +2 -2
  5. package/lib/browser/math.js.map +1 -1
  6. package/lib/cjs/core/config.js +5 -1
  7. package/lib/cjs/core/function/config.js +4 -0
  8. package/lib/cjs/entry/dependenciesAny/dependenciesBernoulli.generated.js +25 -0
  9. package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +2 -0
  10. package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +0 -2
  11. package/lib/cjs/entry/dependenciesAny/dependenciesIsBounded.generated.js +17 -0
  12. package/lib/cjs/entry/dependenciesAny/dependenciesIsFinite.generated.js +21 -0
  13. package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +2 -0
  14. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +2 -0
  15. package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +0 -2
  16. package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +0 -2
  17. package/lib/cjs/entry/dependenciesAny/dependenciesZeta.generated.js +2 -0
  18. package/lib/cjs/entry/dependenciesAny.generated.js +21 -0
  19. package/lib/cjs/entry/dependenciesNumber/dependenciesBernoulli.generated.js +21 -0
  20. package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +2 -0
  21. package/lib/cjs/entry/dependenciesNumber/dependenciesIsBounded.generated.js +17 -0
  22. package/lib/cjs/entry/dependenciesNumber/dependenciesIsFinite.generated.js +21 -0
  23. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +2 -0
  24. package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +0 -2
  25. package/lib/cjs/entry/dependenciesNumber/dependenciesZeta.generated.js +2 -0
  26. package/lib/cjs/entry/dependenciesNumber.generated.js +21 -0
  27. package/lib/cjs/entry/impureFunctionsAny.generated.js +223 -218
  28. package/lib/cjs/entry/impureFunctionsNumber.generated.js +82 -77
  29. package/lib/cjs/entry/pureFunctionsAny.generated.js +717 -702
  30. package/lib/cjs/entry/pureFunctionsNumber.generated.js +155 -142
  31. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +6 -0
  32. package/lib/cjs/expression/embeddedDocs/function/combinatorics/stirlingS2.js +2 -2
  33. package/lib/cjs/expression/embeddedDocs/function/probability/bernoulli.js +14 -0
  34. package/lib/cjs/expression/embeddedDocs/function/utils/isBounded.js +14 -0
  35. package/lib/cjs/expression/embeddedDocs/function/utils/isFinite.js +14 -0
  36. package/lib/cjs/expression/embeddedDocs/function/utils/isNaN.js +1 -1
  37. package/lib/cjs/expression/embeddedDocs/function/utils/isNumeric.js +1 -1
  38. package/lib/cjs/expression/node/AccessorNode.js +36 -7
  39. package/lib/cjs/expression/node/ConstantNode.js +4 -4
  40. package/lib/cjs/expression/node/FunctionNode.js +20 -5
  41. package/lib/cjs/expression/node/IndexNode.js +1 -1
  42. package/lib/cjs/expression/parse.js +74 -46
  43. package/lib/cjs/factoriesAny.js +21 -0
  44. package/lib/cjs/factoriesNumber.js +23 -2
  45. package/lib/cjs/function/algebra/simplifyConstant.js +3 -2
  46. package/lib/cjs/function/algebra/sylvester.js +6 -5
  47. package/lib/cjs/function/arithmetic/nthRoots.js +5 -1
  48. package/lib/cjs/function/logical/nullish.js +2 -2
  49. package/lib/cjs/function/matrix/column.js +2 -1
  50. package/lib/cjs/function/matrix/dot.js +4 -9
  51. package/lib/cjs/function/matrix/flatten.js +6 -3
  52. package/lib/cjs/function/matrix/kron.js +31 -30
  53. package/lib/cjs/function/matrix/row.js +2 -1
  54. package/lib/cjs/function/matrix/size.js +11 -17
  55. package/lib/cjs/function/matrix/subset.js +21 -11
  56. package/lib/cjs/function/probability/bernoulli.js +108 -0
  57. package/lib/cjs/function/relational/equal.js +2 -3
  58. package/lib/cjs/function/special/zeta.js +3 -2
  59. package/lib/cjs/function/utils/isBounded.js +54 -0
  60. package/lib/cjs/function/utils/isFinite.js +50 -0
  61. package/lib/cjs/function/utils/isInteger.js +7 -15
  62. package/lib/cjs/function/utils/isNaN.js +1 -1
  63. package/lib/cjs/function/utils/isNumeric.js +1 -1
  64. package/lib/cjs/header.js +2 -2
  65. package/lib/cjs/json/replacer.js +1 -1
  66. package/lib/cjs/plain/number/probability.js +2 -2
  67. package/lib/cjs/plain/number/trigonometry.js +1 -1
  68. package/lib/cjs/type/fraction/function/fraction.js +1 -1
  69. package/lib/cjs/type/matrix/DenseMatrix.js +52 -41
  70. package/lib/cjs/type/matrix/MatrixIndex.js +19 -20
  71. package/lib/cjs/type/matrix/SparseMatrix.js +37 -11
  72. package/lib/cjs/type/unit/Unit.js +12 -8
  73. package/lib/cjs/utils/number.js +7 -7
  74. package/lib/cjs/utils/optimizeCallback.js +13 -1
  75. package/lib/cjs/version.js +1 -1
  76. package/lib/esm/core/config.js +5 -1
  77. package/lib/esm/core/function/config.js +4 -0
  78. package/lib/esm/entry/dependenciesAny/dependenciesBernoulli.generated.js +18 -0
  79. package/lib/esm/entry/dependenciesAny/dependenciesConstantNode.generated.js +2 -0
  80. package/lib/esm/entry/dependenciesAny/dependenciesEqual.generated.js +0 -2
  81. package/lib/esm/entry/dependenciesAny/dependenciesIsBounded.generated.js +10 -0
  82. package/lib/esm/entry/dependenciesAny/dependenciesIsFinite.generated.js +14 -0
  83. package/lib/esm/entry/dependenciesAny/dependenciesIsInteger.generated.js +2 -0
  84. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +2 -0
  85. package/lib/esm/entry/dependenciesAny/dependenciesSize.generated.js +0 -2
  86. package/lib/esm/entry/dependenciesAny/dependenciesUnitClass.generated.js +0 -2
  87. package/lib/esm/entry/dependenciesAny/dependenciesZeta.generated.js +2 -0
  88. package/lib/esm/entry/dependenciesAny.generated.js +3 -0
  89. package/lib/esm/entry/dependenciesNumber/dependenciesBernoulli.generated.js +14 -0
  90. package/lib/esm/entry/dependenciesNumber/dependenciesConstantNode.generated.js +2 -0
  91. package/lib/esm/entry/dependenciesNumber/dependenciesIsBounded.generated.js +10 -0
  92. package/lib/esm/entry/dependenciesNumber/dependenciesIsFinite.generated.js +14 -0
  93. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +2 -0
  94. package/lib/esm/entry/dependenciesNumber/dependenciesSize.generated.js +0 -2
  95. package/lib/esm/entry/dependenciesNumber/dependenciesZeta.generated.js +2 -0
  96. package/lib/esm/entry/dependenciesNumber.generated.js +3 -0
  97. package/lib/esm/entry/impureFunctionsAny.generated.js +225 -220
  98. package/lib/esm/entry/impureFunctionsNumber.generated.js +84 -79
  99. package/lib/esm/entry/pureFunctionsAny.generated.js +714 -699
  100. package/lib/esm/entry/pureFunctionsNumber.generated.js +154 -141
  101. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +6 -0
  102. package/lib/esm/expression/embeddedDocs/function/combinatorics/stirlingS2.js +2 -2
  103. package/lib/esm/expression/embeddedDocs/function/probability/bernoulli.js +8 -0
  104. package/lib/esm/expression/embeddedDocs/function/utils/isBounded.js +8 -0
  105. package/lib/esm/expression/embeddedDocs/function/utils/isFinite.js +8 -0
  106. package/lib/esm/expression/embeddedDocs/function/utils/isNaN.js +1 -1
  107. package/lib/esm/expression/embeddedDocs/function/utils/isNumeric.js +1 -1
  108. package/lib/esm/expression/node/AccessorNode.js +36 -7
  109. package/lib/esm/expression/node/ConstantNode.js +4 -4
  110. package/lib/esm/expression/node/FunctionNode.js +20 -5
  111. package/lib/esm/expression/node/IndexNode.js +1 -1
  112. package/lib/esm/expression/parse.js +74 -46
  113. package/lib/esm/factoriesAny.js +3 -0
  114. package/lib/esm/factoriesNumber.js +3 -0
  115. package/lib/esm/function/algebra/simplifyConstant.js +3 -2
  116. package/lib/esm/function/algebra/sylvester.js +6 -5
  117. package/lib/esm/function/arithmetic/nthRoots.js +5 -1
  118. package/lib/esm/function/logical/nullish.js +2 -2
  119. package/lib/esm/function/matrix/column.js +2 -1
  120. package/lib/esm/function/matrix/dot.js +4 -9
  121. package/lib/esm/function/matrix/flatten.js +6 -3
  122. package/lib/esm/function/matrix/kron.js +31 -30
  123. package/lib/esm/function/matrix/row.js +2 -1
  124. package/lib/esm/function/matrix/size.js +11 -17
  125. package/lib/esm/function/matrix/subset.js +21 -11
  126. package/lib/esm/function/probability/bernoulli.js +102 -0
  127. package/lib/esm/function/relational/equal.js +2 -3
  128. package/lib/esm/function/special/zeta.js +3 -2
  129. package/lib/esm/function/utils/isBounded.js +48 -0
  130. package/lib/esm/function/utils/isFinite.js +44 -0
  131. package/lib/esm/function/utils/isInteger.js +7 -15
  132. package/lib/esm/function/utils/isNaN.js +1 -1
  133. package/lib/esm/function/utils/isNumeric.js +1 -1
  134. package/lib/esm/json/replacer.js +1 -1
  135. package/lib/esm/plain/number/probability.js +2 -2
  136. package/lib/esm/plain/number/trigonometry.js +1 -1
  137. package/lib/esm/type/fraction/function/fraction.js +1 -1
  138. package/lib/esm/type/matrix/DenseMatrix.js +52 -41
  139. package/lib/esm/type/matrix/MatrixIndex.js +20 -21
  140. package/lib/esm/type/matrix/SparseMatrix.js +37 -11
  141. package/lib/esm/type/unit/Unit.js +12 -8
  142. package/lib/esm/utils/number.js +7 -7
  143. package/lib/esm/utils/optimizeCallback.js +13 -1
  144. package/lib/esm/version.js +1 -1
  145. package/package.json +8 -8
  146. package/types/index.d.ts +535 -223
package/types/index.d.ts CHANGED
@@ -185,11 +185,13 @@ export interface AccessorNode<TObject extends MathNode = MathNode>
185
185
  object: TObject
186
186
  index: IndexNode
187
187
  name: string
188
+ optionalChaining: boolean
188
189
  }
189
190
  export interface AccessorNodeCtor {
190
191
  new <TObject extends MathNode = MathNode>(
191
192
  object: TObject,
192
- index: IndexNode
193
+ index: IndexNode,
194
+ optionalChaining?: boolean
193
195
  ): AccessorNode<TObject>
194
196
  }
195
197
 
@@ -523,6 +525,58 @@ export interface MathJsInstance extends MathJsFactory {
523
525
  SQRT2: number
524
526
  tau: number
525
527
 
528
+ // Physical constants
529
+ atomicMass: Unit
530
+ avogadro: Unit
531
+ bohrMagneton: Unit
532
+ bohrRadius: Unit
533
+ boltzmann: Unit
534
+ classicalElectronRadius: Unit
535
+ conductanceQuantum: Unit
536
+ coulomb: Unit
537
+ deuteronMass: Unit
538
+ efimovFactor: Unit
539
+ electricConstant: Unit
540
+ electronMass: Unit
541
+ elementaryCharge: Unit
542
+ faraday: Unit
543
+ fermiCoupling: Unit
544
+ fineStructure: Unit
545
+ firstRadiation: Unit
546
+ gasConstant: Unit
547
+ gravitationConstant: Unit
548
+ gravity: Unit
549
+ hartreeEnergy: Unit
550
+ inverseConductanceQuantum: Unit
551
+ klitzing: Unit
552
+ loschmidt: Unit
553
+ magneticConstant: Unit
554
+ magneticFluxQuantum: Unit
555
+ molarMass: Unit
556
+ molarMassC12: Unit
557
+ molarPlanckConstant: Unit
558
+ molarVolume: Unit
559
+ neutronMass: Unit
560
+ nuclearMagneton: Unit
561
+ planckCharge: Unit
562
+ planckConstant: Unit
563
+ planckLength: Unit
564
+ planckMass: Unit
565
+ planckTemperature: Unit
566
+ planckTime: Unit
567
+ protonMass: Unit
568
+ quantumOfCirculation: Unit
569
+ reducedPlanckConstant: Unit
570
+ rydberg: Unit
571
+ sackurTetrode: Unit
572
+ secondRadiation: Unit
573
+ speedOfLight: Unit
574
+ stefanBoltzmann: Unit
575
+ thomsonCrossSection: Unit
576
+ vacuumImpedance: Unit
577
+ weakMixingAngle: Unit
578
+ wienDisplacement: Unit
579
+
526
580
  // Class-like constructors
527
581
  Node: NodeCtor
528
582
  AccessorNode: AccessorNodeCtor
@@ -1492,9 +1546,18 @@ export interface MathJsInstance extends MathJsFactory {
1492
1546
  * @return The nth root of a
1493
1547
  */
1494
1548
  nthRoot(
1495
- a: number | BigNumber | MathCollection | Complex,
1549
+ a: number | BigNumber | Complex,
1496
1550
  root?: number | BigNumber
1497
- ): number | Complex | MathCollection
1551
+ ): number | Complex
1552
+ nthRoot(M: MathCollection, root?: number | BigNumber): MathCollection
1553
+
1554
+ /**
1555
+ * Calculate all nth roots of a value.
1556
+ * @param a Value for which to calculate the nth roots
1557
+ * @param n Which roots. Default value: 2.
1558
+ * @return An array of Complex numbers giving the n nth roots of a
1559
+ */
1560
+ nthRoots(a: number | BigNumber | Complex, n?: number): Array<Complex>
1498
1561
 
1499
1562
  /**
1500
1563
  * Calculates the power of x to y, x ^ y. Matrix exponentiation is
@@ -2088,6 +2151,13 @@ export interface MathJsInstance extends MathJsFactory {
2088
2151
  callback: (value: any, index: number[], matrix: T) => void
2089
2152
  ): void
2090
2153
 
2154
+ /**
2155
+ * Return the (name of the) data type of the elements of matrix, or 'mixed'.
2156
+ * @param m the matrix
2157
+ * @returns A string specifying the data type of the elements of m
2158
+ */
2159
+ getMatrixDataType(m: MathCollection): string
2160
+
2091
2161
  /**
2092
2162
  * Calculate the inverse of a square matrix.
2093
2163
  * @param x Matrix to be inverted
@@ -2428,6 +2498,14 @@ export interface MathJsInstance extends MathJsFactory {
2428
2498
  * Probability functions
2429
2499
  ************************************************************************/
2430
2500
 
2501
+ /**
2502
+ * Compute the nth Bernoulli number
2503
+ * @param n index
2504
+ * @returns nth Bernoulli number
2505
+ */
2506
+ bernoulli<T extends number | Fraction | BigNumber>(n: T): NoLiteralType<T>
2507
+ bernoulli(n: bigint): Fraction
2508
+
2431
2509
  /**
2432
2510
  * Compute the number of ways of picking k unordered outcomes from n
2433
2511
  * possibilities. Combinations only takes integer arguments. The
@@ -3632,6 +3710,21 @@ export interface MathJsInstance extends MathJsFactory {
3632
3710
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3633
3711
  hasNumericValue(x: any): boolean | boolean[]
3634
3712
 
3713
+ /**
3714
+ * Test whether a value is bounded
3715
+ * @param x Value to be tested
3716
+ * @returns Boolean true when x represents a bounded mathematical entity
3717
+ */
3718
+ isBounded(x: MathType): boolean
3719
+
3720
+ /**
3721
+ * Test whether a value is finite, elementwise on collections
3722
+ * @param x Value to be tested
3723
+ * @returns Boolean | MathCollection
3724
+ */
3725
+ isFinite(x: MathScalarType): boolean
3726
+ isFinite(A: MathCollection): MathCollection
3727
+
3635
3728
  /**
3636
3729
  * Test whether a value is an integer number. The function supports
3637
3730
  * number, BigNumber, and Fraction. The function is evaluated
@@ -3768,141 +3861,341 @@ export interface MathJsFactory {
3768
3861
  }
3769
3862
 
3770
3863
  export const {
3864
+ // system dependencies
3771
3865
  all,
3772
- typedDependencies,
3773
3866
  ResultSetDependencies,
3867
+ FibonacciHeapDependencies,
3868
+ SpaDependencies,
3774
3869
  BigNumberDependencies,
3775
3870
  ComplexDependencies,
3776
3871
  FractionDependencies,
3777
3872
  RangeDependencies,
3778
- MatrixDependencies,
3779
3873
  DenseMatrixDependencies,
3780
- cloneDependencies,
3781
- isIntegerDependencies,
3782
- isNegativeDependencies,
3783
- isNumericDependencies,
3784
- hasNumericValueDependencies,
3785
- isPositiveDependencies,
3786
- isZeroDependencies,
3787
- isNaNDependencies,
3788
- typeOfDependencies,
3789
- typeofDependencies,
3790
- equalScalarDependencies,
3874
+ ImmutableDenseMatrixDependencies,
3791
3875
  SparseMatrixDependencies,
3792
- numberDependencies,
3793
- stringDependencies,
3794
- booleanDependencies,
3876
+ IndexDependencies,
3877
+ ParserDependencies,
3878
+ HelpDependencies,
3879
+ ChainDependencies,
3880
+ reviverDependencies,
3881
+ versionDependencies,
3882
+
3883
+ // core function dependencies
3884
+ typedDependencies,
3885
+ // create and factory do not have dependencies
3886
+
3887
+ // constant dependencies
3888
+ eDependencies,
3889
+ piDependencies,
3890
+ iDependencies,
3891
+ InfinityDependencies,
3892
+ LN2Dependencies,
3893
+ LN10Dependencies,
3894
+ LOG2EDependencies,
3895
+ LOG10EDependencies,
3896
+ phiDependencies,
3897
+ SQRT1_2Dependencies,
3898
+ SQRT2Dependencies,
3899
+ tauDependencies,
3900
+
3901
+ // physical constant dependencies
3902
+ atomicMassDependencies,
3903
+ avogadroDependencies,
3904
+ bohrMagnetonDependencies,
3905
+ bohrRadiusDependencies,
3906
+ boltzmannDependencies,
3907
+ classicalElectronRadiusDependencies,
3908
+ conductanceQuantumDependencies,
3909
+ coulombDependencies,
3910
+ deuteronMassDependencies,
3911
+ efimovFactorDependencies,
3912
+ electricConstantDependencies,
3913
+ electronMassDependencies,
3914
+ elementaryChargeDependencies,
3915
+ faradayDependencies,
3916
+ fermiCouplingDependencies,
3917
+ fineStructureDependencies,
3918
+ firstRadiationDependencies,
3919
+ gasConstantDependencies,
3920
+ gravitationConstantDependencies,
3921
+ gravityDependencies,
3922
+ hartreeEnergyDependencies,
3923
+ inverseConductanceQuantumDependencies,
3924
+ klitzingDependencies,
3925
+ loschmidtDependencies,
3926
+ magneticConstantDependencies,
3927
+ magneticFluxQuantumDependencies,
3928
+ molarMassDependencies,
3929
+ molarMassC12Dependencies,
3930
+ molarPlanckConstantDependencies,
3931
+ molarVolumeDependencies,
3932
+ neutronMassDependencies,
3933
+ nuclearMagnetonDependencies,
3934
+ planckChargeDependencies,
3935
+ planckConstantDependencies,
3936
+ planckLengthDependencies,
3937
+ planckMassDependencies,
3938
+ planckTemperatureDependencies,
3939
+ planckTimeDependencies,
3940
+ protonMassDependencies,
3941
+ quantumOfCirculationDependencies,
3942
+ reducedPlanckConstantDependencies,
3943
+ rydbergDependencies,
3944
+ sackurTetrodeDependencies,
3945
+ secondRadiationDependencies,
3946
+ speedOfLightDependencies,
3947
+ stefanBoltzmannDependencies,
3948
+ thomsonCrossSectionDependencies,
3949
+ vacuumImpedanceDependencies,
3950
+ weakMixingAngleDependencies,
3951
+ wienDisplacementDependencies,
3952
+
3953
+ // constructor dependencies
3954
+ NodeDependencies,
3955
+ AccessorNodeDependencies,
3956
+ ArrayNodeDependencies,
3957
+ AssignmentNodeDependencies,
3958
+ BlockNodeDependencies,
3959
+ ConditionalNodeDependencies,
3960
+ ConstantNodeDependencies,
3961
+ FunctionAssignmentNodeDependencies,
3962
+ FunctionNodeDependencies,
3963
+ IndexNodeDependencies,
3964
+ ObjectNodeDependencies,
3965
+ OperatorNodeDependencies,
3966
+ ParenthesisNodeDependencies,
3967
+ RangeNodeDependencies,
3968
+ RelationalNodeDependencies,
3969
+ SymbolNodeDependencies,
3970
+ MatrixDependencies,
3971
+ UnitDependencies,
3972
+
3973
+ // construction function dependencies
3795
3974
  bignumberDependencies,
3975
+ bigintDependencies,
3976
+ booleanDependencies,
3977
+ chainDependencies,
3796
3978
  complexDependencies,
3979
+ createUnitDependencies,
3797
3980
  fractionDependencies,
3981
+ indexDependencies,
3798
3982
  matrixDependencies,
3983
+ numberDependencies,
3984
+ numericDependencies,
3985
+ sparseDependencies,
3799
3986
  splitUnitDependencies,
3800
- unaryMinusDependencies,
3801
- unaryPlusDependencies,
3987
+ stringDependencies,
3988
+ unitDependencies,
3989
+
3990
+ // expression function dependencies
3991
+ compileDependencies,
3992
+ evaluateDependencies,
3993
+ helpDependencies,
3994
+ parseDependencies,
3995
+ parserDependencies,
3996
+
3997
+ // algebra dependencies
3998
+ derivativeDependencies,
3999
+ lsolveDependencies,
4000
+ lupDependencies,
4001
+ lusolveDependencies,
4002
+ polynomialRootDependencies,
4003
+ qrDependencies,
4004
+ rationalizeDependencies,
4005
+ simplifyDependencies,
4006
+ simplifyConstantDependencies,
4007
+ simplifyCoreDependencies,
4008
+ symbolicEqualDependencies,
4009
+ leafCountDependencies,
4010
+ resolveDependencies,
4011
+ sluDependencies,
4012
+ usolveDependencies,
4013
+
4014
+ // arithmetic function dependencies
3802
4015
  absDependencies,
3803
- mapSlicesDependencies,
4016
+ addDependencies,
3804
4017
  addScalarDependencies,
3805
4018
  cbrtDependencies,
3806
4019
  ceilDependencies,
3807
4020
  cubeDependencies,
4021
+ divideDependencies,
4022
+ divideScalarDependencies,
4023
+ dotDivideDependencies,
4024
+ dotMultiplyDependencies,
4025
+ dotPowDependencies,
3808
4026
  expDependencies,
3809
4027
  expm1Dependencies,
3810
4028
  fixDependencies,
3811
4029
  floorDependencies,
3812
4030
  gcdDependencies,
4031
+ hypotDependencies,
3813
4032
  lcmDependencies,
4033
+ logDependencies,
3814
4034
  log10Dependencies,
4035
+ log1pDependencies,
3815
4036
  log2Dependencies,
4037
+ matrixFromRowsDependencies,
4038
+ matrixFromColumnsDependencies,
4039
+ matrixFromFunctionDependencies,
3816
4040
  modDependencies,
3817
- multiplyScalarDependencies,
3818
4041
  multiplyDependencies,
4042
+ multiplyScalarDependencies,
4043
+ normDependencies,
3819
4044
  nthRootDependencies,
4045
+ nthRootsDependencies,
4046
+ powDependencies,
4047
+ roundDependencies,
3820
4048
  signDependencies,
3821
4049
  sqrtDependencies,
3822
4050
  squareDependencies,
3823
4051
  subtractDependencies,
4052
+ unaryMinusDependencies,
4053
+ unaryPlusDependencies,
3824
4054
  xgcdDependencies,
3825
- dotMultiplyDependencies,
4055
+
4056
+ // bitwise dependencies
3826
4057
  bitAndDependencies,
3827
4058
  bitNotDependencies,
3828
4059
  bitOrDependencies,
3829
4060
  bitXorDependencies,
4061
+ leftShiftDependencies,
4062
+ rightArithShiftDependencies,
4063
+ rightLogShiftDependencies,
4064
+
4065
+ // combinatorics dependencies
4066
+ bellNumbersDependencies,
4067
+ catalanDependencies,
4068
+ compositionDependencies,
4069
+ stirlingS2Dependencies,
4070
+
4071
+ // complex dependencies
3830
4072
  argDependencies,
3831
4073
  conjDependencies,
3832
4074
  imDependencies,
3833
4075
  reDependencies,
4076
+
4077
+ // geometry dependencies
4078
+ distanceDependencies,
4079
+ intersectDependencies,
4080
+
4081
+ // logical dependencies
4082
+ andDependencies,
3834
4083
  notDependencies,
3835
4084
  orDependencies,
3836
4085
  xorDependencies,
4086
+
4087
+ // matrix function dependencies
4088
+ mapSlicesDependencies,
4089
+ // array is deprecated
3837
4090
  concatDependencies,
3838
- columnDependencies,
3839
4091
  crossDependencies,
4092
+ ctransposeDependencies,
4093
+ detDependencies,
4094
+ diffDependencies,
3840
4095
  diagDependencies,
3841
- eyeDependencies,
4096
+ dotDependencies,
4097
+ eigsDependencies,
4098
+ expmDependencies,
4099
+ sylvesterDependencies,
4100
+ schurDependencies,
4101
+ lyapDependencies,
4102
+ identityDependencies,
3842
4103
  filterDependencies,
3843
4104
  flattenDependencies,
3844
4105
  forEachDependencies,
3845
4106
  getMatrixDataTypeDependencies,
3846
- identityDependencies,
4107
+ invDependencies,
3847
4108
  kronDependencies,
3848
4109
  mapDependencies,
3849
4110
  onesDependencies,
4111
+ partitionSelectDependencies,
4112
+ pinvDependencies,
3850
4113
  rangeDependencies,
3851
4114
  reshapeDependencies,
3852
4115
  resizeDependencies,
4116
+ rotationMatrixDependencies,
3853
4117
  rowDependencies,
4118
+ columnDependencies,
4119
+ rotateDependencies,
3854
4120
  sizeDependencies,
4121
+ sortDependencies,
4122
+ sqrtmDependencies,
3855
4123
  squeezeDependencies,
3856
4124
  subsetDependencies,
4125
+ traceDependencies,
3857
4126
  transposeDependencies,
3858
- ctransposeDependencies,
3859
4127
  zerosDependencies,
3860
- erfDependencies,
3861
- modeDependencies,
3862
- prodDependencies,
3863
- formatDependencies,
3864
- printDependencies,
3865
- toDependencies,
3866
- toBestDependencies,
3867
- isPrimeDependencies,
3868
- numericDependencies,
3869
- divideScalarDependencies,
3870
- powDependencies,
3871
- roundDependencies,
3872
- logDependencies,
3873
- log1pDependencies,
3874
- nthRootsDependencies,
3875
- dotPowDependencies,
3876
- dotDivideDependencies,
3877
- lsolveDependencies,
3878
- usolveDependencies,
3879
- leftShiftDependencies,
3880
- rightArithShiftDependencies,
3881
- rightLogShiftDependencies,
3882
- andDependencies,
4128
+ fftDependencies,
4129
+ ifftDependencies,
4130
+
4131
+ // probability dependencies
4132
+ bernoulliDependencies,
4133
+ combinationsDependencies,
4134
+ factorialDependencies,
4135
+ gammaDependencies,
4136
+ kldivergenceDependencies,
4137
+ lgammaDependencies,
4138
+ multinomialDependencies,
4139
+ permutationsDependencies,
4140
+ pickRandomDependencies,
4141
+ randomDependencies,
4142
+ randomIntDependencies,
4143
+
4144
+ // relational function dependencies
3883
4145
  compareDependencies,
3884
4146
  compareNaturalDependencies,
3885
4147
  compareTextDependencies,
4148
+ deepEqualDependencies,
3886
4149
  equalDependencies,
4150
+ equalScalarDependencies,
3887
4151
  equalTextDependencies,
3888
- smallerDependencies,
3889
- smallerEqDependencies,
3890
4152
  largerDependencies,
3891
4153
  largerEqDependencies,
3892
- deepEqualDependencies,
4154
+ smallerDependencies,
4155
+ smallerEqDependencies,
3893
4156
  unequalDependencies,
3894
- partitionSelectDependencies,
3895
- sortDependencies,
4157
+
4158
+ // set function dependencies
4159
+ setCartesianDependencies,
4160
+ setDifferenceDependencies,
4161
+ setDistinctDependencies,
4162
+ setIntersectDependencies,
4163
+ setIsSubsetDependencies,
4164
+ setMultiplicityDependencies,
4165
+ setPowersetDependencies,
4166
+ setSizeDependencies,
4167
+ setSymDifferenceDependencies,
4168
+ setUnionDependencies,
4169
+
4170
+ // signal function dependencies
4171
+ zpk2tfDependencies,
4172
+ freqzDependencies,
4173
+
4174
+ // special function dependencies
4175
+ erfDependencies,
4176
+ zetaDependencies,
4177
+
4178
+ // statistics function dependencies
4179
+ madDependencies,
3896
4180
  maxDependencies,
4181
+ meanDependencies,
4182
+ medianDependencies,
3897
4183
  minDependencies,
3898
- ImmutableDenseMatrixDependencies,
3899
- IndexDependencies,
3900
- FibonacciHeapDependencies,
3901
- SpaDependencies,
3902
- UnitDependencies,
3903
- unitDependencies,
3904
- sparseDependencies,
3905
- createUnitDependencies,
4184
+ modeDependencies,
4185
+ prodDependencies,
4186
+ quantileSeqDependencies,
4187
+ stdDependencies,
4188
+ sumDependencies,
4189
+ countDependencies,
4190
+ cumsumDependencies,
4191
+ varianceDependencies,
4192
+ corrDependencies,
4193
+
4194
+ // string function dependencies
4195
+ formatDependencies,
4196
+ printDependencies,
4197
+
4198
+ // trigonometry function dependencies
3906
4199
  acosDependencies,
3907
4200
  acoshDependencies,
3908
4201
  acotDependencies,
@@ -3928,159 +4221,69 @@ export const {
3928
4221
  sinhDependencies,
3929
4222
  tanDependencies,
3930
4223
  tanhDependencies,
3931
- setCartesianDependencies,
3932
- setDifferenceDependencies,
3933
- setDistinctDependencies,
3934
- setIntersectDependencies,
3935
- setIsSubsetDependencies,
3936
- setMultiplicityDependencies,
3937
- setPowersetDependencies,
3938
- setSizeDependencies,
3939
- setSymDifferenceDependencies,
3940
- setUnionDependencies,
3941
- zpk2tfDependencies,
3942
- freqzDependencies,
3943
- addDependencies,
3944
- hypotDependencies,
3945
- normDependencies,
3946
- dotDependencies,
3947
- traceDependencies,
3948
- indexDependencies,
3949
- NodeDependencies,
3950
- AccessorNodeDependencies,
3951
- ArrayNodeDependencies,
3952
- AssignmentNodeDependencies,
3953
- BlockNodeDependencies,
3954
- ConditionalNodeDependencies,
3955
- ConstantNodeDependencies,
3956
- FunctionAssignmentNodeDependencies,
3957
- IndexNodeDependencies,
3958
- ObjectNodeDependencies,
3959
- OperatorNodeDependencies,
3960
- ParenthesisNodeDependencies,
3961
- RangeNodeDependencies,
3962
- RelationalNodeDependencies,
3963
- SymbolNodeDependencies,
3964
- FunctionNodeDependencies,
3965
- parseDependencies,
3966
- compileDependencies,
3967
- evaluateDependencies,
3968
- evalDependencies,
3969
- ParserDependencies,
3970
- parserDependencies,
3971
- lupDependencies,
3972
- qrDependencies,
3973
- sluDependencies,
3974
- lusolveDependencies,
3975
- HelpDependencies,
3976
- ChainDependencies,
3977
- helpDependencies,
3978
- chainDependencies,
3979
- detDependencies,
3980
- invDependencies,
3981
- expmDependencies,
3982
- sqrtmDependencies,
3983
- sylvesterDependencies,
3984
- schurDependencies,
3985
- lyapDependencies,
3986
- divideDependencies,
3987
- distanceDependencies,
3988
- intersectDependencies,
3989
- sumDependencies,
3990
- meanDependencies,
3991
- medianDependencies,
3992
- madDependencies,
3993
- varianceDependencies,
3994
- varDependencies,
3995
- quantileSeqDependencies,
3996
- stdDependencies,
3997
- combinationsDependencies,
3998
- gammaDependencies,
3999
- factorialDependencies,
4000
- kldivergenceDependencies,
4001
- multinomialDependencies,
4002
- permutationsDependencies,
4003
- pickRandomDependencies,
4004
- randomDependencies,
4005
- randomIntDependencies,
4006
- stirlingS2Dependencies,
4007
- bellNumbersDependencies,
4008
- catalanDependencies,
4009
- compositionDependencies,
4010
- simplifyDependencies,
4011
- derivativeDependencies,
4012
- rationalizeDependencies,
4013
- reviverDependencies,
4014
- eDependencies,
4015
- EDependencies,
4016
- falseDependencies,
4017
- iDependencies,
4018
- InfinityDependencies,
4019
- LN10Dependencies,
4020
- LN2Dependencies,
4021
- LOG10EDependencies,
4022
- LOG2EDependencies,
4023
- NaNDependencies,
4024
- nullDependencies,
4025
- phiDependencies,
4026
- piDependencies,
4027
- PIDependencies,
4028
- SQRT1_2Dependencies,
4029
- SQRT2Dependencies,
4030
- tauDependencies,
4031
- trueDependencies,
4032
- versionDependencies,
4033
- atomicMassDependencies,
4034
- avogadroDependencies,
4035
- bohrMagnetonDependencies,
4036
- bohrRadiusDependencies,
4037
- boltzmannDependencies,
4038
- classicalElectronRadiusDependencies,
4039
- conductanceQuantumDependencies,
4040
- coulombDependencies,
4041
- deuteronMassDependencies,
4042
- efimovFactorDependencies,
4043
- eigsDependencies,
4044
- electricConstantDependencies,
4045
- electronMassDependencies,
4046
- elementaryChargeDependencies,
4047
- faradayDependencies,
4048
- fermiCouplingDependencies,
4049
- fineStructureDependencies,
4050
- firstRadiationDependencies,
4051
- gasConstantDependencies,
4052
- gravitationConstantDependencies,
4053
- gravityDependencies,
4054
- hartreeEnergyDependencies,
4055
- inverseConductanceQuantumDependencies,
4056
- klitzingDependencies,
4057
- loschmidtDependencies,
4058
- magneticConstantDependencies,
4059
- magneticFluxQuantumDependencies,
4060
- molarMassDependencies,
4061
- molarMassC12Dependencies,
4062
- molarPlanckConstantDependencies,
4063
- molarVolumeDependencies,
4064
- neutronMassDependencies,
4065
- nuclearMagnetonDependencies,
4066
- planckChargeDependencies,
4067
- planckConstantDependencies,
4068
- planckLengthDependencies,
4069
- planckMassDependencies,
4070
- planckTemperatureDependencies,
4071
- planckTimeDependencies,
4072
- protonMassDependencies,
4073
- quantumOfCirculationDependencies,
4074
- reducedPlanckConstantDependencies,
4075
- rydbergDependencies,
4076
- sackurTetrodeDependencies,
4077
- secondRadiationDependencies,
4078
- speedOfLightDependencies,
4079
- stefanBoltzmannDependencies,
4080
- thomsonCrossSectionDependencies,
4081
- vacuumImpedanceDependencies,
4082
- weakMixingAngleDependencies,
4083
- wienDisplacementDependencies,
4224
+
4225
+ // unit function dependencies
4226
+ toDependencies,
4227
+ toBestDependencies,
4228
+
4229
+ // util function dependencies
4230
+ isNumberDependencies,
4231
+ isBigNumberDependencies,
4232
+ isBigIntDependencies,
4233
+ isComplexDependencies,
4234
+ isFractionDependencies,
4235
+ isUnitDependencies,
4236
+ isStringDependencies,
4237
+ isArrayDependencies,
4238
+ isMatrixDependencies,
4239
+ isCollectionDependencies,
4240
+ isDenseMatrixDependencies,
4241
+ isSparseMatrixDependencies,
4242
+ isRangeDependencies,
4243
+ isIndexDependencies,
4244
+ isBooleanDependencies,
4245
+ isResultSetDependencies,
4246
+ isHelpDependencies,
4247
+ isFunctionDependencies,
4248
+ isDateDependencies,
4249
+ isRegExpDependencies,
4250
+ isObjectDependencies,
4251
+ isMapDependencies,
4252
+ isPartitionedMapDependencies,
4253
+ isObjectWrappingMapDependencies,
4254
+ isNullDependencies,
4255
+ isUndefinedDependencies,
4256
+ isAccessorNodeDependencies,
4257
+ isArrayNodeDependencies,
4258
+ isAssignmentNodeDependencies,
4259
+ isBlockNodeDependencies,
4260
+ isConditionalNodeDependencies,
4261
+ isConstantNodeDependencies,
4262
+ isFunctionAssignmentNodeDependencies,
4263
+ isFunctionNodeDependencies,
4264
+ isIndexNodeDependencies,
4265
+ isNodeDependencies,
4266
+ isObjectNodeDependencies,
4267
+ isOperatorNodeDependencies,
4268
+ isParenthesisNodeDependencies,
4269
+ isRangeNodeDependencies,
4270
+ isRelationalNodeDependencies,
4271
+ isSymbolNodeDependencies,
4272
+ isChainDependencies,
4273
+ cloneDependencies,
4274
+ hasNumericValueDependencies,
4275
+ isBoundedDependencies,
4276
+ isFiniteDependencies,
4277
+ isIntegerDependencies,
4278
+ isNaNDependencies,
4279
+ isNegativeDependencies,
4280
+ isNumericDependencies,
4281
+ isPositiveDependencies,
4282
+ isPrimeDependencies,
4283
+ isZeroDependencies,
4284
+ typeOfDependencies,
4285
+
4286
+ // Transform dependencies
4084
4287
  mapSlicesTransformDependencies,
4085
4288
  columnTransformDependencies,
4086
4289
  filterTransformDependencies,
@@ -5452,9 +5655,22 @@ export interface MathJsChain<TValue> {
5452
5655
  * @param root The root. Default value: 2.
5453
5656
  */
5454
5657
  nthRoot(
5455
- this: MathJsChain<number | BigNumber | MathCollection | Complex>,
5658
+ this: MathJsChain<number | BigNumber | Complex>,
5659
+ root?: number | BigNumber
5660
+ ): MathJsChain<number | Complex>
5661
+ nthRoot(
5662
+ this: MathCollection,
5456
5663
  root?: number | BigNumber
5457
- ): MathJsChain<number | Complex | MathCollection>
5664
+ ): MathJsChain<MathCollection>
5665
+
5666
+ /**
5667
+ * Calculate all nth roots of a value.
5668
+ * @param n Which root to take. Default value: 2.
5669
+ */
5670
+ nthRoots(
5671
+ this: MathJsChain<number | BigNumber | Complex>,
5672
+ n?: number
5673
+ ): MathJsChain<Array<Complex>>
5458
5674
 
5459
5675
  /**
5460
5676
  * Calculates the power of x to y, x ^ y. Matrix exponentiation is
@@ -5953,6 +6169,11 @@ export interface MathJsChain<TValue> {
5953
6169
  callback: (value: any, index: number[], matrix: T) => void
5954
6170
  ): void
5955
6171
 
6172
+ /**
6173
+ * Get the data type in a collection
6174
+ */
6175
+ getMatrixDataType(this: MathJsChain<MathCollection>): MathJsChain<string>
6176
+
5956
6177
  /**
5957
6178
  * Calculate the inverse of a square matrix.
5958
6179
  */
@@ -6136,6 +6357,14 @@ export interface MathJsChain<TValue> {
6136
6357
  * Probability functions
6137
6358
  ************************************************************************/
6138
6359
 
6360
+ /**
6361
+ * Bernoulli number at this index
6362
+ */
6363
+ bernoulli<T extends number | BigNumber | Fraction>(
6364
+ this: MathJsChain<T>
6365
+ ): MathJsChain<NoLiteralType<T>>
6366
+ bernoulli(this: MathJsChain<bigint>): MathJsChain<Fraction>
6367
+
6139
6368
  /**
6140
6369
  * Compute the number of ways of picking k unordered outcomes from n
6141
6370
  * possibilities. Combinations only takes integer arguments. The
@@ -7087,6 +7316,17 @@ export interface MathJsChain<TValue> {
7087
7316
  this: MathJsChain<number | BigNumber | Fraction | MathCollection | Unit>
7088
7317
  ): MathJsChain<boolean>
7089
7318
 
7319
+ /**
7320
+ * Test whether a value is bounded, works on entire collection at once
7321
+ */
7322
+ isBounded(this: MathJsChain<MathType>): MathJsChain<boolean>
7323
+
7324
+ /**
7325
+ * Test whether a value is finite, works elementwise on collections
7326
+ */
7327
+ isFinite(this: MathJsChain<MathScalarType>): MathJsChain<boolean>
7328
+ isFinite(this: MathJsChain<MathCollection>): MathJsChain<MathCollection>
7329
+
7090
7330
  /**
7091
7331
  * Test whether a value is negative: smaller than zero. The function
7092
7332
  * supports types number, BigNumber, Fraction, and Unit. The function is
@@ -7184,6 +7424,58 @@ export const {
7184
7424
  SQRT2,
7185
7425
  tau,
7186
7426
 
7427
+ // Physical constants
7428
+ atomicMass,
7429
+ avogadro,
7430
+ bohrMagneton,
7431
+ bohrRadius,
7432
+ boltzmann,
7433
+ classicalElectronRadius,
7434
+ conductanceQuantum,
7435
+ coulomb,
7436
+ deuteronMass,
7437
+ efimovFactor,
7438
+ electricConstant,
7439
+ electronMass,
7440
+ elementaryCharge,
7441
+ faraday,
7442
+ fermiCoupling,
7443
+ fineStructure,
7444
+ firstRadiation,
7445
+ gasConstant,
7446
+ gravitationConstant,
7447
+ gravity,
7448
+ hartreeEnergy,
7449
+ inverseConductanceQuantum,
7450
+ klitzing,
7451
+ loschmidt,
7452
+ magneticConstant,
7453
+ magneticFluxQuantum,
7454
+ molarMass,
7455
+ molarMassC12,
7456
+ molarPlanckConstant,
7457
+ molarVolume,
7458
+ neutronMass,
7459
+ nuclearMagneton,
7460
+ planckCharge,
7461
+ planckConstant,
7462
+ planckLength,
7463
+ planckMass,
7464
+ planckTemperature,
7465
+ planckTime,
7466
+ protonMass,
7467
+ quantumOfCirculation,
7468
+ reducedPlanckConstant,
7469
+ rydberg,
7470
+ sackurTetrode,
7471
+ secondRadiation,
7472
+ speedOfLight,
7473
+ stefanBoltzmann,
7474
+ thomsonCrossSection,
7475
+ vacuumImpedance,
7476
+ weakMixingAngle,
7477
+ wienDisplacement,
7478
+
7187
7479
  // Class-like constructors
7188
7480
  Node,
7189
7481
  AccessorNode,
@@ -7210,7 +7502,9 @@ export const {
7210
7502
  reviver,
7211
7503
  replacer,
7212
7504
 
7505
+ // Construction functions
7213
7506
  bignumber,
7507
+ bigint,
7214
7508
  boolean,
7215
7509
  chain,
7216
7510
  complex,
@@ -7219,10 +7513,13 @@ export const {
7219
7513
  index,
7220
7514
  matrix,
7221
7515
  number,
7516
+ numeric,
7222
7517
  sparse,
7223
7518
  splitUnit,
7224
7519
  string,
7225
7520
  unit,
7521
+
7522
+ // Expression functions
7226
7523
  compile,
7227
7524
  evaluate,
7228
7525
  help,
@@ -7251,9 +7548,6 @@ export const {
7251
7548
  add,
7252
7549
  cbrt,
7253
7550
  ceil,
7254
- fix,
7255
- floor,
7256
- round,
7257
7551
  cube,
7258
7552
  divide,
7259
7553
  dotDivide,
@@ -7261,6 +7555,8 @@ export const {
7261
7555
  dotPow,
7262
7556
  exp,
7263
7557
  expm1,
7558
+ fix,
7559
+ floor,
7264
7560
  gcd,
7265
7561
  hypot,
7266
7562
  lcm,
@@ -7268,11 +7564,16 @@ export const {
7268
7564
  log10,
7269
7565
  log1p,
7270
7566
  log2,
7567
+ matrixFromRows,
7568
+ matrixFromColumns,
7569
+ matrixFromFunction,
7271
7570
  mod,
7272
7571
  multiply,
7273
7572
  norm,
7274
7573
  nthRoot,
7574
+ nthRoots,
7275
7575
  pow,
7576
+ round,
7276
7577
  sign,
7277
7578
  sqrt,
7278
7579
  square,
@@ -7319,6 +7620,7 @@ export const {
7319
7620
  cross,
7320
7621
  ctranspose,
7321
7622
  det,
7623
+ diff,
7322
7624
  diag,
7323
7625
  dot,
7324
7626
  eigs,
@@ -7330,6 +7632,7 @@ export const {
7330
7632
  filter,
7331
7633
  flatten,
7332
7634
  forEach,
7635
+ getMatrixDataType,
7333
7636
  inv,
7334
7637
  kron,
7335
7638
  map,
@@ -7355,6 +7658,7 @@ export const {
7355
7658
  ifft,
7356
7659
 
7357
7660
  // probability
7661
+ bernoulli,
7358
7662
  combinations,
7359
7663
  factorial,
7360
7664
  gamma,
@@ -7391,9 +7695,11 @@ export const {
7391
7695
  setSymDifference,
7392
7696
  setUnion,
7393
7697
 
7394
- // special functions
7698
+ // signal functions
7395
7699
  zpk2tf,
7396
7700
  freqz,
7701
+
7702
+ // special functions
7397
7703
  erf,
7398
7704
  zeta,
7399
7705
 
@@ -7451,6 +7757,7 @@ export const {
7451
7757
  // util functions
7452
7758
  isNumber,
7453
7759
  isBigNumber,
7760
+ isBigInt,
7454
7761
  isComplex,
7455
7762
  isFraction,
7456
7763
  isUnit,
@@ -7469,6 +7776,9 @@ export const {
7469
7776
  isDate,
7470
7777
  isRegExp,
7471
7778
  isObject,
7779
+ isMap,
7780
+ isPartitionedMap,
7781
+ isObjectWrappingMap,
7472
7782
  isNull,
7473
7783
  isUndefined,
7474
7784
  isAccessorNode,
@@ -7490,6 +7800,8 @@ export const {
7490
7800
  isChain,
7491
7801
  clone,
7492
7802
  hasNumericValue,
7803
+ isBounded,
7804
+ isFinite,
7493
7805
  isInteger,
7494
7806
  isNaN,
7495
7807
  isNegative,