mathjs 10.1.1 → 10.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. package/HISTORY.md +43 -0
  2. package/docs/expressions/algebra.md +27 -0
  3. package/docs/expressions/syntax.md +31 -2
  4. package/docs/reference/functions/abs.md +6 -0
  5. package/docs/reference/functions/acos.md +6 -0
  6. package/docs/reference/functions/acosh.md +6 -0
  7. package/docs/reference/functions/acot.md +6 -0
  8. package/docs/reference/functions/acoth.md +6 -0
  9. package/docs/reference/functions/acsc.md +6 -0
  10. package/docs/reference/functions/acsch.md +6 -0
  11. package/docs/reference/functions/add.md +6 -0
  12. package/docs/reference/functions/and.md +6 -0
  13. package/docs/reference/functions/apply.md +6 -0
  14. package/docs/reference/functions/arg.md +6 -0
  15. package/docs/reference/functions/asec.md +6 -0
  16. package/docs/reference/functions/asech.md +6 -0
  17. package/docs/reference/functions/asin.md +6 -0
  18. package/docs/reference/functions/asinh.md +6 -0
  19. package/docs/reference/functions/atan.md +6 -0
  20. package/docs/reference/functions/atan2.md +6 -0
  21. package/docs/reference/functions/atanh.md +6 -0
  22. package/docs/reference/functions/bellNumbers.md +6 -0
  23. package/docs/reference/functions/bin.md +6 -0
  24. package/docs/reference/functions/bitAnd.md +6 -0
  25. package/docs/reference/functions/bitNot.md +6 -0
  26. package/docs/reference/functions/bitOr.md +6 -0
  27. package/docs/reference/functions/bitXor.md +6 -0
  28. package/docs/reference/functions/catalan.md +6 -0
  29. package/docs/reference/functions/cbrt.md +6 -0
  30. package/docs/reference/functions/ceil.md +6 -0
  31. package/docs/reference/functions/clone.md +6 -0
  32. package/docs/reference/functions/column.md +6 -0
  33. package/docs/reference/functions/combinations.md +6 -0
  34. package/docs/reference/functions/combinationsWithRep.md +6 -0
  35. package/docs/reference/functions/compare.md +6 -0
  36. package/docs/reference/functions/compareNatural.md +6 -0
  37. package/docs/reference/functions/compareText.md +6 -0
  38. package/docs/reference/functions/compile.md +6 -0
  39. package/docs/reference/functions/composition.md +6 -0
  40. package/docs/reference/functions/concat.md +6 -0
  41. package/docs/reference/functions/conj.md +6 -0
  42. package/docs/reference/functions/cos.md +6 -0
  43. package/docs/reference/functions/cosh.md +6 -0
  44. package/docs/reference/functions/cot.md +6 -0
  45. package/docs/reference/functions/coth.md +6 -0
  46. package/docs/reference/functions/count.md +6 -0
  47. package/docs/reference/functions/cross.md +6 -0
  48. package/docs/reference/functions/csc.md +6 -0
  49. package/docs/reference/functions/csch.md +6 -0
  50. package/docs/reference/functions/ctranspose.md +6 -0
  51. package/docs/reference/functions/cube.md +6 -0
  52. package/docs/reference/functions/cumsum.md +57 -0
  53. package/docs/reference/functions/deepEqual.md +6 -0
  54. package/docs/reference/functions/derivative.md +6 -0
  55. package/docs/reference/functions/det.md +6 -0
  56. package/docs/reference/functions/diag.md +6 -0
  57. package/docs/reference/functions/diff.md +6 -0
  58. package/docs/reference/functions/distance.md +6 -0
  59. package/docs/reference/functions/divide.md +6 -0
  60. package/docs/reference/functions/dot.md +6 -0
  61. package/docs/reference/functions/dotDivide.md +6 -0
  62. package/docs/reference/functions/dotMultiply.md +6 -0
  63. package/docs/reference/functions/dotPow.md +6 -0
  64. package/docs/reference/functions/eigs.md +6 -0
  65. package/docs/reference/functions/equal.md +6 -0
  66. package/docs/reference/functions/equalText.md +6 -0
  67. package/docs/reference/functions/erf.md +6 -0
  68. package/docs/reference/functions/evaluate.md +6 -0
  69. package/docs/reference/functions/exp.md +6 -0
  70. package/docs/reference/functions/expm.md +6 -0
  71. package/docs/reference/functions/expm1.md +6 -0
  72. package/docs/reference/functions/factorial.md +6 -0
  73. package/docs/reference/functions/filter.md +6 -0
  74. package/docs/reference/functions/fix.md +6 -0
  75. package/docs/reference/functions/flatten.md +6 -0
  76. package/docs/reference/functions/floor.md +6 -0
  77. package/docs/reference/functions/forEach.md +6 -0
  78. package/docs/reference/functions/format.md +7 -1
  79. package/docs/reference/functions/gamma.md +6 -0
  80. package/docs/reference/functions/gcd.md +6 -0
  81. package/docs/reference/functions/getMatrixDataType.md +6 -0
  82. package/docs/reference/functions/hasNumericValue.md +6 -0
  83. package/docs/reference/functions/help.md +6 -0
  84. package/docs/reference/functions/hex.md +6 -0
  85. package/docs/reference/functions/hypot.md +6 -0
  86. package/docs/reference/functions/identity.md +6 -0
  87. package/docs/reference/functions/im.md +6 -0
  88. package/docs/reference/functions/intersect.md +6 -0
  89. package/docs/reference/functions/inv.md +6 -0
  90. package/docs/reference/functions/invmod.md +6 -0
  91. package/docs/reference/functions/isInteger.md +6 -0
  92. package/docs/reference/functions/isNaN.md +6 -0
  93. package/docs/reference/functions/isNegative.md +6 -0
  94. package/docs/reference/functions/isNumeric.md +6 -0
  95. package/docs/reference/functions/isPositive.md +6 -0
  96. package/docs/reference/functions/isPrime.md +6 -0
  97. package/docs/reference/functions/isZero.md +6 -0
  98. package/docs/reference/functions/kldivergence.md +6 -0
  99. package/docs/reference/functions/kron.md +6 -0
  100. package/docs/reference/functions/larger.md +6 -0
  101. package/docs/reference/functions/largerEq.md +6 -0
  102. package/docs/reference/functions/lcm.md +6 -0
  103. package/docs/reference/functions/leafCount.md +52 -0
  104. package/docs/reference/functions/leftShift.md +6 -0
  105. package/docs/reference/functions/log.md +6 -0
  106. package/docs/reference/functions/log10.md +6 -0
  107. package/docs/reference/functions/log1p.md +6 -0
  108. package/docs/reference/functions/log2.md +6 -0
  109. package/docs/reference/functions/lsolve.md +6 -0
  110. package/docs/reference/functions/lsolveAll.md +6 -0
  111. package/docs/reference/functions/lup.md +6 -0
  112. package/docs/reference/functions/lusolve.md +6 -0
  113. package/docs/reference/functions/mad.md +6 -0
  114. package/docs/reference/functions/map.md +28 -5
  115. package/docs/reference/functions/matrixFromColumns.md +6 -0
  116. package/docs/reference/functions/matrixFromFunction.md +6 -0
  117. package/docs/reference/functions/matrixFromRows.md +6 -0
  118. package/docs/reference/functions/max.md +6 -0
  119. package/docs/reference/functions/mean.md +6 -0
  120. package/docs/reference/functions/median.md +6 -0
  121. package/docs/reference/functions/min.md +6 -0
  122. package/docs/reference/functions/mod.md +6 -0
  123. package/docs/reference/functions/mode.md +6 -0
  124. package/docs/reference/functions/multinomial.md +6 -0
  125. package/docs/reference/functions/multiply.md +6 -0
  126. package/docs/reference/functions/norm.md +6 -0
  127. package/docs/reference/functions/not.md +6 -0
  128. package/docs/reference/functions/nthRoot.md +6 -0
  129. package/docs/reference/functions/nthRoots.md +6 -0
  130. package/docs/reference/functions/numeric.md +6 -0
  131. package/docs/reference/functions/oct.md +6 -0
  132. package/docs/reference/functions/ones.md +6 -0
  133. package/docs/reference/functions/or.md +6 -0
  134. package/docs/reference/functions/parser.md +6 -0
  135. package/docs/reference/functions/partitionSelect.md +6 -0
  136. package/docs/reference/functions/permutations.md +6 -0
  137. package/docs/reference/functions/pickRandom.md +6 -0
  138. package/docs/reference/functions/pow.md +6 -0
  139. package/docs/reference/functions/print.md +6 -0
  140. package/docs/reference/functions/prod.md +6 -0
  141. package/docs/reference/functions/qr.md +6 -0
  142. package/docs/reference/functions/quantileSeq.md +6 -0
  143. package/docs/reference/functions/random.md +6 -0
  144. package/docs/reference/functions/randomInt.md +6 -0
  145. package/docs/reference/functions/range.md +6 -0
  146. package/docs/reference/functions/rationalize.md +7 -1
  147. package/docs/reference/functions/re.md +6 -0
  148. package/docs/reference/functions/reshape.md +7 -0
  149. package/docs/reference/functions/resize.md +6 -0
  150. package/docs/reference/functions/resolve.md +46 -0
  151. package/docs/reference/functions/rightArithShift.md +6 -0
  152. package/docs/reference/functions/rightLogShift.md +6 -0
  153. package/docs/reference/functions/rotate.md +6 -0
  154. package/docs/reference/functions/rotationMatrix.md +6 -0
  155. package/docs/reference/functions/round.md +6 -0
  156. package/docs/reference/functions/row.md +6 -0
  157. package/docs/reference/functions/sec.md +6 -0
  158. package/docs/reference/functions/sech.md +6 -0
  159. package/docs/reference/functions/setCartesian.md +6 -0
  160. package/docs/reference/functions/setDifference.md +6 -0
  161. package/docs/reference/functions/setDistinct.md +6 -0
  162. package/docs/reference/functions/setIntersect.md +6 -0
  163. package/docs/reference/functions/setIsSubset.md +6 -0
  164. package/docs/reference/functions/setMultiplicity.md +6 -0
  165. package/docs/reference/functions/setPowerset.md +6 -0
  166. package/docs/reference/functions/setSize.md +6 -0
  167. package/docs/reference/functions/setSymDifference.md +6 -0
  168. package/docs/reference/functions/setUnion.md +6 -0
  169. package/docs/reference/functions/sign.md +6 -0
  170. package/docs/reference/functions/simplify.md +43 -6
  171. package/docs/reference/functions/simplifyCore.md +50 -0
  172. package/docs/reference/functions/sin.md +6 -0
  173. package/docs/reference/functions/sinh.md +6 -0
  174. package/docs/reference/functions/size.md +6 -0
  175. package/docs/reference/functions/slu.md +6 -0
  176. package/docs/reference/functions/smaller.md +6 -0
  177. package/docs/reference/functions/smallerEq.md +6 -0
  178. package/docs/reference/functions/sort.md +6 -0
  179. package/docs/reference/functions/sqrt.md +6 -0
  180. package/docs/reference/functions/sqrtm.md +6 -0
  181. package/docs/reference/functions/square.md +6 -0
  182. package/docs/reference/functions/squeeze.md +6 -0
  183. package/docs/reference/functions/std.md +6 -0
  184. package/docs/reference/functions/stirlingS2.md +6 -0
  185. package/docs/reference/functions/subset.md +16 -2
  186. package/docs/reference/functions/subtract.md +6 -0
  187. package/docs/reference/functions/sum.md +8 -1
  188. package/docs/reference/functions/symbolicEqual.md +62 -0
  189. package/docs/reference/functions/tan.md +6 -0
  190. package/docs/reference/functions/tanh.md +6 -0
  191. package/docs/reference/functions/to.md +6 -0
  192. package/docs/reference/functions/trace.md +6 -0
  193. package/docs/reference/functions/transpose.md +6 -0
  194. package/docs/reference/functions/typeOf.md +6 -0
  195. package/docs/reference/functions/unaryMinus.md +6 -0
  196. package/docs/reference/functions/unaryPlus.md +6 -0
  197. package/docs/reference/functions/unequal.md +6 -0
  198. package/docs/reference/functions/usolve.md +6 -0
  199. package/docs/reference/functions/usolveAll.md +6 -0
  200. package/docs/reference/functions/variance.md +6 -0
  201. package/docs/reference/functions/xgcd.md +6 -0
  202. package/docs/reference/functions/xor.md +6 -0
  203. package/docs/reference/functions/zeros.md +6 -0
  204. package/docs/reference/functions.md +6 -1
  205. package/lib/browser/math.js +6 -6
  206. package/lib/browser/math.js.map +1 -1
  207. package/lib/cjs/core/create.js +4 -4
  208. package/lib/cjs/core/function/import.js +3 -3
  209. package/lib/cjs/core/function/typed.js +2 -2
  210. package/lib/cjs/defaultInstance.js +3 -3
  211. package/lib/cjs/entry/allFactoriesAny.js +1 -1
  212. package/lib/cjs/entry/allFactoriesNumber.js +1 -1
  213. package/lib/cjs/entry/configReadonly.js +1 -1
  214. package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +26 -0
  215. package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +26 -0
  216. package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +23 -0
  217. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
  218. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +32 -0
  219. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +6 -0
  220. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +65 -0
  221. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +29 -0
  222. package/lib/cjs/entry/dependenciesAny.generated.js +48 -0
  223. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +26 -0
  224. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +26 -0
  225. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
  226. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +32 -0
  227. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +6 -0
  228. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +65 -0
  229. package/lib/cjs/entry/dependenciesNumber.generated.js +32 -0
  230. package/lib/cjs/entry/impureFunctionsAny.generated.js +85 -33
  231. package/lib/cjs/entry/impureFunctionsNumber.generated.js +102 -64
  232. package/lib/cjs/entry/pureFunctionsAny.generated.js +68 -64
  233. package/lib/cjs/entry/pureFunctionsNumber.generated.js +51 -47
  234. package/lib/cjs/expression/Help.js +4 -0
  235. package/lib/cjs/expression/Parser.js +1 -1
  236. package/lib/cjs/expression/embeddedDocs/construction/fraction.js +3 -3
  237. package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
  238. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +250 -235
  239. package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +15 -0
  240. package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +16 -0
  241. package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  242. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +15 -0
  243. package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +15 -0
  244. package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +2 -2
  245. package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +15 -0
  246. package/lib/cjs/expression/node/FunctionNode.js +80 -61
  247. package/lib/cjs/expression/node/IndexNode.js +1 -1
  248. package/lib/cjs/expression/node/Node.js +3 -3
  249. package/lib/cjs/expression/node/ObjectNode.js +1 -1
  250. package/lib/cjs/expression/node/utils/access.js +1 -1
  251. package/lib/cjs/expression/node/utils/assign.js +1 -1
  252. package/lib/cjs/expression/parse.js +13 -13
  253. package/lib/cjs/expression/transform/cumsum.transform.js +57 -0
  254. package/lib/cjs/expression/transform/sum.transform.js +1 -1
  255. package/lib/cjs/factoriesAny.js +48 -0
  256. package/lib/cjs/factoriesNumber.js +33 -1
  257. package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
  258. package/lib/cjs/function/algebra/leafCount.js +66 -0
  259. package/lib/cjs/function/algebra/rationalize.js +24 -41
  260. package/lib/cjs/function/algebra/resolve.js +106 -0
  261. package/lib/cjs/function/algebra/simplify/simplifyConstant.js +5 -5
  262. package/lib/cjs/function/algebra/simplify/util.js +171 -33
  263. package/lib/cjs/function/algebra/simplify.js +562 -207
  264. package/lib/cjs/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +68 -44
  265. package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
  266. package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
  267. package/lib/cjs/function/algebra/symbolicEqual.js +88 -0
  268. package/lib/cjs/function/arithmetic/ceil.js +3 -3
  269. package/lib/cjs/function/arithmetic/floor.js +3 -3
  270. package/lib/cjs/function/arithmetic/invmod.js +1 -1
  271. package/lib/cjs/function/arithmetic/norm.js +1 -1
  272. package/lib/cjs/function/arithmetic/round.js +1 -1
  273. package/lib/cjs/function/matrix/eigs/complexEigs.js +13 -11
  274. package/lib/cjs/function/matrix/map.js +53 -15
  275. package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
  276. package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
  277. package/lib/cjs/function/matrix/subset.js +15 -5
  278. package/lib/cjs/function/probability/util/seededRNG.js +2 -2
  279. package/lib/cjs/function/relational/compareNatural.js +6 -6
  280. package/lib/cjs/function/statistics/cumsum.js +151 -0
  281. package/lib/cjs/function/statistics/sum.js +1 -1
  282. package/lib/cjs/function/string/format.js +1 -1
  283. package/lib/cjs/header.js +2 -2
  284. package/lib/cjs/plain/bignumber/index.js +1 -1
  285. package/lib/cjs/plain/number/combinations.js +18 -6
  286. package/lib/cjs/type/bignumber/BigNumber.js +2 -2
  287. package/lib/cjs/type/bignumber/function/bignumber.js +1 -1
  288. package/lib/cjs/type/boolean.js +2 -2
  289. package/lib/cjs/type/complex/Complex.js +14 -14
  290. package/lib/cjs/type/complex/function/complex.js +1 -1
  291. package/lib/cjs/type/fraction/Fraction.js +6 -6
  292. package/lib/cjs/type/fraction/function/fraction.js +21 -9
  293. package/lib/cjs/type/matrix/DenseMatrix.js +5 -5
  294. package/lib/cjs/type/matrix/SparseMatrix.js +2 -2
  295. package/lib/cjs/type/number.js +1 -1
  296. package/lib/cjs/type/string.js +2 -2
  297. package/lib/cjs/type/unit/Unit.js +8 -8
  298. package/lib/cjs/utils/collection.js +3 -27
  299. package/lib/cjs/utils/customs.js +2 -2
  300. package/lib/cjs/utils/emitter.js +1 -1
  301. package/lib/cjs/utils/function.js +2 -2
  302. package/lib/cjs/utils/is.js +6 -6
  303. package/lib/cjs/utils/latex.js +3 -3
  304. package/lib/cjs/utils/lruQueue.js +1 -1
  305. package/lib/cjs/utils/map.js +3 -3
  306. package/lib/cjs/utils/object.js +2 -2
  307. package/lib/cjs/utils/snapshot.js +7 -7
  308. package/lib/cjs/utils/string.js +2 -2
  309. package/lib/cjs/utils/switch.js +31 -0
  310. package/lib/cjs/version.js +1 -1
  311. package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
  312. package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
  313. package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
  314. package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
  315. package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +18 -0
  316. package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +4 -0
  317. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +40 -0
  318. package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
  319. package/lib/esm/entry/dependenciesAny.generated.js +6 -0
  320. package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
  321. package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
  322. package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
  323. package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +18 -0
  324. package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +4 -0
  325. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +40 -0
  326. package/lib/esm/entry/dependenciesNumber.generated.js +4 -0
  327. package/lib/esm/entry/impureFunctionsAny.generated.js +74 -26
  328. package/lib/esm/entry/impureFunctionsNumber.generated.js +89 -53
  329. package/lib/esm/entry/pureFunctionsAny.generated.js +54 -49
  330. package/lib/esm/entry/pureFunctionsNumber.generated.js +36 -31
  331. package/lib/esm/expression/Help.js +4 -0
  332. package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
  333. package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
  334. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +222 -212
  335. package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
  336. package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
  337. package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  338. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
  339. package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
  340. package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
  341. package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
  342. package/lib/esm/expression/node/FunctionNode.js +70 -53
  343. package/lib/esm/expression/transform/cumsum.transform.js +48 -0
  344. package/lib/esm/expression/transform/sum.transform.js +1 -1
  345. package/lib/esm/factoriesAny.js +6 -0
  346. package/lib/esm/factoriesNumber.js +4 -0
  347. package/lib/esm/function/algebra/leafCount.js +59 -0
  348. package/lib/esm/function/algebra/rationalize.js +24 -40
  349. package/lib/esm/function/algebra/resolve.js +95 -0
  350. package/lib/esm/function/algebra/simplify/simplifyConstant.js +3 -3
  351. package/lib/esm/function/algebra/simplify/util.js +170 -34
  352. package/lib/esm/function/algebra/simplify.js +557 -202
  353. package/lib/esm/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +61 -45
  354. package/lib/esm/function/algebra/symbolicEqual.js +80 -0
  355. package/lib/esm/function/matrix/eigs/complexEigs.js +8 -6
  356. package/lib/esm/function/matrix/map.js +53 -15
  357. package/lib/esm/function/matrix/subset.js +15 -5
  358. package/lib/esm/function/statistics/cumsum.js +139 -0
  359. package/lib/esm/function/statistics/sum.js +1 -1
  360. package/lib/esm/function/string/format.js +1 -1
  361. package/lib/esm/plain/number/combinations.js +18 -6
  362. package/lib/esm/type/fraction/function/fraction.js +20 -8
  363. package/lib/esm/utils/collection.js +1 -26
  364. package/lib/esm/utils/switch.js +24 -0
  365. package/lib/esm/version.js +1 -1
  366. package/package.json +15 -10
  367. package/types/index.d.ts +155 -13
  368. package/lib/cjs/function/algebra/simplify/resolve.js +0 -76
  369. package/lib/esm/function/algebra/simplify/resolve.js +0 -67
@@ -0,0 +1,50 @@
1
+ <!-- Note: This file is automatically generated from source code comments. Changes made in this file will be overridden. -->
2
+
3
+ # Function simplifyCore
4
+
5
+ simplifyCore() performs single pass simplification suitable for
6
+ applications requiring ultimate performance. In contrast, simplify()
7
+ extends simplifyCore() with additional passes to provide deeper
8
+ simplification.
9
+
10
+
11
+ ## Syntax
12
+
13
+ ```js
14
+ simplifyCore(expr)
15
+ ```
16
+
17
+ ### Parameters
18
+
19
+ Parameter | Type | Description
20
+ --------- | ---- | -----------
21
+ `node` | Node | The expression to be simplified
22
+ `options` | Object | Simplification options, as per simplify()
23
+
24
+ ### Returns
25
+
26
+ Type | Description
27
+ ---- | -----------
28
+ Node | Returns expression with basic simplifications applied
29
+
30
+
31
+ ### Throws
32
+
33
+ Type | Description
34
+ ---- | -----------
35
+
36
+
37
+ ## Examples
38
+
39
+ ```js
40
+ const f = math.parse('2 * 1 * x ^ (2 - 1)')
41
+ math.simpifyCore(f) // Node {2 * x}
42
+ math.simplify('2 * 1 * x ^ (2 - 1)', [math.simplifyCore]) // Node {2 * x}
43
+ ```
44
+
45
+
46
+ ## See also
47
+
48
+ [simplify](simplify.md),
49
+ [resolve](resolve.md),
50
+ [derivative](derivative.md)
@@ -26,6 +26,12 @@ Type | Description
26
26
  number &#124; BigNumber &#124; Complex &#124; Array &#124; Matrix | Sine of x
27
27
 
28
28
 
29
+ ### Throws
30
+
31
+ Type | Description
32
+ ---- | -----------
33
+
34
+
29
35
  ## Examples
30
36
 
31
37
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  number &#124; BigNumber &#124; Complex &#124; Array &#124; Matrix | Hyperbolic sine of x
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -24,6 +24,12 @@ Type | Description
24
24
  Array &#124; Matrix | A vector with size of `x`.
25
25
 
26
26
 
27
+ ### Throws
28
+
29
+ Type | Description
30
+ ---- | -----------
31
+
32
+
27
33
  ## Examples
28
34
 
29
35
  ```js
@@ -28,6 +28,12 @@ Type | Description
28
28
  Object | The lower triangular matrix, the upper triangular matrix and the permutation vectors.
29
29
 
30
30
 
31
+ ### Throws
32
+
33
+ Type | Description
34
+ ---- | -----------
35
+
36
+
31
37
  ## Examples
32
38
 
33
39
  ```js
@@ -32,6 +32,12 @@ Type | Description
32
32
  boolean &#124; Array &#124; Matrix | Returns true when the x is smaller than y, else returns false
33
33
 
34
34
 
35
+ ### Throws
36
+
37
+ Type | Description
38
+ ---- | -----------
39
+
40
+
35
41
  ## Examples
36
42
 
37
43
  ```js
@@ -32,6 +32,12 @@ Type | Description
32
32
  boolean &#124; Array &#124; Matrix | Returns true when the x is smaller than y, else returns false
33
33
 
34
34
 
35
+ ### Throws
36
+
37
+ Type | Description
38
+ ---- | -----------
39
+
40
+
35
41
  ## Examples
36
42
 
37
43
  ```js
@@ -26,6 +26,12 @@ Type | Description
26
26
  Matrix &#124; Array | Returns the sorted matrix.
27
27
 
28
28
 
29
+ ### Throws
30
+
31
+ Type | Description
32
+ ---- | -----------
33
+
34
+
29
35
  ## Examples
30
36
 
31
37
  ```js
@@ -26,6 +26,12 @@ Type | Description
26
26
  number &#124; BigNumber &#124; Complex &#124; Array &#124; Matrix &#124; Unit | Returns the square root of `x`
27
27
 
28
28
 
29
+ ### Throws
30
+
31
+ Type | Description
32
+ ---- | -----------
33
+
34
+
29
35
  ## Examples
30
36
 
31
37
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  Array &#124; Matrix | The principal square root of matrix `A`
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -25,6 +25,12 @@ Type | Description
25
25
  number &#124; BigNumber &#124; Fraction &#124; Complex &#124; Array &#124; Matrix &#124; Unit | Squared value
26
26
 
27
27
 
28
+ ### Throws
29
+
30
+ Type | Description
31
+ ---- | -----------
32
+
33
+
28
34
  ## Examples
29
35
 
30
36
  ```js
@@ -24,6 +24,12 @@ Type | Description
24
24
  Matrix &#124; Array | Squeezed matrix
25
25
 
26
26
 
27
+ ### Throws
28
+
29
+ Type | Description
30
+ ---- | -----------
31
+
32
+
27
33
  ## Examples
28
34
 
29
35
  ```js
@@ -44,6 +44,12 @@ Type | Description
44
44
  * | The standard deviation
45
45
 
46
46
 
47
+ ### Throws
48
+
49
+ Type | Description
50
+ ---- | -----------
51
+
52
+
47
53
  ## Examples
48
54
 
49
55
  ```js
@@ -30,6 +30,12 @@ Type | Description
30
30
  Number &#124; BigNumber | S(n,k)
31
31
 
32
32
 
33
+ ### Throws
34
+
35
+ Type | Description
36
+ ---- | -----------
37
+
38
+
33
39
  ## Examples
34
40
 
35
41
  ```js
@@ -17,7 +17,7 @@ math.subset(value, index, replacement [, defaultValue]) // replace a subset
17
17
  Parameter | Type | Description
18
18
  --------- | ---- | -----------
19
19
  `matrix` | Array &#124; Matrix &#124; string | An array, matrix, or string
20
- `index` | Index | An index containing ranges for each dimension
20
+ `index` | Index | For each dimension of the target, specifies an index or a list of indices to fetch or set. `subset` uses the cartesian product of the indices specified in each dimension.
21
21
  `replacement` | * | An array, matrix, or scalar. If provided, the subset is replaced with replacement. If not provided, the subset is returned
22
22
  `defaultValue` | * | Default value, filled in on new entries when the matrix is resized. If not provided, math.matrix elements will be left undefined. Default value: undefined.
23
23
 
@@ -28,6 +28,12 @@ Type | Description
28
28
  Array &#124; Matrix &#124; string | Either the retrieved subset or the updated matrix.
29
29
 
30
30
 
31
+ ### Throws
32
+
33
+ Type | Description
34
+ ---- | -----------
35
+
36
+
31
37
  ## Examples
32
38
 
33
39
  ```js
@@ -38,8 +44,16 @@ math.subset(d, math.index([0, 1], 1)) // returns [[2], [4]]
38
44
 
39
45
  // replace a subset
40
46
  const e = []
41
- const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
47
+ const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]] and e = [[5, 0, 6]]
42
48
  const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 6], [0, 7]]
49
+
50
+ // get submatrix using ranges
51
+ const M = [
52
+ [1,2,3],
53
+ [4,5,6],
54
+ [7,8,9]
55
+ ]
56
+ math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1,2,3],[4,5,6]]
43
57
  ```
44
58
 
45
59
 
@@ -26,6 +26,12 @@ Type | Description
26
26
  number &#124; BigNumber &#124; Fraction &#124; Complex &#124; Unit &#124; Array &#124; Matrix | Subtraction of `x` and `y`
27
27
 
28
28
 
29
+ ### Throws
30
+
31
+ Type | Description
32
+ ---- | -----------
33
+
34
+
29
35
  ## Examples
30
36
 
31
37
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  * | The sum of all values
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -44,4 +50,5 @@ math.sum([[2, 5], [4, 3], [1, 7]]) // returns 22
44
50
  [max](max.md),
45
51
  [prod](prod.md),
46
52
  [std](std.md),
47
- [variance](variance.md)
53
+ [variance](variance.md),
54
+ [cumsum](cumsum.md)
@@ -0,0 +1,62 @@
1
+ <!-- Note: This file is automatically generated from source code comments. Changes made in this file will be overridden. -->
2
+
3
+ # Function symbolicEqual
4
+
5
+ Attempts to determine if two expressions are symbolically equal, i.e.
6
+ one is the result of valid algebraic manipulations on the other.
7
+ Currently, this simply checks if the difference of the two expressions
8
+ simplifies down to 0. So there are two important caveats:
9
+ 1. whether two expressions are symbolically equal depends on the
10
+ manipulations allowed. Therefore, this function takes an optional
11
+ third argument, which are the options that control the behavior
12
+ as documented for the `simplify()` function.
13
+ 2. it is in general intractable to find the minimal simplification of
14
+ an arbitrarily complicated expression. So while a `true` value
15
+ of `symbolicEqual` ensures that the two expressions can be manipulated
16
+ to match each other, a `false` value does not absolutely rule this out.
17
+
18
+
19
+ ## Syntax
20
+
21
+ ```js
22
+ symbolicEqual(expr1, expr2)
23
+ symbolicEqual(expr1, expr2, options)
24
+ ```
25
+
26
+ ### Parameters
27
+
28
+ Parameter | Type | Description
29
+ --------- | ---- | -----------
30
+ `expr1` | Node &#124; string | The first expression to compare
31
+ `expr2` | Node &#124; string | The second expression to compare
32
+ `options` | Object | Optional option object, passed to simplify
33
+
34
+ ### Returns
35
+
36
+ Type | Description
37
+ ---- | -----------
38
+ boolean | Returns true if a valid manipulation making the expressions equal is found.
39
+
40
+
41
+ ### Throws
42
+
43
+ Type | Description
44
+ ---- | -----------
45
+
46
+
47
+ ## Examples
48
+
49
+ ```js
50
+ symbolicEqual('x*y', 'y*x') // true
51
+ symbolicEqual('x*y', 'y*x', {context: {multiply: {commutative: false}}})
52
+ //false
53
+ symbolicEqual('x/y', '(y*x^(-1))^(-1)') // true
54
+ symbolicEqual('abs(x)','x') // false
55
+ symbolicEqual('abs(x)','x', simplify.positiveContext) // true
56
+ ```
57
+
58
+
59
+ ## See also
60
+
61
+ [simplify](simplify.md),
62
+ [evaluate](evaluate.md)
@@ -26,6 +26,12 @@ Type | Description
26
26
  number &#124; BigNumber &#124; Complex &#124; Array &#124; Matrix | Tangent of x
27
27
 
28
28
 
29
+ ### Throws
30
+
31
+ Type | Description
32
+ ---- | -----------
33
+
34
+
29
35
  ## Examples
30
36
 
31
37
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  number &#124; BigNumber &#124; Complex &#124; Array &#124; Matrix | Hyperbolic tangent of x
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  Unit &#124; Array &#124; Matrix | value with changed, fixed unit.
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -25,6 +25,12 @@ Type | Description
25
25
  number | The trace of `x`
26
26
 
27
27
 
28
+ ### Throws
29
+
30
+ Type | Description
31
+ ---- | -----------
32
+
33
+
28
34
  ## Examples
29
35
 
30
36
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  Array &#124; Matrix | The transposed matrix
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -63,6 +63,12 @@ Type | Description
63
63
  string | Returns the name of the type. Primitive types are lower case, non-primitive types are upper-camel-case. For example 'number', 'string', 'Array', 'Date'.
64
64
 
65
65
 
66
+ ### Throws
67
+
68
+ Type | Description
69
+ ---- | -----------
70
+
71
+
66
72
  ## Examples
67
73
 
68
74
  ```js
@@ -28,6 +28,12 @@ Type | Description
28
28
  number &#124; BigNumber &#124; Fraction &#124; Complex &#124; Unit &#124; Array &#124; Matrix | Returns the value with inverted sign.
29
29
 
30
30
 
31
+ ### Throws
32
+
33
+ Type | Description
34
+ ---- | -----------
35
+
36
+
31
37
  ## Examples
32
38
 
33
39
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  number &#124; BigNumber &#124; Fraction &#124; Complex &#124; Unit &#124; Array &#124; Matrix | Returns the input value when numeric, converts to a number when input is non-numeric.
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -37,6 +37,12 @@ Type | Description
37
37
  boolean &#124; Array &#124; Matrix | Returns true when the compared values are unequal, else returns false
38
38
 
39
39
 
40
+ ### Throws
41
+
42
+ Type | Description
43
+ ---- | -----------
44
+
45
+
40
46
  ## Examples
41
47
 
42
48
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  DenseMatrix &#124; Array | A column vector with the linear system solution (x)
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -27,6 +27,12 @@ Type | Description
27
27
  DenseMatrix[] &#124; Array[] | An array of affine-independent column vectors (x) that solve the linear system
28
28
 
29
29
 
30
+ ### Throws
31
+
32
+ Type | Description
33
+ ---- | -----------
34
+
35
+
30
36
  ## Examples
31
37
 
32
38
  ```js
@@ -46,6 +46,12 @@ Type | Description
46
46
  * | The variance
47
47
 
48
48
 
49
+ ### Throws
50
+
51
+ Type | Description
52
+ ---- | -----------
53
+
54
+
49
55
  ## Examples
50
56
 
51
57
  ```js
@@ -26,6 +26,12 @@ Type | Description
26
26
  Array | Returns an array containing 3 integers `[div, m, n]` where `div = gcd(a, b)` and `a*m + b*n = div`
27
27
 
28
28
 
29
+ ### Throws
30
+
31
+ Type | Description
32
+ ---- | -----------
33
+
34
+
29
35
  ## Examples
30
36
 
31
37
  ```js
@@ -26,6 +26,12 @@ Type | Description
26
26
  boolean &#124; Array &#124; Matrix | Returns true when one and only one input is defined with a nonzero/nonempty value.
27
27
 
28
28
 
29
+ ### Throws
30
+
31
+ Type | Description
32
+ ---- | -----------
33
+
34
+
29
35
  ## Examples
30
36
 
31
37
  ```js
@@ -31,6 +31,12 @@ Type | Description
31
31
  Array &#124; Matrix | A matrix filled with zeros
32
32
 
33
33
 
34
+ ### Throws
35
+
36
+ Type | Description
37
+ ---- | -----------
38
+
39
+
34
40
  ## Examples
35
41
 
36
42
  ```js
@@ -14,14 +14,18 @@ Function | Description
14
14
  Function | Description
15
15
  ---- | -----------
16
16
  [derivative(expr,&nbsp;variable)](functions/derivative.md) | Takes the derivative of an expression expressed in parser Nodes.
17
+ [leafCount(expr)](functions/leafCount.md) | Gives the number of "leaf nodes" in the parse tree of the given expression A leaf node is one that has no subexpressions, essentially either a symbol or a constant.
17
18
  [math.lsolve(L,&nbsp;b)](functions/lsolve.md) | Finds one solution of a linear equation system by forwards substitution.
18
19
  [math.lsolveAll(L,&nbsp;b)](functions/lsolveAll.md) | Finds all solutions of a linear equation system by forwards substitution.
19
20
  [math.lup(A)](functions/lup.md) | Calculate the Matrix LU decomposition with partial pivoting.
20
21
  [math.lusolve(A,&nbsp;b)](functions/lusolve.md) | Solves the linear system `A * x = b` where `A` is an [n x n] matrix and `b` is a [n] column vector.
21
22
  [math.qr(A)](functions/qr.md) | Calculate the Matrix QR decomposition.
22
23
  [rationalize(expr)](functions/rationalize.md) | Transform a rationalizable expression in a rational fraction.
24
+ [resolve(expr,&nbsp;scope)](functions/resolve.md) | resolve(expr, scope) replaces variable nodes with their scoped values.
23
25
  [simplify(expr)](functions/simplify.md) | Simplify an expression tree.
26
+ [simplifyCore(expr)](functions/simplifyCore.md) | simplifyCore() performs single pass simplification suitable for applications requiring ultimate performance.
24
27
  [math.slu(A,&nbsp;order,&nbsp;threshold)](functions/slu.md) | Calculate the Sparse Matrix LU decomposition with full pivoting.
28
+ [symbolicEqual(expr1,&nbsp;expr2)](functions/symbolicEqual.md) | Attempts to determine if two expressions are symbolically equal, i.
25
29
  [math.usolve(U,&nbsp;b)](functions/usolve.md) | Finds one solution of a linear equation system by backward substitution.
26
30
  [math.usolveAll(U,&nbsp;b)](functions/usolveAll.md) | Finds all solutions of a linear equation system by backward substitution.
27
31
 
@@ -134,7 +138,7 @@ Function | Description
134
138
  [math.identity(n)](functions/identity.md) | Create a 2-dimensional identity matrix with size m x n or n x n.
135
139
  [math.inv(x)](functions/inv.md) | Calculate the inverse of a square matrix.
136
140
  [math.kron(x,&nbsp;y)](functions/kron.md) | Calculates the kronecker product of 2 matrices or vectors.
137
- [math.map(x,&nbsp;callback)](functions/map.md) | Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.
141
+ [math.map(x,&nbsp;callback)](functions/map.md) | Create a new matrix or array with the results of a callback function executed on each entry of a given matrix/array.
138
142
  [math.matrixFromColumns(...arr)](functions/matrixFromColumns.md) | Create a dense matrix from vectors as individual columns.
139
143
  [math.matrixFromFunction(size,&nbsp;fn)](functions/matrixFromFunction.md) | Create a matrix by evaluating a generating function at each index.
140
144
  [math.matrixFromRows(...arr)](functions/matrixFromRows.md) | Create a dense matrix from vectors as individual rows.
@@ -211,6 +215,7 @@ Function | Description
211
215
 
212
216
  Function | Description
213
217
  ---- | -----------
218
+ [math.cumsum(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/cumsum.md) | Compute the cumulative sum of a matrix or a list with values.
214
219
  [math.mad(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/mad.md) | Compute the median absolute deviation of a matrix or a list with values.
215
220
  [math.max(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/max.md) | Compute the maximum value of a matrix or a list with values.
216
221
  [math.mean(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/mean.md) | Compute the mean value of matrix or a list with values.