mathjs 9.3.2 → 9.4.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 (410) hide show
  1. package/HISTORY.md +22 -0
  2. package/README.md +1 -0
  3. package/bin/cli.js +11 -11
  4. package/docs/expressions/parsing.md +21 -4
  5. package/docs/reference/functions/complex.md +5 -49
  6. package/docs/reference/functions/eigs.md +12 -12
  7. package/docs/reference/functions/flatten.md +1 -0
  8. package/docs/reference/functions/matrixFromColumns.md +1 -1
  9. package/docs/reference/functions/matrixFromFunction.md +12 -0
  10. package/docs/reference/functions/matrixFromRows.md +1 -1
  11. package/docs/reference/functions.md +4 -1
  12. package/examples/advanced/custom_scope_objects.js +115 -0
  13. package/lib/browser/math.js +10 -10
  14. package/lib/browser/math.js.map +1 -1
  15. package/lib/cjs/core/create.js +8 -7
  16. package/lib/cjs/core/function/import.js +9 -7
  17. package/lib/cjs/core/function/typed.js +6 -1
  18. package/lib/cjs/defaultInstance.js +3 -3
  19. package/lib/cjs/entry/allFactoriesAny.js +3 -3
  20. package/lib/cjs/entry/allFactoriesNumber.js +3 -3
  21. package/lib/cjs/entry/configReadonly.js +5 -4
  22. package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +51 -0
  23. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +29 -0
  24. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +26 -0
  25. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +29 -0
  26. package/lib/cjs/entry/dependenciesAny.generated.js +24 -0
  27. package/lib/cjs/entry/impureFunctionsAny.generated.js +22 -17
  28. package/lib/cjs/entry/impureFunctionsNumber.generated.js +11 -9
  29. package/lib/cjs/entry/pureFunctionsAny.generated.js +78 -41
  30. package/lib/cjs/expression/Parser.js +22 -15
  31. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +9 -0
  32. package/lib/cjs/expression/embeddedDocs/function/matrix/column.js +1 -1
  33. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromColumns.js +15 -0
  34. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromFunction.js +15 -0
  35. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromRows.js +15 -0
  36. package/lib/cjs/expression/embeddedDocs/function/matrix/row.js +1 -1
  37. package/lib/cjs/expression/function/evaluate.js +6 -4
  38. package/lib/cjs/expression/keywords.js +1 -3
  39. package/lib/cjs/expression/node/AccessorNode.js +1 -0
  40. package/lib/cjs/expression/node/AssignmentNode.js +6 -3
  41. package/lib/cjs/expression/node/FunctionAssignmentNode.js +2 -4
  42. package/lib/cjs/expression/node/FunctionNode.js +76 -46
  43. package/lib/cjs/expression/node/IndexNode.js +5 -13
  44. package/lib/cjs/expression/node/Node.js +15 -9
  45. package/lib/cjs/expression/node/ObjectNode.js +5 -3
  46. package/lib/cjs/expression/node/SymbolNode.js +2 -2
  47. package/lib/cjs/expression/node/utils/access.js +5 -3
  48. package/lib/cjs/expression/node/utils/assign.js +5 -3
  49. package/lib/cjs/expression/parse.js +10 -14
  50. package/lib/cjs/expression/transform/utils/compileInlineExpression.js +5 -3
  51. package/lib/cjs/factoriesAny.js +24 -0
  52. package/lib/cjs/function/algebra/decomposition/qr.js +5 -3
  53. package/lib/cjs/function/algebra/simplify/resolve.js +7 -1
  54. package/lib/cjs/function/algebra/simplify.js +20 -14
  55. package/lib/cjs/function/algebra/solver/lsolveAll.js +6 -16
  56. package/lib/cjs/function/algebra/solver/usolveAll.js +6 -16
  57. package/lib/cjs/function/arithmetic/ceil.js +6 -16
  58. package/lib/cjs/function/arithmetic/floor.js +6 -16
  59. package/lib/cjs/function/arithmetic/norm.js +2 -2
  60. package/lib/cjs/function/arithmetic/pow.js +9 -7
  61. package/lib/cjs/function/arithmetic/round.js +7 -5
  62. package/lib/cjs/function/complex/im.js +3 -0
  63. package/lib/cjs/function/complex/re.js +3 -0
  64. package/lib/cjs/function/matrix/eigs/complexEigs.js +631 -0
  65. package/lib/cjs/function/matrix/eigs/realSymetric.js +341 -0
  66. package/lib/cjs/function/matrix/eigs.js +188 -334
  67. package/lib/cjs/function/matrix/flatten.js +1 -0
  68. package/lib/cjs/function/matrix/matrixFromColumns.js +118 -0
  69. package/lib/cjs/function/matrix/matrixFromFunction.js +85 -0
  70. package/lib/cjs/function/matrix/matrixFromRows.js +108 -0
  71. package/lib/cjs/function/probability/pickRandom.js +1 -1
  72. package/lib/cjs/function/probability/util/seededRNG.js +2 -2
  73. package/lib/cjs/function/relational/compareNatural.js +2 -2
  74. package/lib/cjs/header.js +2 -2
  75. package/lib/cjs/plain/bignumber/index.js +2 -2
  76. package/lib/cjs/type/bignumber/BigNumber.js +2 -2
  77. package/lib/cjs/type/complex/Complex.js +5 -5
  78. package/lib/cjs/type/fraction/Fraction.js +2 -2
  79. package/lib/cjs/type/matrix/DenseMatrix.js +138 -0
  80. package/lib/cjs/type/matrix/Matrix.js +10 -0
  81. package/lib/cjs/type/matrix/SparseMatrix.js +77 -3
  82. package/lib/cjs/type/matrix/function/matrix.js +2 -1
  83. package/lib/cjs/type/unit/Unit.js +15 -13
  84. package/lib/cjs/utils/array.js +1 -1
  85. package/lib/cjs/utils/customs.js +18 -4
  86. package/lib/cjs/utils/emitter.js +2 -2
  87. package/lib/cjs/utils/function.js +6 -2
  88. package/lib/cjs/utils/is.js +7 -5
  89. package/lib/cjs/utils/latex.js +2 -2
  90. package/lib/cjs/utils/map.js +197 -0
  91. package/lib/cjs/utils/object.js +6 -5
  92. package/lib/cjs/utils/scope.js +33 -0
  93. package/lib/cjs/utils/snapshot.js +17 -16
  94. package/lib/cjs/utils/string.js +6 -4
  95. package/lib/cjs/version.js +1 -1
  96. package/lib/esm/constants.js +15 -15
  97. package/lib/esm/core/create.js +1 -2
  98. package/lib/esm/core/function/typed.js +5 -1
  99. package/lib/esm/entry/configReadonly.js +1 -2
  100. package/lib/esm/entry/dependenciesAny/dependenciesEigs.generated.js +34 -0
  101. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +16 -0
  102. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +14 -0
  103. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +16 -0
  104. package/lib/esm/entry/dependenciesAny.generated.js +3 -0
  105. package/lib/esm/entry/impureFunctionsAny.generated.js +13 -10
  106. package/lib/esm/entry/impureFunctionsNumber.generated.js +1 -1
  107. package/lib/esm/entry/pureFunctionsAny.generated.js +66 -32
  108. package/lib/esm/expression/Help.js +1 -1
  109. package/lib/esm/expression/Parser.js +23 -15
  110. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +6 -0
  111. package/lib/esm/expression/embeddedDocs/function/matrix/column.js +1 -1
  112. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromColumns.js +8 -0
  113. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromFunction.js +8 -0
  114. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromRows.js +8 -0
  115. package/lib/esm/expression/embeddedDocs/function/matrix/row.js +1 -1
  116. package/lib/esm/expression/function/compile.js +1 -1
  117. package/lib/esm/expression/function/evaluate.js +6 -5
  118. package/lib/esm/expression/function/help.js +1 -1
  119. package/lib/esm/expression/function/parser.js +1 -1
  120. package/lib/esm/expression/keywords.js +1 -3
  121. package/lib/esm/expression/node/AccessorNode.js +2 -1
  122. package/lib/esm/expression/node/ArrayNode.js +1 -1
  123. package/lib/esm/expression/node/AssignmentNode.js +7 -4
  124. package/lib/esm/expression/node/BlockNode.js +1 -1
  125. package/lib/esm/expression/node/ConditionalNode.js +1 -1
  126. package/lib/esm/expression/node/ConstantNode.js +1 -1
  127. package/lib/esm/expression/node/FunctionAssignmentNode.js +3 -4
  128. package/lib/esm/expression/node/FunctionNode.js +57 -39
  129. package/lib/esm/expression/node/IndexNode.js +1 -1
  130. package/lib/esm/expression/node/Node.js +7 -8
  131. package/lib/esm/expression/node/ObjectNode.js +1 -1
  132. package/lib/esm/expression/node/OperatorNode.js +1 -1
  133. package/lib/esm/expression/node/ParenthesisNode.js +1 -1
  134. package/lib/esm/expression/node/RangeNode.js +1 -1
  135. package/lib/esm/expression/node/RelationalNode.js +1 -1
  136. package/lib/esm/expression/node/SymbolNode.js +3 -3
  137. package/lib/esm/expression/parse.js +2 -3
  138. package/lib/esm/expression/transform/apply.transform.js +1 -1
  139. package/lib/esm/expression/transform/column.transform.js +1 -1
  140. package/lib/esm/expression/transform/concat.transform.js +1 -1
  141. package/lib/esm/expression/transform/diff.transform.js +1 -1
  142. package/lib/esm/expression/transform/filter.transform.js +1 -1
  143. package/lib/esm/expression/transform/forEach.transform.js +1 -1
  144. package/lib/esm/expression/transform/index.transform.js +1 -1
  145. package/lib/esm/expression/transform/map.transform.js +1 -1
  146. package/lib/esm/expression/transform/max.transform.js +1 -1
  147. package/lib/esm/expression/transform/mean.transform.js +1 -1
  148. package/lib/esm/expression/transform/min.transform.js +1 -1
  149. package/lib/esm/expression/transform/range.transform.js +1 -1
  150. package/lib/esm/expression/transform/row.transform.js +1 -1
  151. package/lib/esm/expression/transform/std.transform.js +1 -1
  152. package/lib/esm/expression/transform/subset.transform.js +1 -1
  153. package/lib/esm/expression/transform/sum.transform.js +1 -1
  154. package/lib/esm/expression/transform/utils/compileInlineExpression.js +4 -3
  155. package/lib/esm/expression/transform/variance.transform.js +1 -1
  156. package/lib/esm/factoriesAny.js +3 -0
  157. package/lib/esm/factoriesNumber.js +1 -1
  158. package/lib/esm/function/algebra/decomposition/lup.js +1 -1
  159. package/lib/esm/function/algebra/decomposition/qr.js +2 -3
  160. package/lib/esm/function/algebra/decomposition/slu.js +1 -1
  161. package/lib/esm/function/algebra/derivative.js +1 -1
  162. package/lib/esm/function/algebra/rationalize.js +1 -1
  163. package/lib/esm/function/algebra/simplify/resolve.js +7 -2
  164. package/lib/esm/function/algebra/simplify/simplifyConstant.js +1 -1
  165. package/lib/esm/function/algebra/simplify/simplifyCore.js +1 -1
  166. package/lib/esm/function/algebra/simplify/util.js +1 -1
  167. package/lib/esm/function/algebra/simplify.js +16 -12
  168. package/lib/esm/function/algebra/solver/lsolve.js +1 -1
  169. package/lib/esm/function/algebra/solver/lsolveAll.js +1 -1
  170. package/lib/esm/function/algebra/solver/lusolve.js +1 -1
  171. package/lib/esm/function/algebra/solver/usolve.js +1 -1
  172. package/lib/esm/function/algebra/solver/usolveAll.js +1 -1
  173. package/lib/esm/function/algebra/sparse/csAmd.js +1 -1
  174. package/lib/esm/function/algebra/sparse/csChol.js +1 -1
  175. package/lib/esm/function/algebra/sparse/csCounts.js +1 -1
  176. package/lib/esm/function/algebra/sparse/csLu.js +1 -1
  177. package/lib/esm/function/algebra/sparse/csSpsolve.js +1 -1
  178. package/lib/esm/function/algebra/sparse/csSqr.js +1 -1
  179. package/lib/esm/function/algebra/sparse/csSymperm.js +1 -1
  180. package/lib/esm/function/arithmetic/abs.js +1 -1
  181. package/lib/esm/function/arithmetic/add.js +1 -1
  182. package/lib/esm/function/arithmetic/addScalar.js +1 -1
  183. package/lib/esm/function/arithmetic/cbrt.js +1 -1
  184. package/lib/esm/function/arithmetic/ceil.js +1 -1
  185. package/lib/esm/function/arithmetic/cube.js +1 -1
  186. package/lib/esm/function/arithmetic/divide.js +1 -1
  187. package/lib/esm/function/arithmetic/divideScalar.js +1 -1
  188. package/lib/esm/function/arithmetic/dotDivide.js +1 -1
  189. package/lib/esm/function/arithmetic/dotMultiply.js +1 -1
  190. package/lib/esm/function/arithmetic/dotPow.js +1 -1
  191. package/lib/esm/function/arithmetic/exp.js +1 -1
  192. package/lib/esm/function/arithmetic/expm1.js +1 -1
  193. package/lib/esm/function/arithmetic/fix.js +1 -1
  194. package/lib/esm/function/arithmetic/floor.js +1 -1
  195. package/lib/esm/function/arithmetic/gcd.js +1 -1
  196. package/lib/esm/function/arithmetic/hypot.js +1 -1
  197. package/lib/esm/function/arithmetic/lcm.js +1 -1
  198. package/lib/esm/function/arithmetic/log.js +1 -1
  199. package/lib/esm/function/arithmetic/log10.js +1 -1
  200. package/lib/esm/function/arithmetic/log1p.js +1 -1
  201. package/lib/esm/function/arithmetic/log2.js +1 -1
  202. package/lib/esm/function/arithmetic/mod.js +1 -1
  203. package/lib/esm/function/arithmetic/multiply.js +1 -1
  204. package/lib/esm/function/arithmetic/multiplyScalar.js +1 -1
  205. package/lib/esm/function/arithmetic/norm.js +3 -3
  206. package/lib/esm/function/arithmetic/nthRoot.js +2 -2
  207. package/lib/esm/function/arithmetic/nthRoots.js +1 -1
  208. package/lib/esm/function/arithmetic/pow.js +10 -8
  209. package/lib/esm/function/arithmetic/round.js +6 -6
  210. package/lib/esm/function/arithmetic/sign.js +1 -1
  211. package/lib/esm/function/arithmetic/sqrt.js +1 -1
  212. package/lib/esm/function/arithmetic/square.js +1 -1
  213. package/lib/esm/function/arithmetic/subtract.js +1 -1
  214. package/lib/esm/function/arithmetic/unaryMinus.js +1 -1
  215. package/lib/esm/function/arithmetic/unaryPlus.js +1 -1
  216. package/lib/esm/function/arithmetic/xgcd.js +1 -1
  217. package/lib/esm/function/bitwise/bitAnd.js +1 -1
  218. package/lib/esm/function/bitwise/bitNot.js +1 -1
  219. package/lib/esm/function/bitwise/bitOr.js +1 -1
  220. package/lib/esm/function/bitwise/bitXor.js +1 -1
  221. package/lib/esm/function/bitwise/leftShift.js +1 -1
  222. package/lib/esm/function/bitwise/rightArithShift.js +1 -1
  223. package/lib/esm/function/bitwise/rightLogShift.js +1 -1
  224. package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
  225. package/lib/esm/function/combinatorics/catalan.js +1 -1
  226. package/lib/esm/function/combinatorics/composition.js +1 -1
  227. package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
  228. package/lib/esm/function/complex/arg.js +1 -1
  229. package/lib/esm/function/complex/conj.js +1 -1
  230. package/lib/esm/function/complex/im.js +4 -1
  231. package/lib/esm/function/complex/re.js +4 -1
  232. package/lib/esm/function/geometry/distance.js +1 -1
  233. package/lib/esm/function/geometry/intersect.js +1 -1
  234. package/lib/esm/function/logical/and.js +1 -1
  235. package/lib/esm/function/logical/not.js +1 -1
  236. package/lib/esm/function/logical/or.js +1 -1
  237. package/lib/esm/function/logical/xor.js +1 -1
  238. package/lib/esm/function/matrix/apply.js +1 -1
  239. package/lib/esm/function/matrix/column.js +1 -1
  240. package/lib/esm/function/matrix/concat.js +1 -1
  241. package/lib/esm/function/matrix/count.js +1 -1
  242. package/lib/esm/function/matrix/cross.js +1 -1
  243. package/lib/esm/function/matrix/ctranspose.js +1 -1
  244. package/lib/esm/function/matrix/det.js +1 -1
  245. package/lib/esm/function/matrix/diag.js +1 -1
  246. package/lib/esm/function/matrix/diff.js +1 -1
  247. package/lib/esm/function/matrix/dot.js +1 -1
  248. package/lib/esm/function/matrix/eigs/complexEigs.js +586 -0
  249. package/lib/esm/function/matrix/eigs/realSymetric.js +335 -0
  250. package/lib/esm/function/matrix/eigs.js +187 -335
  251. package/lib/esm/function/matrix/expm.js +1 -1
  252. package/lib/esm/function/matrix/filter.js +1 -1
  253. package/lib/esm/function/matrix/flatten.js +2 -1
  254. package/lib/esm/function/matrix/forEach.js +1 -1
  255. package/lib/esm/function/matrix/getMatrixDataType.js +1 -1
  256. package/lib/esm/function/matrix/identity.js +1 -1
  257. package/lib/esm/function/matrix/inv.js +1 -1
  258. package/lib/esm/function/matrix/kron.js +1 -1
  259. package/lib/esm/function/matrix/map.js +1 -1
  260. package/lib/esm/function/matrix/matrixFromColumns.js +93 -0
  261. package/lib/esm/function/matrix/matrixFromFunction.js +78 -0
  262. package/lib/esm/function/matrix/matrixFromRows.js +83 -0
  263. package/lib/esm/function/matrix/ones.js +1 -1
  264. package/lib/esm/function/matrix/partitionSelect.js +1 -1
  265. package/lib/esm/function/matrix/range.js +1 -1
  266. package/lib/esm/function/matrix/reshape.js +1 -1
  267. package/lib/esm/function/matrix/resize.js +1 -1
  268. package/lib/esm/function/matrix/rotate.js +1 -1
  269. package/lib/esm/function/matrix/rotationMatrix.js +1 -1
  270. package/lib/esm/function/matrix/row.js +1 -1
  271. package/lib/esm/function/matrix/size.js +1 -1
  272. package/lib/esm/function/matrix/sort.js +1 -1
  273. package/lib/esm/function/matrix/sqrtm.js +1 -1
  274. package/lib/esm/function/matrix/squeeze.js +1 -1
  275. package/lib/esm/function/matrix/subset.js +1 -1
  276. package/lib/esm/function/matrix/trace.js +1 -1
  277. package/lib/esm/function/matrix/transpose.js +1 -1
  278. package/lib/esm/function/matrix/zeros.js +1 -1
  279. package/lib/esm/function/probability/combinations.js +1 -1
  280. package/lib/esm/function/probability/combinationsWithRep.js +1 -1
  281. package/lib/esm/function/probability/factorial.js +1 -1
  282. package/lib/esm/function/probability/gamma.js +1 -1
  283. package/lib/esm/function/probability/kldivergence.js +1 -1
  284. package/lib/esm/function/probability/multinomial.js +1 -1
  285. package/lib/esm/function/probability/permutations.js +1 -1
  286. package/lib/esm/function/probability/pickRandom.js +2 -2
  287. package/lib/esm/function/probability/random.js +2 -2
  288. package/lib/esm/function/probability/randomInt.js +1 -1
  289. package/lib/esm/function/relational/compare.js +2 -2
  290. package/lib/esm/function/relational/compareNatural.js +1 -1
  291. package/lib/esm/function/relational/compareText.js +2 -2
  292. package/lib/esm/function/relational/deepEqual.js +1 -1
  293. package/lib/esm/function/relational/equal.js +2 -2
  294. package/lib/esm/function/relational/equalScalar.js +2 -2
  295. package/lib/esm/function/relational/equalText.js +1 -1
  296. package/lib/esm/function/relational/larger.js +2 -2
  297. package/lib/esm/function/relational/largerEq.js +2 -2
  298. package/lib/esm/function/relational/smaller.js +2 -2
  299. package/lib/esm/function/relational/smallerEq.js +2 -2
  300. package/lib/esm/function/relational/unequal.js +2 -2
  301. package/lib/esm/function/set/setCartesian.js +1 -1
  302. package/lib/esm/function/set/setDifference.js +1 -1
  303. package/lib/esm/function/set/setDistinct.js +1 -1
  304. package/lib/esm/function/set/setIntersect.js +1 -1
  305. package/lib/esm/function/set/setIsSubset.js +1 -1
  306. package/lib/esm/function/set/setMultiplicity.js +1 -1
  307. package/lib/esm/function/set/setPowerset.js +1 -1
  308. package/lib/esm/function/set/setSize.js +1 -1
  309. package/lib/esm/function/set/setSymDifference.js +1 -1
  310. package/lib/esm/function/set/setUnion.js +1 -1
  311. package/lib/esm/function/special/erf.js +1 -1
  312. package/lib/esm/function/statistics/mad.js +1 -1
  313. package/lib/esm/function/statistics/max.js +1 -1
  314. package/lib/esm/function/statistics/mean.js +1 -1
  315. package/lib/esm/function/statistics/median.js +1 -1
  316. package/lib/esm/function/statistics/min.js +1 -1
  317. package/lib/esm/function/statistics/mode.js +1 -1
  318. package/lib/esm/function/statistics/prod.js +1 -1
  319. package/lib/esm/function/statistics/quantileSeq.js +1 -1
  320. package/lib/esm/function/statistics/std.js +1 -1
  321. package/lib/esm/function/statistics/sum.js +1 -1
  322. package/lib/esm/function/statistics/variance.js +1 -1
  323. package/lib/esm/function/string/bin.js +1 -1
  324. package/lib/esm/function/string/format.js +1 -1
  325. package/lib/esm/function/string/hex.js +1 -1
  326. package/lib/esm/function/string/oct.js +1 -1
  327. package/lib/esm/function/string/print.js +1 -1
  328. package/lib/esm/function/trigonometry/acos.js +1 -1
  329. package/lib/esm/function/trigonometry/acosh.js +1 -1
  330. package/lib/esm/function/trigonometry/acot.js +1 -1
  331. package/lib/esm/function/trigonometry/acoth.js +1 -1
  332. package/lib/esm/function/trigonometry/acsc.js +1 -1
  333. package/lib/esm/function/trigonometry/acsch.js +1 -1
  334. package/lib/esm/function/trigonometry/asec.js +1 -1
  335. package/lib/esm/function/trigonometry/asech.js +1 -1
  336. package/lib/esm/function/trigonometry/asin.js +1 -1
  337. package/lib/esm/function/trigonometry/asinh.js +1 -1
  338. package/lib/esm/function/trigonometry/atan.js +1 -1
  339. package/lib/esm/function/trigonometry/atan2.js +1 -1
  340. package/lib/esm/function/trigonometry/atanh.js +1 -1
  341. package/lib/esm/function/trigonometry/cos.js +1 -1
  342. package/lib/esm/function/trigonometry/cosh.js +1 -1
  343. package/lib/esm/function/trigonometry/cot.js +1 -1
  344. package/lib/esm/function/trigonometry/coth.js +1 -1
  345. package/lib/esm/function/trigonometry/csc.js +1 -1
  346. package/lib/esm/function/trigonometry/csch.js +1 -1
  347. package/lib/esm/function/trigonometry/sec.js +1 -1
  348. package/lib/esm/function/trigonometry/sech.js +1 -1
  349. package/lib/esm/function/trigonometry/sin.js +1 -1
  350. package/lib/esm/function/trigonometry/sinh.js +1 -1
  351. package/lib/esm/function/trigonometry/tan.js +1 -1
  352. package/lib/esm/function/trigonometry/tanh.js +1 -1
  353. package/lib/esm/function/unit/to.js +1 -1
  354. package/lib/esm/function/utils/clone.js +1 -1
  355. package/lib/esm/function/utils/hasNumericValue.js +1 -1
  356. package/lib/esm/function/utils/isInteger.js +1 -1
  357. package/lib/esm/function/utils/isNaN.js +1 -1
  358. package/lib/esm/function/utils/isNegative.js +1 -1
  359. package/lib/esm/function/utils/isNumeric.js +1 -1
  360. package/lib/esm/function/utils/isPositive.js +1 -1
  361. package/lib/esm/function/utils/isPrime.js +1 -1
  362. package/lib/esm/function/utils/isZero.js +1 -1
  363. package/lib/esm/function/utils/numeric.js +1 -1
  364. package/lib/esm/function/utils/typeOf.js +1 -1
  365. package/lib/esm/json/reviver.js +1 -1
  366. package/lib/esm/type/bignumber/BigNumber.js +1 -1
  367. package/lib/esm/type/bignumber/function/bignumber.js +1 -1
  368. package/lib/esm/type/boolean.js +1 -1
  369. package/lib/esm/type/chain/Chain.js +1 -1
  370. package/lib/esm/type/chain/function/chain.js +1 -1
  371. package/lib/esm/type/complex/function/complex.js +1 -1
  372. package/lib/esm/type/fraction/function/fraction.js +1 -1
  373. package/lib/esm/type/matrix/DenseMatrix.js +75 -1
  374. package/lib/esm/type/matrix/FibonacciHeap.js +1 -1
  375. package/lib/esm/type/matrix/ImmutableDenseMatrix.js +1 -1
  376. package/lib/esm/type/matrix/Matrix.js +10 -0
  377. package/lib/esm/type/matrix/MatrixIndex.js +1 -1
  378. package/lib/esm/type/matrix/Spa.js +1 -1
  379. package/lib/esm/type/matrix/SparseMatrix.js +37 -3
  380. package/lib/esm/type/matrix/function/index.js +1 -1
  381. package/lib/esm/type/matrix/function/matrix.js +3 -2
  382. package/lib/esm/type/matrix/function/sparse.js +1 -1
  383. package/lib/esm/type/matrix/utils/algorithm01.js +1 -1
  384. package/lib/esm/type/matrix/utils/algorithm02.js +1 -1
  385. package/lib/esm/type/matrix/utils/algorithm03.js +1 -1
  386. package/lib/esm/type/matrix/utils/algorithm04.js +1 -1
  387. package/lib/esm/type/matrix/utils/algorithm05.js +1 -1
  388. package/lib/esm/type/matrix/utils/algorithm06.js +1 -1
  389. package/lib/esm/type/matrix/utils/algorithm07.js +1 -1
  390. package/lib/esm/type/matrix/utils/algorithm08.js +1 -1
  391. package/lib/esm/type/matrix/utils/algorithm09.js +1 -1
  392. package/lib/esm/type/matrix/utils/algorithm10.js +1 -1
  393. package/lib/esm/type/matrix/utils/algorithm11.js +1 -1
  394. package/lib/esm/type/matrix/utils/algorithm12.js +1 -1
  395. package/lib/esm/type/matrix/utils/algorithm13.js +1 -1
  396. package/lib/esm/type/matrix/utils/algorithm14.js +1 -1
  397. package/lib/esm/type/number.js +1 -1
  398. package/lib/esm/type/string.js +1 -1
  399. package/lib/esm/type/unit/Unit.js +4 -5
  400. package/lib/esm/type/unit/function/createUnit.js +1 -1
  401. package/lib/esm/type/unit/function/splitUnit.js +1 -1
  402. package/lib/esm/type/unit/function/unit.js +1 -1
  403. package/lib/esm/type/unit/physicalConstants.js +2 -2
  404. package/lib/esm/utils/array.js +1 -1
  405. package/lib/esm/utils/customs.js +10 -0
  406. package/lib/esm/utils/map.js +135 -0
  407. package/lib/esm/utils/scope.js +26 -0
  408. package/lib/esm/utils/snapshot.js +3 -4
  409. package/lib/esm/version.js +1 -1
  410. package/package.json +18 -9
@@ -5,9 +5,10 @@ import { createSimplifyCore } from './simplify/simplifyCore.js';
5
5
  import { createSimplifyConstant } from './simplify/simplifyConstant.js';
6
6
  import { createResolve } from './simplify/resolve.js';
7
7
  import { hasOwnProperty } from '../../utils/object.js';
8
+ import { createEmptyMap, createMap } from '../../utils/map.js';
8
9
  var name = 'simplify';
9
10
  var dependencies = ['config', 'typed', 'parse', 'add', 'subtract', 'multiply', 'divide', 'pow', 'isZero', 'equal', '?fraction', '?bignumber', 'mathWithTransform', 'ConstantNode', 'FunctionNode', 'OperatorNode', 'ParenthesisNode', 'SymbolNode'];
10
- export var createSimplify = /* #__PURE__ */factory(name, dependencies, (_ref) => {
11
+ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
11
12
  var {
12
13
  config,
13
14
  typed,
@@ -144,39 +145,42 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, (_ref) =>
144
145
 
145
146
  var simplify = typed('simplify', {
146
147
  string: function string(expr) {
147
- return this(parse(expr), this.rules, {}, {});
148
+ return this(parse(expr), this.rules, createEmptyMap(), {});
148
149
  },
149
- 'string, Object': function stringObject(expr, scope) {
150
+ 'string, Map | Object': function stringMapObject(expr, scope) {
150
151
  return this(parse(expr), this.rules, scope, {});
151
152
  },
152
- 'string, Object, Object': function stringObjectObject(expr, scope, options) {
153
+ 'string, Map | Object, Object': function stringMapObjectObject(expr, scope, options) {
153
154
  return this(parse(expr), this.rules, scope, options);
154
155
  },
155
156
  'string, Array': function stringArray(expr, rules) {
156
- return this(parse(expr), rules, {}, {});
157
+ return this(parse(expr), rules, createEmptyMap(), {});
157
158
  },
158
- 'string, Array, Object': function stringArrayObject(expr, rules, scope) {
159
+ 'string, Array, Map | Object': function stringArrayMapObject(expr, rules, scope) {
159
160
  return this(parse(expr), rules, scope, {});
160
161
  },
161
- 'string, Array, Object, Object': function stringArrayObjectObject(expr, rules, scope, options) {
162
+ 'string, Array, Map | Object, Object': function stringArrayMapObjectObject(expr, rules, scope, options) {
162
163
  return this(parse(expr), rules, scope, options);
163
164
  },
164
- 'Node, Object': function NodeObject(expr, scope) {
165
+ 'Node, Map | Object': function NodeMapObject(expr, scope) {
165
166
  return this(expr, this.rules, scope, {});
166
167
  },
167
- 'Node, Object, Object': function NodeObjectObject(expr, scope, options) {
168
+ 'Node, Map | Object, Object': function NodeMapObjectObject(expr, scope, options) {
168
169
  return this(expr, this.rules, scope, options);
169
170
  },
170
171
  Node: function Node(expr) {
171
- return this(expr, this.rules, {}, {});
172
+ return this(expr, this.rules, createEmptyMap(), {});
172
173
  },
173
174
  'Node, Array': function NodeArray(expr, rules) {
174
- return this(expr, rules, {}, {});
175
+ return this(expr, rules, createEmptyMap(), {});
175
176
  },
176
- 'Node, Array, Object': function NodeArrayObject(expr, rules, scope) {
177
+ 'Node, Array, Map | Object': function NodeArrayMapObject(expr, rules, scope) {
177
178
  return this(expr, rules, scope, {});
178
179
  },
179
180
  'Node, Array, Object, Object': function NodeArrayObjectObject(expr, rules, scope, options) {
181
+ return this(expr, rules, createMap(scope), options);
182
+ },
183
+ 'Node, Array, Map, Object': function NodeArrayMapObject(expr, rules, scope, options) {
180
184
  rules = _buildRules(rules);
181
185
  var res = resolve(expr, scope);
182
186
  res = removeParens(res);
@@ -2,7 +2,7 @@ import { factory } from '../../../utils/factory.js';
2
2
  import { createSolveValidation } from './utils/solveValidation.js';
3
3
  var name = 'lsolve';
4
4
  var dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtract', 'equalScalar', 'DenseMatrix'];
5
- export var createLsolve = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createLsolve = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed,
8
8
  matrix,
@@ -2,7 +2,7 @@ import { factory } from '../../../utils/factory.js';
2
2
  import { createSolveValidation } from './utils/solveValidation.js';
3
3
  var name = 'lsolveAll';
4
4
  var dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtract', 'equalScalar', 'DenseMatrix'];
5
- export var createLsolveAll = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createLsolveAll = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed,
8
8
  matrix,
@@ -4,7 +4,7 @@ import { createSolveValidation } from './utils/solveValidation.js';
4
4
  import { csIpvec } from '../sparse/csIpvec.js';
5
5
  var name = 'lusolve';
6
6
  var dependencies = ['typed', 'matrix', 'lup', 'slu', 'usolve', 'lsolve', 'DenseMatrix'];
7
- export var createLusolve = /* #__PURE__ */factory(name, dependencies, (_ref) => {
7
+ export var createLusolve = /* #__PURE__ */factory(name, dependencies, _ref => {
8
8
  var {
9
9
  typed,
10
10
  matrix,
@@ -2,7 +2,7 @@ import { factory } from '../../../utils/factory.js';
2
2
  import { createSolveValidation } from './utils/solveValidation.js';
3
3
  var name = 'usolve';
4
4
  var dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtract', 'equalScalar', 'DenseMatrix'];
5
- export var createUsolve = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createUsolve = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed,
8
8
  matrix,
@@ -2,7 +2,7 @@ import { factory } from '../../../utils/factory.js';
2
2
  import { createSolveValidation } from './utils/solveValidation.js';
3
3
  var name = 'usolveAll';
4
4
  var dependencies = ['typed', 'matrix', 'divideScalar', 'multiplyScalar', 'subtract', 'equalScalar', 'DenseMatrix'];
5
- export var createUsolveAll = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createUsolveAll = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed,
8
8
  matrix,
@@ -4,7 +4,7 @@ import { csFlip } from './csFlip.js';
4
4
  import { csTdfs } from './csTdfs.js';
5
5
  var name = 'csAmd';
6
6
  var dependencies = ['add', 'multiply', 'transpose'];
7
- export var createCsAmd = /* #__PURE__ */factory(name, dependencies, (_ref) => {
7
+ export var createCsAmd = /* #__PURE__ */factory(name, dependencies, _ref => {
8
8
  var {
9
9
  add,
10
10
  multiply,
@@ -3,7 +3,7 @@ import { csEreach } from './csEreach.js';
3
3
  import { createCsSymperm } from './csSymperm.js';
4
4
  var name = 'csChol';
5
5
  var dependencies = ['divideScalar', 'sqrt', 'subtract', 'multiply', 'im', 're', 'conj', 'equal', 'smallerEq', 'SparseMatrix'];
6
- export var createCsChol = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createCsChol = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  divideScalar,
9
9
  sqrt,
@@ -2,7 +2,7 @@ import { factory } from '../../../utils/factory.js';
2
2
  import { csLeaf } from './csLeaf.js';
3
3
  var name = 'csCounts';
4
4
  var dependencies = ['transpose'];
5
- export var createCsCounts = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createCsCounts = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  transpose
8
8
  } = _ref;
@@ -2,7 +2,7 @@ import { factory } from '../../../utils/factory.js';
2
2
  import { createCsSpsolve } from './csSpsolve.js';
3
3
  var name = 'csLu';
4
4
  var dependencies = ['abs', 'divideScalar', 'multiply', 'subtract', 'larger', 'largerEq', 'SparseMatrix'];
5
- export var createCsLu = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createCsLu = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  abs,
8
8
  divideScalar,
@@ -2,7 +2,7 @@ import { csReach } from './csReach.js';
2
2
  import { factory } from '../../../utils/factory.js';
3
3
  var name = 'csSpsolve';
4
4
  var dependencies = ['divideScalar', 'multiply', 'subtract'];
5
- export var createCsSpsolve = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createCsSpsolve = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  divideScalar,
8
8
  multiply,
@@ -6,7 +6,7 @@ import { createCsCounts } from './csCounts.js';
6
6
  import { factory } from '../../../utils/factory.js';
7
7
  var name = 'csSqr';
8
8
  var dependencies = ['add', 'multiply', 'transpose'];
9
- export var createCsSqr = /* #__PURE__ */factory(name, dependencies, (_ref) => {
9
+ export var createCsSqr = /* #__PURE__ */factory(name, dependencies, _ref => {
10
10
  var {
11
11
  add,
12
12
  multiply,
@@ -2,7 +2,7 @@ import { csCumsum } from './csCumsum.js';
2
2
  import { factory } from '../../../utils/factory.js';
3
3
  var name = 'csSymperm';
4
4
  var dependencies = ['conj', 'SparseMatrix'];
5
- export var createCsSymperm = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createCsSymperm = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  conj,
8
8
  SparseMatrix
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { absNumber } from '../../plain/number/index.js';
4
4
  var name = 'abs';
5
5
  var dependencies = ['typed'];
6
- export var createAbs = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createAbs = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed
9
9
  } = _ref;
@@ -7,7 +7,7 @@ import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
7
7
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
8
8
  var name = 'add';
9
9
  var dependencies = ['typed', 'matrix', 'addScalar', 'equalScalar', 'DenseMatrix', 'SparseMatrix'];
10
- export var createAdd = /* #__PURE__ */factory(name, dependencies, (_ref) => {
10
+ export var createAdd = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
@@ -2,7 +2,7 @@ import { factory } from '../../utils/factory.js';
2
2
  import { addNumber } from '../../plain/number/index.js';
3
3
  var name = 'addScalar';
4
4
  var dependencies = ['typed'];
5
- export var createAddScalar = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createAddScalar = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed
8
8
  } = _ref;
@@ -4,7 +4,7 @@ import { deepMap } from '../../utils/collection.js';
4
4
  import { cbrtNumber } from '../../plain/number/index.js';
5
5
  var name = 'cbrt';
6
6
  var dependencies = ['config', 'typed', 'isNegative', 'unaryMinus', 'matrix', 'Complex', 'BigNumber', 'Fraction'];
7
- export var createCbrt = /* #__PURE__ */factory(name, dependencies, (_ref) => {
7
+ export var createCbrt = /* #__PURE__ */factory(name, dependencies, _ref => {
8
8
  var {
9
9
  config,
10
10
  typed,
@@ -8,7 +8,7 @@ import { createAlgorithm11 } from '../../type/matrix/utils/algorithm11.js';
8
8
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
9
9
  var name = 'ceil';
10
10
  var dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar'];
11
- export var createCeil = /* #__PURE__ */factory(name, dependencies, (_ref) => {
11
+ export var createCeil = /* #__PURE__ */factory(name, dependencies, _ref => {
12
12
  var {
13
13
  typed,
14
14
  config,
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { cubeNumber } from '../../plain/number/index.js';
4
4
  var name = 'cube';
5
5
  var dependencies = ['typed'];
6
- export var createCube = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createCube = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed
9
9
  } = _ref;
@@ -4,7 +4,7 @@ import { createAlgorithm11 } from '../../type/matrix/utils/algorithm11.js';
4
4
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
5
5
  var name = 'divide';
6
6
  var dependencies = ['typed', 'matrix', 'multiply', 'equalScalar', 'divideScalar', 'inv'];
7
- export var createDivide = /* #__PURE__ */factory(name, dependencies, (_ref) => {
7
+ export var createDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
8
8
  var {
9
9
  typed,
10
10
  matrix,
@@ -2,7 +2,7 @@ import { factory } from '../../utils/factory.js';
2
2
  import { typeOf } from '../../utils/is.js';
3
3
  var name = 'divideScalar';
4
4
  var dependencies = ['typed', 'numeric'];
5
- export var createDivideScalar = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createDivideScalar = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed,
8
8
  numeric
@@ -8,7 +8,7 @@ import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
8
8
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
9
9
  var name = 'dotDivide';
10
10
  var dependencies = ['typed', 'matrix', 'equalScalar', 'divideScalar', 'DenseMatrix'];
11
- export var createDotDivide = /* #__PURE__ */factory(name, dependencies, (_ref) => {
11
+ export var createDotDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
12
12
  var {
13
13
  typed,
14
14
  matrix,
@@ -6,7 +6,7 @@ import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
6
6
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
7
7
  var name = 'dotMultiply';
8
8
  var dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar'];
9
- export var createDotMultiply = /* #__PURE__ */factory(name, dependencies, (_ref) => {
9
+ export var createDotMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {
10
10
  var {
11
11
  typed,
12
12
  matrix,
@@ -7,7 +7,7 @@ import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
7
7
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
8
8
  var name = 'dotPow';
9
9
  var dependencies = ['typed', 'equalScalar', 'matrix', 'pow', 'DenseMatrix'];
10
- export var createDotPow = /* #__PURE__ */factory(name, dependencies, (_ref) => {
10
+ export var createDotPow = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  equalScalar,
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { expNumber } from '../../plain/number/index.js';
4
4
  var name = 'exp';
5
5
  var dependencies = ['typed'];
6
- export var createExp = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createExp = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed
9
9
  } = _ref;
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { expm1Number } from '../../plain/number/index.js';
4
4
  var name = 'expm1';
5
5
  var dependencies = ['typed', 'Complex'];
6
- export var createExpm1 = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createExpm1 = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed,
9
9
  Complex: _Complex
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
4
4
  var name = 'fix';
5
5
  var dependencies = ['typed', 'Complex', 'matrix', 'ceil', 'floor'];
6
- export var createFix = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createFix = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed,
9
9
  Complex: _Complex,
@@ -7,7 +7,7 @@ import { createAlgorithm11 } from '../../type/matrix/utils/algorithm11.js';
7
7
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
8
8
  var name = 'floor';
9
9
  var dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar'];
10
- export var createFloor = /* #__PURE__ */factory(name, dependencies, (_ref) => {
10
+ export var createFloor = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  config,
@@ -7,7 +7,7 @@ import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
7
7
  import { gcdNumber } from '../../plain/number/index.js';
8
8
  var name = 'gcd';
9
9
  var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix'];
10
- export var createGcd = /* #__PURE__ */factory(name, dependencies, (_ref) => {
10
+ export var createGcd = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
@@ -2,7 +2,7 @@ import { factory } from '../../utils/factory.js';
2
2
  import { flatten } from '../../utils/array.js';
3
3
  var name = 'hypot';
4
4
  var dependencies = ['typed', 'abs', 'addScalar', 'divideScalar', 'multiplyScalar', 'sqrt', 'smaller', 'isPositive'];
5
- export var createHypot = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createHypot = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed,
8
8
  abs,
@@ -7,7 +7,7 @@ import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
7
7
  import { lcmNumber } from '../../plain/number/index.js';
8
8
  var name = 'lcm';
9
9
  var dependencies = ['typed', 'matrix', 'equalScalar'];
10
- export var createLcm = /* #__PURE__ */factory(name, dependencies, (_ref) => {
10
+ export var createLcm = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  var {
12
12
  typed,
13
13
  matrix,
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { logNumber } from '../../plain/number/index.js';
4
4
  var name = 'log';
5
5
  var dependencies = ['config', 'typed', 'divideScalar', 'Complex'];
6
- export var createLog = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createLog = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed,
9
9
  config,
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { log10Number } from '../../plain/number/index.js';
4
4
  var name = 'log10';
5
5
  var dependencies = ['typed', 'config', 'Complex'];
6
- export var createLog10 = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createLog10 = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed,
9
9
  config,
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { log1p as _log1p } from '../../utils/number.js';
4
4
  var name = 'log1p';
5
5
  var dependencies = ['typed', 'config', 'divideScalar', 'log', 'Complex'];
6
- export var createLog1p = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createLog1p = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed,
9
9
  config,
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { log2Number } from '../../plain/number/index.js';
4
4
  var name = 'log2';
5
5
  var dependencies = ['typed', 'config', 'Complex'];
6
- export var createLog2 = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createLog2 = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed,
9
9
  config,
@@ -9,7 +9,7 @@ import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
9
9
  import { modNumber } from '../../plain/number/index.js';
10
10
  var name = 'mod';
11
11
  var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix'];
12
- export var createMod = /* #__PURE__ */factory(name, dependencies, (_ref) => {
12
+ export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
13
13
  var {
14
14
  typed,
15
15
  matrix,
@@ -6,7 +6,7 @@ import { createAlgorithm11 } from '../../type/matrix/utils/algorithm11.js';
6
6
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
7
7
  var name = 'multiply';
8
8
  var dependencies = ['typed', 'matrix', 'addScalar', 'multiplyScalar', 'equalScalar', 'dot'];
9
- export var createMultiply = /* #__PURE__ */factory(name, dependencies, (_ref) => {
9
+ export var createMultiply = /* #__PURE__ */factory(name, dependencies, _ref => {
10
10
  var {
11
11
  typed,
12
12
  matrix,
@@ -2,7 +2,7 @@ import { factory } from '../../utils/factory.js';
2
2
  import { multiplyNumber } from '../../plain/number/index.js';
3
3
  var name = 'multiplyScalar';
4
4
  var dependencies = ['typed'];
5
- export var createMultiplyScalar = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createMultiplyScalar = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  typed
8
8
  } = _ref;
@@ -1,7 +1,7 @@
1
1
  import { factory } from '../../utils/factory.js';
2
2
  var name = 'norm';
3
3
  var dependencies = ['typed', 'abs', 'add', 'pow', 'conj', 'sqrt', 'multiply', 'equalScalar', 'larger', 'smaller', 'matrix', 'ctranspose', 'eigs'];
4
- export var createNorm = /* #__PURE__ */factory(name, dependencies, (_ref) => {
4
+ export var createNorm = /* #__PURE__ */factory(name, dependencies, _ref => {
5
5
  var {
6
6
  typed,
7
7
  abs,
@@ -228,8 +228,8 @@ export var createNorm = /* #__PURE__ */factory(name, dependencies, (_ref) => {
228
228
 
229
229
  var tx = ctranspose(x);
230
230
  var squaredX = multiply(tx, x);
231
- var eigenVals = eigs(squaredX).values;
232
- var rho = eigenVals.get([eigenVals.size()[0] - 1]);
231
+ var eigenVals = eigs(squaredX).values.toArray();
232
+ var rho = eigenVals[eigenVals.length - 1];
233
233
  return abs(sqrt(rho));
234
234
  }
235
235
  /**
@@ -8,7 +8,7 @@ import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
8
8
  import { nthRootNumber } from '../../plain/number/index.js';
9
9
  var name = 'nthRoot';
10
10
  var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber'];
11
- export var createNthRoot = /* #__PURE__ */factory(name, dependencies, (_ref) => {
11
+ export var createNthRoot = /* #__PURE__ */factory(name, dependencies, _ref => {
12
12
  var {
13
13
  typed,
14
14
  matrix,
@@ -198,7 +198,7 @@ export var createNthRoot = /* #__PURE__ */factory(name, dependencies, (_ref) =>
198
198
  return new _BigNumber((inv ? one.div(x) : x).toPrecision(precision));
199
199
  }
200
200
  });
201
- export var createNthRootNumber = /* #__PURE__ */factory(name, ['typed'], (_ref2) => {
201
+ export var createNthRootNumber = /* #__PURE__ */factory(name, ['typed'], _ref2 => {
202
202
  var {
203
203
  typed
204
204
  } = _ref2;
@@ -1,7 +1,7 @@
1
1
  import { factory } from '../../utils/factory.js';
2
2
  var name = 'nthRoots';
3
3
  var dependencies = ['config', 'typed', 'divideScalar', 'Complex'];
4
- export var createNthRoots = /* #__PURE__ */factory(name, dependencies, (_ref) => {
4
+ export var createNthRoots = /* #__PURE__ */factory(name, dependencies, _ref => {
5
5
  var {
6
6
  typed,
7
7
  config,
@@ -4,7 +4,7 @@ import { arraySize as size } from '../../utils/array.js';
4
4
  import { powNumber } from '../../plain/number/index.js';
5
5
  var name = 'pow';
6
6
  var dependencies = ['typed', 'config', 'identity', 'multiply', 'matrix', 'fraction', 'number', 'Complex'];
7
- export var createPow = /* #__PURE__ */factory(name, dependencies, (_ref) => {
7
+ export var createPow = /* #__PURE__ */factory(name, dependencies, _ref => {
8
8
  var {
9
9
  typed,
10
10
  config,
@@ -61,14 +61,16 @@ export var createPow = /* #__PURE__ */factory(name, dependencies, (_ref) => {
61
61
  }
62
62
  },
63
63
  'Fraction, Fraction': function FractionFraction(x, y) {
64
- if (y.d !== 1) {
65
- if (config.predictable) {
66
- throw new Error('Function pow does not support non-integer exponents for fractions.');
67
- } else {
68
- return _pow(x.valueOf(), y.valueOf());
69
- }
64
+ var result = x.pow(y);
65
+
66
+ if (result != null) {
67
+ return result;
68
+ }
69
+
70
+ if (config.predictable) {
71
+ throw new Error('Result of pow is non-rational and cannot be expressed as a fraction');
70
72
  } else {
71
- return x.pow(y);
73
+ return _pow(x.valueOf(), y.valueOf());
72
74
  }
73
75
  },
74
76
  'Array, number': _powArray,
@@ -1,8 +1,8 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
6
 
7
7
  import { factory } from '../../utils/factory.js';
8
8
  import { deepMap } from '../../utils/collection.js';
@@ -14,7 +14,7 @@ import { roundNumber } from '../../plain/number/index.js';
14
14
  var NO_INT = 'Number of decimals in function round must be an integer';
15
15
  var name = 'round';
16
16
  var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'BigNumber', 'DenseMatrix'];
17
- export var createRound = /* #__PURE__ */factory(name, dependencies, (_ref) => {
17
+ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
18
18
  var {
19
19
  typed,
20
20
  matrix,
@@ -163,13 +163,13 @@ var roundNumberSignatures = {
163
163
  }
164
164
 
165
165
  if (n < 0 || n > 15) {
166
- throw new Error('Number of decimals in function round must be in te range of 0-15');
166
+ throw new Error('Number of decimals in function round must be in the range of 0-15');
167
167
  }
168
168
 
169
169
  return roundNumber(x, n);
170
170
  }
171
171
  };
172
- export var createRoundNumber = /* #__PURE__ */factory(name, ['typed'], (_ref2) => {
172
+ export var createRoundNumber = /* #__PURE__ */factory(name, ['typed'], _ref2 => {
173
173
  var {
174
174
  typed
175
175
  } = _ref2;
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { signNumber } from '../../plain/number/index.js';
4
4
  var name = 'sign';
5
5
  var dependencies = ['typed', 'BigNumber', 'Fraction', 'complex'];
6
- export var createSign = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createSign = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed,
9
9
  BigNumber: _BigNumber,
@@ -2,7 +2,7 @@ import { factory } from '../../utils/factory.js';
2
2
  import { deepMap } from '../../utils/collection.js';
3
3
  var name = 'sqrt';
4
4
  var dependencies = ['config', 'typed', 'Complex'];
5
- export var createSqrt = /* #__PURE__ */factory(name, dependencies, (_ref) => {
5
+ export var createSqrt = /* #__PURE__ */factory(name, dependencies, _ref => {
6
6
  var {
7
7
  config,
8
8
  typed,
@@ -3,7 +3,7 @@ import { deepMap } from '../../utils/collection.js';
3
3
  import { squareNumber } from '../../plain/number/index.js';
4
4
  var name = 'square';
5
5
  var dependencies = ['typed'];
6
- export var createSquare = /* #__PURE__ */factory(name, dependencies, (_ref) => {
6
+ export var createSquare = /* #__PURE__ */factory(name, dependencies, _ref => {
7
7
  var {
8
8
  typed
9
9
  } = _ref;
@@ -8,7 +8,7 @@ import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
8
8
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
9
9
  var name = 'subtract';
10
10
  var dependencies = ['typed', 'matrix', 'equalScalar', 'addScalar', 'unaryMinus', 'DenseMatrix'];
11
- export var createSubtract = /* #__PURE__ */factory(name, dependencies, (_ref) => {
11
+ export var createSubtract = /* #__PURE__ */factory(name, dependencies, _ref => {
12
12
  var {
13
13
  typed,
14
14
  matrix,