mathjs 9.3.2 → 9.4.0

Sign up to get free protection for your applications and to get access to all the features.
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,