mathjs 11.2.1 → 11.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1322) hide show
  1. package/HISTORY.md +9 -1
  2. package/README.md +26 -0
  3. package/lib/browser/math.js +1 -1
  4. package/lib/browser/math.js.LICENSE.txt +2 -2
  5. package/lib/browser/math.js.map +1 -1
  6. package/lib/cjs/constants.js +21 -23
  7. package/lib/cjs/core/create.js +23 -41
  8. package/lib/cjs/core/function/config.js +12 -16
  9. package/lib/cjs/core/function/import.js +21 -66
  10. package/lib/cjs/core/function/typed.js +24 -50
  11. package/lib/cjs/defaultInstance.js +0 -7
  12. package/lib/cjs/entry/allFactoriesAny.js +1 -5
  13. package/lib/cjs/entry/allFactoriesNumber.js +1 -5
  14. package/lib/cjs/entry/configReadonly.js +0 -7
  15. package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +1 -3
  16. package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +1 -4
  17. package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +1 -4
  18. package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +1 -4
  19. package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +1 -4
  20. package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +1 -5
  21. package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +1 -5
  22. package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +1 -4
  23. package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +1 -8
  24. package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +1 -3
  25. package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +1 -7
  26. package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +1 -4
  27. package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +1 -4
  28. package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +1 -3
  29. package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +1 -3
  30. package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +1 -5
  31. package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +1 -5
  32. package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +1 -4
  33. package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +1 -3
  34. package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +1 -5
  35. package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +1 -3
  36. package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +1 -7
  37. package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +1 -4
  38. package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +1 -4
  39. package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +1 -4
  40. package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +1 -7
  41. package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +1 -2
  42. package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +1 -4
  43. package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +1 -4
  44. package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +1 -5
  45. package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +1 -3
  46. package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +1 -6
  47. package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +1 -5
  48. package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +1 -4
  49. package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +1 -4
  50. package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +1 -4
  51. package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +1 -4
  52. package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +1 -3
  53. package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +1 -9
  54. package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +1 -9
  55. package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +1 -8
  56. package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +1 -4
  57. package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +1 -3
  58. package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +1 -4
  59. package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +1 -3
  60. package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +1 -6
  61. package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +1 -6
  62. package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +1 -3
  63. package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +1 -3
  64. package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +1 -8
  65. package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +1 -4
  66. package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +1 -4
  67. package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +1 -4
  68. package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +1 -4
  69. package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +1 -2
  70. package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +1 -9
  71. package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +1 -5
  72. package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +1 -5
  73. package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +1 -3
  74. package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +1 -4
  75. package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +1 -3
  76. package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +1 -3
  77. package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +1 -3
  78. package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +1 -3
  79. package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +1 -4
  80. package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +1 -4
  81. package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +1 -4
  82. package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +1 -5
  83. package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +1 -4
  84. package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +1 -6
  85. package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +1 -4
  86. package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +1 -4
  87. package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +1 -5
  88. package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +1 -3
  89. package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +1 -5
  90. package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +1 -5
  91. package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +1 -4
  92. package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +1 -3
  93. package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +1 -13
  94. package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +1 -9
  95. package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +1 -4
  96. package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +1 -6
  97. package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +1 -6
  98. package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +1 -7
  99. package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +1 -10
  100. package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +1 -8
  101. package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +1 -4
  102. package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +1 -7
  103. package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +1 -7
  104. package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +1 -6
  105. package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +1 -7
  106. package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +1 -3
  107. package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +1 -3
  108. package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +1 -32
  109. package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +1 -4
  110. package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +1 -4
  111. package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +1 -4
  112. package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +1 -6
  113. package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +1 -3
  114. package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +1 -5
  115. package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +1 -3
  116. package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +1 -4
  117. package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +1 -3
  118. package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +1 -8
  119. package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +1 -4
  120. package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +1 -4
  121. package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +1 -2
  122. package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +1 -4
  123. package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +1 -4
  124. package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +1 -10
  125. package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +1 -4
  126. package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +1 -3
  127. package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +1 -3
  128. package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +1 -3
  129. package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +1 -4
  130. package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +1 -10
  131. package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +1 -4
  132. package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +1 -8
  133. package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +1 -3
  134. package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +1 -3
  135. package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +1 -3
  136. package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +1 -4
  137. package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +1 -2
  138. package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +1 -4
  139. package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +1 -4
  140. package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +1 -7
  141. package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +1 -4
  142. package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +1 -7
  143. package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +1 -3
  144. package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +1 -4
  145. package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +1 -4
  146. package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +1 -4
  147. package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +1 -4
  148. package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +1 -4
  149. package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +1 -3
  150. package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +1 -4
  151. package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +1 -10
  152. package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +1 -3
  153. package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +1 -7
  154. package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +1 -6
  155. package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +1 -3
  156. package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +1 -4
  157. package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +1 -4
  158. package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +1 -3
  159. package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +1 -4
  160. package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +1 -3
  161. package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +1 -3
  162. package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +1 -16
  163. package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +1 -11
  164. package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +1 -4
  165. package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +1 -10
  166. package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +1 -3
  167. package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +1 -3
  168. package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +1 -3
  169. package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +1 -3
  170. package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +1 -3
  171. package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +1 -3
  172. package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +1 -3
  173. package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +1 -11
  174. package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +1 -4
  175. package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +1 -5
  176. package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +1 -3
  177. package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +1 -3
  178. package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +1 -3
  179. package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +1 -3
  180. package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +1 -5
  181. package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +1 -5
  182. package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +1 -5
  183. package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +1 -4
  184. package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +1 -7
  185. package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +1 -4
  186. package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +1 -5
  187. package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +1 -4
  188. package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +1 -6
  189. package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +1 -4
  190. package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +1 -4
  191. package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +1 -9
  192. package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +1 -9
  193. package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +1 -15
  194. package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +1 -9
  195. package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +1 -7
  196. package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +1 -4
  197. package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +1 -4
  198. package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +1 -3
  199. package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +1 -3
  200. package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +1 -6
  201. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +1 -2
  202. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +1 -6
  203. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +1 -5
  204. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +1 -6
  205. package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +1 -5
  206. package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +1 -5
  207. package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +1 -5
  208. package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +1 -5
  209. package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +1 -7
  210. package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +1 -5
  211. package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +1 -5
  212. package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +1 -6
  213. package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +1 -5
  214. package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +1 -4
  215. package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +1 -4
  216. package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +1 -4
  217. package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +1 -4
  218. package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +1 -9
  219. package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +1 -8
  220. package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +1 -3
  221. package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +1 -3
  222. package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +1 -4
  223. package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +1 -2
  224. package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +1 -15
  225. package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +1 -3
  226. package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +1 -6
  227. package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +1 -5
  228. package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +1 -4
  229. package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +1 -2
  230. package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +1 -3
  231. package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +1 -5
  232. package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +1 -3
  233. package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +1 -4
  234. package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +1 -5
  235. package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +1 -3
  236. package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +1 -6
  237. package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +1 -3
  238. package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +1 -19
  239. package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +1 -4
  240. package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +1 -3
  241. package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +1 -6
  242. package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +1 -4
  243. package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +1 -3
  244. package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +1 -3
  245. package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +1 -3
  246. package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +1 -14
  247. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +1 -4
  248. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +1 -4
  249. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +1 -4
  250. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +1 -4
  251. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +1 -4
  252. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +1 -4
  253. package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +1 -10
  254. package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +1 -3
  255. package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +1 -5
  256. package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +1 -4
  257. package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +1 -17
  258. package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +1 -7
  259. package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +1 -4
  260. package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +1 -3
  261. package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +1 -3
  262. package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +1 -9
  263. package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +1 -2
  264. package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +1 -3
  265. package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +1 -9
  266. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +1 -26
  267. package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +1 -3
  268. package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +1 -4
  269. package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +1 -3
  270. package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +1 -2
  271. package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +1 -5
  272. package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +1 -3
  273. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +1 -8
  274. package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +1 -2
  275. package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +1 -2
  276. package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +1 -7
  277. package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +1 -7
  278. package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +1 -5
  279. package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +1 -13
  280. package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +1 -8
  281. package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +1 -6
  282. package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +1 -6
  283. package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +1 -4
  284. package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +2 -3
  285. package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +1 -3
  286. package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +1 -3
  287. package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +1 -4
  288. package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +1 -4
  289. package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +1 -4
  290. package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +1 -8
  291. package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +1 -8
  292. package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +1 -8
  293. package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +1 -8
  294. package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +1 -7
  295. package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +1 -7
  296. package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +1 -7
  297. package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +1 -4
  298. package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +1 -8
  299. package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +1 -9
  300. package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +1 -6
  301. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +1 -26
  302. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +1 -15
  303. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +1 -20
  304. package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +1 -3
  305. package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +1 -3
  306. package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +1 -4
  307. package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +1 -12
  308. package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +1 -5
  309. package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +1 -5
  310. package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +1 -6
  311. package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +1 -5
  312. package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +1 -4
  313. package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +1 -5
  314. package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +1 -4
  315. package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +1 -3
  316. package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +1 -4
  317. package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +1 -13
  318. package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +1 -3
  319. package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +1 -4
  320. package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +1 -6
  321. package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +1 -6
  322. package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +1 -4
  323. package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +1 -15
  324. package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +1 -3
  325. package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +1 -4
  326. package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +1 -4
  327. package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +1 -8
  328. package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +1 -5
  329. package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +1 -5
  330. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +1 -4
  331. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +1 -6
  332. package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +1 -3
  333. package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +1 -3
  334. package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +1 -3
  335. package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +1 -4
  336. package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +1 -4
  337. package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +1 -5
  338. package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +1 -4
  339. package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +1 -2
  340. package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +1 -3
  341. package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +1 -6
  342. package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +1 -3
  343. package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +1 -4
  344. package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +1 -6
  345. package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +1 -17
  346. package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +1 -4
  347. package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +1 -3
  348. package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +1 -3
  349. package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +1 -9
  350. package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +1 -9
  351. package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +1 -4
  352. package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +1 -9
  353. package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +1 -9
  354. package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +1 -2
  355. package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +1 -3
  356. package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +1 -4
  357. package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +1 -5
  358. package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +1 -5
  359. package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +1 -5
  360. package/lib/cjs/entry/dependenciesAny.generated.js +0 -346
  361. package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +1 -3
  362. package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +1 -4
  363. package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +1 -3
  364. package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +1 -3
  365. package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +1 -3
  366. package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +1 -3
  367. package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +1 -3
  368. package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +1 -3
  369. package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +1 -3
  370. package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +1 -3
  371. package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +1 -3
  372. package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +1 -4
  373. package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +1 -4
  374. package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +1 -3
  375. package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +1 -3
  376. package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +1 -3
  377. package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +1 -3
  378. package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +1 -3
  379. package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +1 -5
  380. package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +1 -3
  381. package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +1 -3
  382. package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +1 -3
  383. package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +1 -7
  384. package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +1 -3
  385. package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +1 -3
  386. package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +1 -3
  387. package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +1 -3
  388. package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +1 -4
  389. package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +1 -3
  390. package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +1 -9
  391. package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +1 -3
  392. package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +1 -4
  393. package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +1 -4
  394. package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +1 -3
  395. package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +1 -3
  396. package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +1 -3
  397. package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +1 -3
  398. package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +1 -3
  399. package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +1 -4
  400. package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +1 -3
  401. package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +1 -4
  402. package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +1 -9
  403. package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +1 -3
  404. package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +1 -3
  405. package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +1 -3
  406. package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +1 -3
  407. package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +1 -3
  408. package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +1 -3
  409. package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +1 -3
  410. package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +1 -3
  411. package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +1 -3
  412. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +1 -5
  413. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +1 -5
  414. package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +1 -4
  415. package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +1 -13
  416. package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +1 -3
  417. package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +1 -3
  418. package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +1 -2
  419. package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +1 -4
  420. package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +1 -3
  421. package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +1 -5
  422. package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +1 -3
  423. package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +1 -4
  424. package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +1 -3
  425. package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +1 -3
  426. package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +1 -4
  427. package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +1 -2
  428. package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +1 -3
  429. package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +1 -3
  430. package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +1 -5
  431. package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +1 -4
  432. package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +1 -3
  433. package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +1 -3
  434. package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +1 -3
  435. package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +1 -4
  436. package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +1 -4
  437. package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +1 -3
  438. package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +1 -3
  439. package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +1 -4
  440. package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +1 -4
  441. package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +1 -3
  442. package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +1 -10
  443. package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +1 -2
  444. package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +1 -4
  445. package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +1 -2
  446. package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +1 -3
  447. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +1 -3
  448. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +1 -3
  449. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +1 -3
  450. package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +1 -3
  451. package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +1 -3
  452. package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +1 -3
  453. package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +1 -2
  454. package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +1 -2
  455. package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +1 -2
  456. package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +1 -2
  457. package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +1 -3
  458. package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +1 -3
  459. package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +1 -3
  460. package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +1 -3
  461. package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +1 -3
  462. package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +1 -3
  463. package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +1 -3
  464. package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +1 -3
  465. package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +1 -3
  466. package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +1 -7
  467. package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +1 -3
  468. package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +1 -3
  469. package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +1 -2
  470. package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +1 -5
  471. package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +1 -5
  472. package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +1 -5
  473. package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +1 -5
  474. package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +1 -7
  475. package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +1 -5
  476. package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +1 -5
  477. package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +1 -3
  478. package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +1 -5
  479. package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +1 -9
  480. package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +1 -3
  481. package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +1 -3
  482. package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +1 -2
  483. package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +1 -2
  484. package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +1 -3
  485. package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +1 -3
  486. package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +1 -3
  487. package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +1 -2
  488. package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +1 -3
  489. package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +1 -3
  490. package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +1 -3
  491. package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +1 -3
  492. package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +1 -3
  493. package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +1 -3
  494. package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +1 -19
  495. package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +1 -4
  496. package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +1 -3
  497. package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +1 -6
  498. package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +1 -4
  499. package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +1 -2
  500. package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +1 -2
  501. package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +1 -3
  502. package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +1 -3
  503. package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +1 -3
  504. package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +1 -5
  505. package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +1 -7
  506. package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +1 -3
  507. package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +1 -3
  508. package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +1 -8
  509. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +1 -2
  510. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +1 -3
  511. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +1 -8
  512. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +1 -24
  513. package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +1 -3
  514. package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +1 -2
  515. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +1 -8
  516. package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +1 -2
  517. package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +1 -2
  518. package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +1 -3
  519. package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +1 -3
  520. package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +1 -3
  521. package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +1 -2
  522. package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +1 -2
  523. package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +1 -3
  524. package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +1 -3
  525. package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +1 -3
  526. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +1 -24
  527. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +1 -13
  528. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +1 -20
  529. package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +1 -3
  530. package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +1 -3
  531. package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +1 -4
  532. package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +1 -3
  533. package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +1 -3
  534. package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +1 -3
  535. package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +1 -3
  536. package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +1 -6
  537. package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +1 -6
  538. package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +1 -14
  539. package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +1 -3
  540. package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +1 -2
  541. package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +1 -2
  542. package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +1 -3
  543. package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +1 -5
  544. package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +1 -5
  545. package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +1 -3
  546. package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +1 -3
  547. package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +1 -3
  548. package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +1 -2
  549. package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +1 -2
  550. package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +1 -3
  551. package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +1 -2
  552. package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +1 -3
  553. package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +1 -3
  554. package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +1 -4
  555. package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +1 -3
  556. package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +1 -3
  557. package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +1 -9
  558. package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +1 -9
  559. package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +1 -2
  560. package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +1 -3
  561. package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +1 -3
  562. package/lib/cjs/entry/dependenciesNumber.generated.js +0 -202
  563. package/lib/cjs/entry/impureFunctionsAny.generated.js +1 -9
  564. package/lib/cjs/entry/impureFunctionsNumber.generated.js +1 -9
  565. package/lib/cjs/entry/mainAny.js +0 -16
  566. package/lib/cjs/entry/mainNumber.js +0 -16
  567. package/lib/cjs/entry/pureFunctionsAny.generated.js +1 -15
  568. package/lib/cjs/entry/pureFunctionsNumber.generated.js +1 -15
  569. package/lib/cjs/entry/typeChecks.js +0 -1
  570. package/lib/cjs/error/ArgumentsError.js +0 -3
  571. package/lib/cjs/error/DimensionError.js +0 -3
  572. package/lib/cjs/error/IndexError.js +0 -6
  573. package/lib/cjs/expression/Help.js +5 -28
  574. package/lib/cjs/expression/Parser.js +8 -21
  575. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +1 -235
  576. package/lib/cjs/expression/function/compile.js +1 -5
  577. package/lib/cjs/expression/function/evaluate.js +1 -6
  578. package/lib/cjs/expression/function/help.js +3 -12
  579. package/lib/cjs/expression/function/parser.js +1 -4
  580. package/lib/cjs/expression/node/AccessorNode.js +15 -45
  581. package/lib/cjs/expression/node/ArrayNode.js +10 -33
  582. package/lib/cjs/expression/node/AssignmentNode.js +28 -68
  583. package/lib/cjs/expression/node/BlockNode.js +11 -37
  584. package/lib/cjs/expression/node/ConditionalNode.js +14 -56
  585. package/lib/cjs/expression/node/ConstantNode.js +10 -41
  586. package/lib/cjs/expression/node/FunctionAssignmentNode.js +13 -54
  587. package/lib/cjs/expression/node/FunctionNode.js +32 -103
  588. package/lib/cjs/expression/node/IndexNode.js +15 -44
  589. package/lib/cjs/expression/node/Node.js +23 -57
  590. package/lib/cjs/expression/node/ObjectNode.js +10 -48
  591. package/lib/cjs/expression/node/OperatorNode.js +35 -142
  592. package/lib/cjs/expression/node/ParenthesisNode.js +11 -33
  593. package/lib/cjs/expression/node/RangeNode.js +15 -66
  594. package/lib/cjs/expression/node/RelationalNode.js +8 -44
  595. package/lib/cjs/expression/node/SymbolNode.js +16 -43
  596. package/lib/cjs/expression/node/utils/access.js +0 -7
  597. package/lib/cjs/expression/node/utils/assign.js +1 -8
  598. package/lib/cjs/expression/operators.js +22 -54
  599. package/lib/cjs/expression/parse.js +162 -341
  600. package/lib/cjs/expression/transform/apply.transform.js +4 -10
  601. package/lib/cjs/expression/transform/column.transform.js +6 -12
  602. package/lib/cjs/expression/transform/concat.transform.js +3 -10
  603. package/lib/cjs/expression/transform/cumsum.transform.js +2 -9
  604. package/lib/cjs/expression/transform/diff.transform.js +5 -11
  605. package/lib/cjs/expression/transform/filter.transform.js +3 -14
  606. package/lib/cjs/expression/transform/forEach.transform.js +2 -14
  607. package/lib/cjs/expression/transform/index.transform.js +4 -9
  608. package/lib/cjs/expression/transform/map.transform.js +3 -16
  609. package/lib/cjs/expression/transform/max.transform.js +4 -10
  610. package/lib/cjs/expression/transform/mean.transform.js +3 -9
  611. package/lib/cjs/expression/transform/min.transform.js +4 -10
  612. package/lib/cjs/expression/transform/range.transform.js +8 -13
  613. package/lib/cjs/expression/transform/row.transform.js +6 -12
  614. package/lib/cjs/expression/transform/std.transform.js +4 -10
  615. package/lib/cjs/expression/transform/subset.transform.js +2 -6
  616. package/lib/cjs/expression/transform/sum.transform.js +3 -9
  617. package/lib/cjs/expression/transform/utils/compileInlineExpression.js +2 -7
  618. package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
  619. package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +0 -4
  620. package/lib/cjs/expression/transform/variance.transform.js +7 -13
  621. package/lib/cjs/factoriesAny.js +0 -278
  622. package/lib/cjs/factoriesNumber.js +20 -123
  623. package/lib/cjs/function/algebra/decomposition/lup.js +136 -173
  624. package/lib/cjs/function/algebra/decomposition/qr.js +36 -54
  625. package/lib/cjs/function/algebra/decomposition/slu.js +18 -22
  626. package/lib/cjs/function/algebra/derivative.js +47 -119
  627. package/lib/cjs/function/algebra/leafCount.js +2 -6
  628. package/lib/cjs/function/algebra/rationalize.js +152 -170
  629. package/lib/cjs/function/algebra/resolve.js +8 -19
  630. package/lib/cjs/function/algebra/simplify/util.js +14 -74
  631. package/lib/cjs/function/algebra/simplify.js +126 -213
  632. package/lib/cjs/function/algebra/simplifyConstant.js +45 -131
  633. package/lib/cjs/function/algebra/simplifyCore.js +29 -81
  634. package/lib/cjs/function/algebra/solver/lsolve.js +28 -35
  635. package/lib/cjs/function/algebra/solver/lsolveAll.js +30 -36
  636. package/lib/cjs/function/algebra/solver/lusolve.js +15 -25
  637. package/lib/cjs/function/algebra/solver/usolve.js +32 -40
  638. package/lib/cjs/function/algebra/solver/usolveAll.js +34 -36
  639. package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
  640. package/lib/cjs/function/algebra/sparse/csAmd.js +249 -301
  641. package/lib/cjs/function/algebra/sparse/csChol.js +72 -88
  642. package/lib/cjs/function/algebra/sparse/csCounts.js +37 -55
  643. package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
  644. package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
  645. package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
  646. package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
  647. package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
  648. package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
  649. package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
  650. package/lib/cjs/function/algebra/sparse/csLeaf.js +12 -13
  651. package/lib/cjs/function/algebra/sparse/csLu.js +71 -92
  652. package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
  653. package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
  654. package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
  655. package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
  656. package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
  657. package/lib/cjs/function/algebra/sparse/csSpsolve.js +32 -40
  658. package/lib/cjs/function/algebra/sparse/csSqr.js +62 -86
  659. package/lib/cjs/function/algebra/sparse/csSymperm.js +33 -44
  660. package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
  661. package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
  662. package/lib/cjs/function/algebra/symbolicEqual.js +3 -8
  663. package/lib/cjs/function/arithmetic/abs.js +0 -5
  664. package/lib/cjs/function/arithmetic/add.js +6 -14
  665. package/lib/cjs/function/arithmetic/addScalar.js +0 -6
  666. package/lib/cjs/function/arithmetic/cbrt.js +15 -26
  667. package/lib/cjs/function/arithmetic/ceil.js +11 -29
  668. package/lib/cjs/function/arithmetic/cube.js +2 -4
  669. package/lib/cjs/function/arithmetic/divide.js +7 -11
  670. package/lib/cjs/function/arithmetic/divideScalar.js +1 -4
  671. package/lib/cjs/function/arithmetic/dotDivide.js +5 -13
  672. package/lib/cjs/function/arithmetic/dotMultiply.js +4 -10
  673. package/lib/cjs/function/arithmetic/dotPow.js +5 -14
  674. package/lib/cjs/function/arithmetic/exp.js +0 -4
  675. package/lib/cjs/function/arithmetic/expm1.js +1 -5
  676. package/lib/cjs/function/arithmetic/fix.js +9 -17
  677. package/lib/cjs/function/arithmetic/floor.js +11 -29
  678. package/lib/cjs/function/arithmetic/gcd.js +8 -19
  679. package/lib/cjs/function/arithmetic/hypot.js +8 -17
  680. package/lib/cjs/function/arithmetic/invmod.js +11 -19
  681. package/lib/cjs/function/arithmetic/lcm.js +7 -20
  682. package/lib/cjs/function/arithmetic/log.js +3 -7
  683. package/lib/cjs/function/arithmetic/log10.js +2 -7
  684. package/lib/cjs/function/arithmetic/log1p.js +5 -11
  685. package/lib/cjs/function/arithmetic/log2.js +3 -8
  686. package/lib/cjs/function/arithmetic/mod.js +6 -17
  687. package/lib/cjs/function/arithmetic/multiply.js +312 -335
  688. package/lib/cjs/function/arithmetic/multiplyScalar.js +0 -4
  689. package/lib/cjs/function/arithmetic/norm.js +41 -69
  690. package/lib/cjs/function/arithmetic/nthRoot.js +9 -25
  691. package/lib/cjs/function/arithmetic/nthRoots.js +7 -15
  692. package/lib/cjs/function/arithmetic/pow.js +21 -40
  693. package/lib/cjs/function/arithmetic/round.js +6 -22
  694. package/lib/cjs/function/arithmetic/sign.js +3 -9
  695. package/lib/cjs/function/arithmetic/sqrt.js +3 -6
  696. package/lib/cjs/function/arithmetic/square.js +0 -4
  697. package/lib/cjs/function/arithmetic/subtract.js +7 -17
  698. package/lib/cjs/function/arithmetic/unaryMinus.js +2 -6
  699. package/lib/cjs/function/arithmetic/unaryPlus.js +5 -7
  700. package/lib/cjs/function/arithmetic/xgcd.js +12 -18
  701. package/lib/cjs/function/bitwise/bitAnd.js +3 -11
  702. package/lib/cjs/function/bitwise/bitNot.js +0 -6
  703. package/lib/cjs/function/bitwise/bitOr.js +4 -12
  704. package/lib/cjs/function/bitwise/bitXor.js +3 -11
  705. package/lib/cjs/function/bitwise/leftShift.js +5 -21
  706. package/lib/cjs/function/bitwise/rightArithShift.js +5 -21
  707. package/lib/cjs/function/bitwise/rightLogShift.js +6 -19
  708. package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +1 -3
  709. package/lib/cjs/function/combinatorics/bellNumbers.js +6 -11
  710. package/lib/cjs/function/combinatorics/catalan.js +6 -10
  711. package/lib/cjs/function/combinatorics/composition.js +6 -10
  712. package/lib/cjs/function/combinatorics/stirlingS2.js +12 -23
  713. package/lib/cjs/function/complex/arg.js +1 -4
  714. package/lib/cjs/function/complex/conj.js +0 -4
  715. package/lib/cjs/function/complex/im.js +0 -4
  716. package/lib/cjs/function/complex/re.js +0 -4
  717. package/lib/cjs/function/geometry/distance.js +7 -55
  718. package/lib/cjs/function/geometry/intersect.js +19 -54
  719. package/lib/cjs/function/logical/and.js +5 -17
  720. package/lib/cjs/function/logical/not.js +0 -5
  721. package/lib/cjs/function/logical/or.js +4 -11
  722. package/lib/cjs/function/logical/xor.js +3 -10
  723. package/lib/cjs/function/matrix/apply.js +3 -23
  724. package/lib/cjs/function/matrix/column.js +4 -10
  725. package/lib/cjs/function/matrix/concat.js +9 -26
  726. package/lib/cjs/function/matrix/count.js +2 -5
  727. package/lib/cjs/function/matrix/cross.js +4 -11
  728. package/lib/cjs/function/matrix/ctranspose.js +2 -5
  729. package/lib/cjs/function/matrix/det.js +7 -26
  730. package/lib/cjs/function/matrix/diag.js +21 -35
  731. package/lib/cjs/function/matrix/diff.js +7 -24
  732. package/lib/cjs/function/matrix/dot.js +22 -46
  733. package/lib/cjs/function/matrix/eigs/complexEigs.js +156 -209
  734. package/lib/cjs/function/matrix/eigs/realSymetric.js +62 -106
  735. package/lib/cjs/function/matrix/eigs.js +40 -72
  736. package/lib/cjs/function/matrix/expm.js +26 -42
  737. package/lib/cjs/function/matrix/fft.js +12 -26
  738. package/lib/cjs/function/matrix/filter.js +1 -7
  739. package/lib/cjs/function/matrix/flatten.js +6 -12
  740. package/lib/cjs/function/matrix/forEach.js +1 -9
  741. package/lib/cjs/function/matrix/getMatrixDataType.js +0 -5
  742. package/lib/cjs/function/matrix/identity.js +14 -30
  743. package/lib/cjs/function/matrix/ifft.js +3 -8
  744. package/lib/cjs/function/matrix/inv.js +20 -44
  745. package/lib/cjs/function/matrix/kron.js +3 -10
  746. package/lib/cjs/function/matrix/map.js +1 -11
  747. package/lib/cjs/function/matrix/matrixFromColumns.js +12 -22
  748. package/lib/cjs/function/matrix/matrixFromFunction.js +2 -8
  749. package/lib/cjs/function/matrix/matrixFromRows.js +6 -18
  750. package/lib/cjs/function/matrix/ones.js +8 -22
  751. package/lib/cjs/function/matrix/partitionSelect.js +15 -26
  752. package/lib/cjs/function/matrix/pinv.js +18 -50
  753. package/lib/cjs/function/matrix/range.js +15 -41
  754. package/lib/cjs/function/matrix/reshape.js +1 -5
  755. package/lib/cjs/function/matrix/resize.js +6 -27
  756. package/lib/cjs/function/matrix/rotate.js +2 -14
  757. package/lib/cjs/function/matrix/rotationMatrix.js +14 -33
  758. package/lib/cjs/function/matrix/row.js +4 -10
  759. package/lib/cjs/function/matrix/size.js +2 -7
  760. package/lib/cjs/function/matrix/sort.js +7 -20
  761. package/lib/cjs/function/matrix/sqrtm.js +12 -25
  762. package/lib/cjs/function/matrix/squeeze.js +3 -8
  763. package/lib/cjs/function/matrix/subset.js +16 -39
  764. package/lib/cjs/function/matrix/trace.js +22 -36
  765. package/lib/cjs/function/matrix/transpose.js +43 -58
  766. package/lib/cjs/function/matrix/zeros.js +10 -23
  767. package/lib/cjs/function/probability/combinations.js +3 -12
  768. package/lib/cjs/function/probability/combinationsWithRep.js +1 -17
  769. package/lib/cjs/function/probability/factorial.js +1 -7
  770. package/lib/cjs/function/probability/gamma.js +23 -34
  771. package/lib/cjs/function/probability/kldivergence.js +10 -22
  772. package/lib/cjs/function/probability/lgamma.js +13 -17
  773. package/lib/cjs/function/probability/multinomial.js +6 -11
  774. package/lib/cjs/function/probability/permutations.js +6 -19
  775. package/lib/cjs/function/probability/pickRandom.js +7 -27
  776. package/lib/cjs/function/probability/random.js +9 -20
  777. package/lib/cjs/function/probability/randomInt.js +3 -12
  778. package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
  779. package/lib/cjs/function/probability/util/seededRNG.js +6 -9
  780. package/lib/cjs/function/relational/compare.js +8 -17
  781. package/lib/cjs/function/relational/compareNatural.js +28 -59
  782. package/lib/cjs/function/relational/compareText.js +2 -6
  783. package/lib/cjs/function/relational/compareUnits.js +0 -3
  784. package/lib/cjs/function/relational/deepEqual.js +2 -8
  785. package/lib/cjs/function/relational/equal.js +5 -15
  786. package/lib/cjs/function/relational/equalScalar.js +3 -9
  787. package/lib/cjs/function/relational/equalText.js +2 -5
  788. package/lib/cjs/function/relational/larger.js +5 -14
  789. package/lib/cjs/function/relational/largerEq.js +5 -14
  790. package/lib/cjs/function/relational/smaller.js +5 -14
  791. package/lib/cjs/function/relational/smallerEq.js +5 -14
  792. package/lib/cjs/function/relational/unequal.js +6 -17
  793. package/lib/cjs/function/set/setCartesian.js +9 -17
  794. package/lib/cjs/function/set/setDifference.js +9 -19
  795. package/lib/cjs/function/set/setDistinct.js +9 -17
  796. package/lib/cjs/function/set/setIntersect.js +9 -17
  797. package/lib/cjs/function/set/setIsSubset.js +4 -13
  798. package/lib/cjs/function/set/setMultiplicity.js +4 -11
  799. package/lib/cjs/function/set/setPowerset.js +10 -20
  800. package/lib/cjs/function/set/setSize.js +1 -7
  801. package/lib/cjs/function/set/setSymDifference.js +5 -10
  802. package/lib/cjs/function/set/setUnion.js +6 -11
  803. package/lib/cjs/function/special/erf.js +12 -27
  804. package/lib/cjs/function/statistics/cumsum.js +4 -27
  805. package/lib/cjs/function/statistics/mad.js +4 -12
  806. package/lib/cjs/function/statistics/max.js +7 -16
  807. package/lib/cjs/function/statistics/mean.js +4 -14
  808. package/lib/cjs/function/statistics/median.js +14 -21
  809. package/lib/cjs/function/statistics/min.js +7 -16
  810. package/lib/cjs/function/statistics/mode.js +3 -15
  811. package/lib/cjs/function/statistics/prod.js +9 -13
  812. package/lib/cjs/function/statistics/quantileSeq.js +19 -65
  813. package/lib/cjs/function/statistics/std.js +3 -10
  814. package/lib/cjs/function/statistics/sum.js +6 -14
  815. package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
  816. package/lib/cjs/function/statistics/variance.js +11 -24
  817. package/lib/cjs/function/string/bin.js +2 -4
  818. package/lib/cjs/function/string/format.js +0 -4
  819. package/lib/cjs/function/string/hex.js +2 -4
  820. package/lib/cjs/function/string/oct.js +2 -3
  821. package/lib/cjs/function/string/print.js +1 -10
  822. package/lib/cjs/function/trigonometry/acos.js +2 -5
  823. package/lib/cjs/function/trigonometry/acosh.js +2 -8
  824. package/lib/cjs/function/trigonometry/acot.js +1 -5
  825. package/lib/cjs/function/trigonometry/acoth.js +3 -8
  826. package/lib/cjs/function/trigonometry/acsc.js +3 -8
  827. package/lib/cjs/function/trigonometry/acsch.js +1 -5
  828. package/lib/cjs/function/trigonometry/asec.js +3 -8
  829. package/lib/cjs/function/trigonometry/asech.js +3 -10
  830. package/lib/cjs/function/trigonometry/asin.js +2 -5
  831. package/lib/cjs/function/trigonometry/asinh.js +0 -4
  832. package/lib/cjs/function/trigonometry/atan.js +0 -3
  833. package/lib/cjs/function/trigonometry/atan2.js +6 -13
  834. package/lib/cjs/function/trigonometry/atanh.js +2 -7
  835. package/lib/cjs/function/trigonometry/cos.js +1 -4
  836. package/lib/cjs/function/trigonometry/cosh.js +0 -4
  837. package/lib/cjs/function/trigonometry/cot.js +2 -6
  838. package/lib/cjs/function/trigonometry/coth.js +1 -5
  839. package/lib/cjs/function/trigonometry/csc.js +2 -6
  840. package/lib/cjs/function/trigonometry/csch.js +1 -5
  841. package/lib/cjs/function/trigonometry/sec.js +2 -6
  842. package/lib/cjs/function/trigonometry/sech.js +1 -5
  843. package/lib/cjs/function/trigonometry/sin.js +1 -4
  844. package/lib/cjs/function/trigonometry/sinh.js +0 -4
  845. package/lib/cjs/function/trigonometry/tan.js +1 -4
  846. package/lib/cjs/function/trigonometry/tanh.js +0 -4
  847. package/lib/cjs/function/trigonometry/trigUnit.js +0 -3
  848. package/lib/cjs/function/unit/to.js +2 -5
  849. package/lib/cjs/function/utils/clone.js +0 -4
  850. package/lib/cjs/function/utils/hasNumericValue.js +1 -4
  851. package/lib/cjs/function/utils/isInteger.js +1 -5
  852. package/lib/cjs/function/utils/isNaN.js +0 -5
  853. package/lib/cjs/function/utils/isNegative.js +1 -5
  854. package/lib/cjs/function/utils/isNumeric.js +0 -4
  855. package/lib/cjs/function/utils/isPositive.js +0 -5
  856. package/lib/cjs/function/utils/isPrime.js +4 -25
  857. package/lib/cjs/function/utils/isZero.js +0 -5
  858. package/lib/cjs/function/utils/numeric.js +5 -13
  859. package/lib/cjs/function/utils/typeOf.js +0 -4
  860. package/lib/cjs/header.js +2 -2
  861. package/lib/cjs/index.js +0 -2
  862. package/lib/cjs/json/replacer.js +0 -3
  863. package/lib/cjs/json/reviver.js +0 -5
  864. package/lib/cjs/number.js +0 -2
  865. package/lib/cjs/plain/bignumber/arithmetic.js +0 -10
  866. package/lib/cjs/plain/bignumber/index.js +0 -7
  867. package/lib/cjs/plain/number/arithmetic.js +24 -85
  868. package/lib/cjs/plain/number/bitwise.js +0 -23
  869. package/lib/cjs/plain/number/combinations.js +4 -14
  870. package/lib/cjs/plain/number/constants.js +0 -1
  871. package/lib/cjs/plain/number/index.js +0 -18
  872. package/lib/cjs/plain/number/logical.js +0 -8
  873. package/lib/cjs/plain/number/probability.js +11 -22
  874. package/lib/cjs/plain/number/trigonometry.js +0 -52
  875. package/lib/cjs/plain/number/utils.js +0 -12
  876. package/lib/cjs/type/bignumber/BigNumber.js +4 -13
  877. package/lib/cjs/type/bignumber/function/bignumber.js +1 -10
  878. package/lib/cjs/type/boolean.js +2 -9
  879. package/lib/cjs/type/chain/Chain.js +18 -43
  880. package/lib/cjs/type/chain/function/chain.js +1 -4
  881. package/lib/cjs/type/complex/Complex.js +8 -35
  882. package/lib/cjs/type/complex/function/complex.js +2 -7
  883. package/lib/cjs/type/fraction/Fraction.js +2 -8
  884. package/lib/cjs/type/fraction/function/fraction.js +2 -6
  885. package/lib/cjs/type/matrix/DenseMatrix.js +144 -246
  886. package/lib/cjs/type/matrix/FibonacciHeap.js +119 -159
  887. package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +20 -43
  888. package/lib/cjs/type/matrix/Matrix.js +18 -38
  889. package/lib/cjs/type/matrix/MatrixIndex.js +24 -65
  890. package/lib/cjs/type/matrix/Range.js +14 -50
  891. package/lib/cjs/type/matrix/Spa.js +34 -54
  892. package/lib/cjs/type/matrix/SparseMatrix.js +414 -531
  893. package/lib/cjs/type/matrix/function/index.js +1 -5
  894. package/lib/cjs/type/matrix/function/matrix.js +4 -9
  895. package/lib/cjs/type/matrix/function/sparse.js +1 -4
  896. package/lib/cjs/type/matrix/utils/matAlgo01xDSid.js +36 -36
  897. package/lib/cjs/type/matrix/utils/matAlgo02xDS0.js +43 -43
  898. package/lib/cjs/type/matrix/utils/matAlgo03xDSf.js +40 -40
  899. package/lib/cjs/type/matrix/utils/matAlgo04xSidSid.js +71 -71
  900. package/lib/cjs/type/matrix/utils/matAlgo05xSfSf.js +73 -74
  901. package/lib/cjs/type/matrix/utils/matAlgo06xS0S0.js +61 -61
  902. package/lib/cjs/type/matrix/utils/matAlgo07xSSf.js +47 -49
  903. package/lib/cjs/type/matrix/utils/matAlgo08xS0Sid.js +67 -67
  904. package/lib/cjs/type/matrix/utils/matAlgo09xS0Sf.js +57 -56
  905. package/lib/cjs/type/matrix/utils/matAlgo10xSids.js +33 -33
  906. package/lib/cjs/type/matrix/utils/matAlgo11xS0s.js +39 -38
  907. package/lib/cjs/type/matrix/utils/matAlgo12xSfs.js +33 -33
  908. package/lib/cjs/type/matrix/utils/matAlgo13xDD.js +26 -28
  909. package/lib/cjs/type/matrix/utils/matAlgo14xDs.js +18 -19
  910. package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +10 -32
  911. package/lib/cjs/type/number.js +7 -26
  912. package/lib/cjs/type/resultset/ResultSet.js +5 -13
  913. package/lib/cjs/type/string.js +0 -5
  914. package/lib/cjs/type/unit/Unit.js +205 -388
  915. package/lib/cjs/type/unit/function/createUnit.js +1 -4
  916. package/lib/cjs/type/unit/function/splitUnit.js +0 -3
  917. package/lib/cjs/type/unit/function/unit.js +5 -6
  918. package/lib/cjs/type/unit/physicalConstants.js +22 -19
  919. package/lib/cjs/utils/array.js +62 -137
  920. package/lib/cjs/utils/bignumber/bitwise.js +13 -96
  921. package/lib/cjs/utils/bignumber/constants.js +4 -7
  922. package/lib/cjs/utils/bignumber/formatter.js +20 -46
  923. package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
  924. package/lib/cjs/utils/collection.js +24 -43
  925. package/lib/cjs/utils/complex.js +0 -2
  926. package/lib/cjs/utils/customs.js +18 -42
  927. package/lib/cjs/utils/emitter.js +2 -4
  928. package/lib/cjs/utils/factory.js +11 -28
  929. package/lib/cjs/utils/function.js +4 -21
  930. package/lib/cjs/utils/is.js +3 -50
  931. package/lib/cjs/utils/latex.js +6 -14
  932. package/lib/cjs/utils/log.js +0 -6
  933. package/lib/cjs/utils/lruQueue.js +0 -9
  934. package/lib/cjs/utils/map.js +12 -44
  935. package/lib/cjs/utils/noop.js +0 -5
  936. package/lib/cjs/utils/number.js +71 -151
  937. package/lib/cjs/utils/object.js +25 -85
  938. package/lib/cjs/utils/product.js +0 -4
  939. package/lib/cjs/utils/scope.js +0 -4
  940. package/lib/cjs/utils/snapshot.js +13 -47
  941. package/lib/cjs/utils/string.js +9 -40
  942. package/lib/cjs/utils/switch.js +0 -5
  943. package/lib/cjs/version.js +2 -2
  944. package/lib/esm/constants.js +9 -5
  945. package/lib/esm/core/create.js +24 -26
  946. package/lib/esm/core/function/config.js +12 -10
  947. package/lib/esm/core/function/import.js +21 -57
  948. package/lib/esm/core/function/typed.js +23 -41
  949. package/lib/esm/entry/configReadonly.js +2 -3
  950. package/lib/esm/entry/dependenciesAny.generated.js +0 -1
  951. package/lib/esm/entry/dependenciesNumber.generated.js +0 -1
  952. package/lib/esm/entry/impureFunctionsAny.generated.js +2 -8
  953. package/lib/esm/entry/impureFunctionsNumber.generated.js +2 -8
  954. package/lib/esm/entry/mainAny.js +10 -5
  955. package/lib/esm/entry/mainNumber.js +10 -5
  956. package/lib/esm/entry/pureFunctionsAny.generated.js +2 -1
  957. package/lib/esm/entry/pureFunctionsNumber.generated.js +2 -1
  958. package/lib/esm/error/ArgumentsError.js +0 -1
  959. package/lib/esm/error/DimensionError.js +0 -1
  960. package/lib/esm/error/IndexError.js +0 -4
  961. package/lib/esm/expression/Help.js +5 -23
  962. package/lib/esm/expression/Parser.js +8 -18
  963. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +1 -0
  964. package/lib/esm/expression/function/compile.js +0 -1
  965. package/lib/esm/expression/function/evaluate.js +0 -1
  966. package/lib/esm/expression/function/help.js +1 -5
  967. package/lib/esm/expression/function/parser.js +0 -1
  968. package/lib/esm/expression/node/AccessorNode.js +14 -40
  969. package/lib/esm/expression/node/ArrayNode.js +11 -29
  970. package/lib/esm/expression/node/AssignmentNode.js +25 -58
  971. package/lib/esm/expression/node/BlockNode.js +11 -33
  972. package/lib/esm/expression/node/ConditionalNode.js +15 -53
  973. package/lib/esm/expression/node/ConstantNode.js +11 -37
  974. package/lib/esm/expression/node/FunctionAssignmentNode.js +13 -46
  975. package/lib/esm/expression/node/FunctionNode.js +30 -93
  976. package/lib/esm/expression/node/IndexNode.js +15 -38
  977. package/lib/esm/expression/node/Node.js +23 -67
  978. package/lib/esm/expression/node/ObjectNode.js +11 -41
  979. package/lib/esm/expression/node/OperatorNode.js +36 -138
  980. package/lib/esm/expression/node/ParenthesisNode.js +12 -32
  981. package/lib/esm/expression/node/RangeNode.js +16 -62
  982. package/lib/esm/expression/node/RelationalNode.js +9 -37
  983. package/lib/esm/expression/node/SymbolNode.js +16 -39
  984. package/lib/esm/expression/node/utils/access.js +0 -2
  985. package/lib/esm/expression/node/utils/assign.js +0 -2
  986. package/lib/esm/expression/operators.js +21 -41
  987. package/lib/esm/expression/parse.js +145 -323
  988. package/lib/esm/expression/transform/apply.transform.js +3 -4
  989. package/lib/esm/expression/transform/column.transform.js +3 -4
  990. package/lib/esm/expression/transform/concat.transform.js +1 -3
  991. package/lib/esm/expression/transform/cumsum.transform.js +1 -3
  992. package/lib/esm/expression/transform/diff.transform.js +1 -2
  993. package/lib/esm/expression/transform/filter.transform.js +3 -7
  994. package/lib/esm/expression/transform/forEach.transform.js +2 -8
  995. package/lib/esm/expression/transform/index.transform.js +4 -6
  996. package/lib/esm/expression/transform/map.transform.js +3 -9
  997. package/lib/esm/expression/transform/max.transform.js +1 -2
  998. package/lib/esm/expression/transform/mean.transform.js +1 -2
  999. package/lib/esm/expression/transform/min.transform.js +1 -2
  1000. package/lib/esm/expression/transform/range.transform.js +1 -3
  1001. package/lib/esm/expression/transform/row.transform.js +3 -4
  1002. package/lib/esm/expression/transform/std.transform.js +1 -2
  1003. package/lib/esm/expression/transform/subset.transform.js +1 -1
  1004. package/lib/esm/expression/transform/sum.transform.js +1 -2
  1005. package/lib/esm/expression/transform/utils/compileInlineExpression.js +3 -5
  1006. package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
  1007. package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +1 -3
  1008. package/lib/esm/expression/transform/variance.transform.js +1 -2
  1009. package/lib/esm/factoriesAny.js +2 -1
  1010. package/lib/esm/factoriesNumber.js +58 -33
  1011. package/lib/esm/function/algebra/decomposition/lup.js +124 -158
  1012. package/lib/esm/function/algebra/decomposition/qr.js +22 -36
  1013. package/lib/esm/function/algebra/decomposition/slu.js +9 -8
  1014. package/lib/esm/function/algebra/derivative.js +36 -105
  1015. package/lib/esm/function/algebra/leafCount.js +1 -3
  1016. package/lib/esm/function/algebra/rationalize.js +127 -142
  1017. package/lib/esm/function/algebra/resolve.js +3 -10
  1018. package/lib/esm/function/algebra/simplify/util.js +12 -67
  1019. package/lib/esm/function/algebra/simplify.js +86 -162
  1020. package/lib/esm/function/algebra/simplifyConstant.js +22 -94
  1021. package/lib/esm/function/algebra/simplifyCore.js +6 -52
  1022. package/lib/esm/function/algebra/solver/lsolve.js +22 -26
  1023. package/lib/esm/function/algebra/solver/lsolveAll.js +24 -25
  1024. package/lib/esm/function/algebra/solver/lusolve.js +9 -14
  1025. package/lib/esm/function/algebra/solver/usolve.js +26 -31
  1026. package/lib/esm/function/algebra/solver/usolveAll.js +28 -25
  1027. package/lib/esm/function/algebra/solver/utils/solveValidation.js +4 -28
  1028. package/lib/esm/function/algebra/sparse/csAmd.js +247 -294
  1029. package/lib/esm/function/algebra/sparse/csChol.js +63 -75
  1030. package/lib/esm/function/algebra/sparse/csCounts.js +37 -52
  1031. package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
  1032. package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
  1033. package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
  1034. package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
  1035. package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
  1036. package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
  1037. package/lib/esm/function/algebra/sparse/csLeaf.js +12 -12
  1038. package/lib/esm/function/algebra/sparse/csLu.js +65 -83
  1039. package/lib/esm/function/algebra/sparse/csMark.js +1 -1
  1040. package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
  1041. package/lib/esm/function/algebra/sparse/csPost.js +15 -23
  1042. package/lib/esm/function/algebra/sparse/csReach.js +15 -17
  1043. package/lib/esm/function/algebra/sparse/csSpsolve.js +30 -35
  1044. package/lib/esm/function/algebra/sparse/csSqr.js +60 -77
  1045. package/lib/esm/function/algebra/sparse/csSymperm.js +32 -40
  1046. package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
  1047. package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
  1048. package/lib/esm/function/algebra/symbolicEqual.js +0 -2
  1049. package/lib/esm/function/arithmetic/abs.js +0 -1
  1050. package/lib/esm/function/arithmetic/add.js +1 -3
  1051. package/lib/esm/function/arithmetic/addScalar.js +0 -3
  1052. package/lib/esm/function/arithmetic/cbrt.js +8 -15
  1053. package/lib/esm/function/arithmetic/ceil.js +0 -3
  1054. package/lib/esm/function/arithmetic/cube.js +2 -1
  1055. package/lib/esm/function/arithmetic/divide.js +2 -1
  1056. package/lib/esm/function/arithmetic/divideScalar.js +0 -1
  1057. package/lib/esm/function/arithmetic/dotDivide.js +1 -1
  1058. package/lib/esm/function/arithmetic/dotMultiply.js +1 -1
  1059. package/lib/esm/function/arithmetic/dotPow.js +1 -3
  1060. package/lib/esm/function/arithmetic/exp.js +0 -1
  1061. package/lib/esm/function/arithmetic/expm1.js +0 -1
  1062. package/lib/esm/function/arithmetic/fix.js +0 -3
  1063. package/lib/esm/function/arithmetic/floor.js +0 -3
  1064. package/lib/esm/function/arithmetic/gcd.js +4 -8
  1065. package/lib/esm/function/arithmetic/hypot.js +1 -6
  1066. package/lib/esm/function/arithmetic/invmod.js +0 -2
  1067. package/lib/esm/function/arithmetic/lcm.js +5 -11
  1068. package/lib/esm/function/arithmetic/log.js +0 -1
  1069. package/lib/esm/function/arithmetic/log10.js +0 -1
  1070. package/lib/esm/function/arithmetic/log1p.js +1 -3
  1071. package/lib/esm/function/arithmetic/log2.js +1 -2
  1072. package/lib/esm/function/arithmetic/mod.js +3 -5
  1073. package/lib/esm/function/arithmetic/multiply.js +307 -324
  1074. package/lib/esm/function/arithmetic/multiplyScalar.js +0 -1
  1075. package/lib/esm/function/arithmetic/norm.js +29 -55
  1076. package/lib/esm/function/arithmetic/nthRoot.js +6 -14
  1077. package/lib/esm/function/arithmetic/nthRoots.js +4 -10
  1078. package/lib/esm/function/arithmetic/pow.js +13 -27
  1079. package/lib/esm/function/arithmetic/round.js +1 -10
  1080. package/lib/esm/function/arithmetic/sign.js +0 -2
  1081. package/lib/esm/function/arithmetic/sqrt.js +1 -2
  1082. package/lib/esm/function/arithmetic/square.js +0 -1
  1083. package/lib/esm/function/arithmetic/subtract.js +2 -4
  1084. package/lib/esm/function/arithmetic/unaryMinus.js +2 -2
  1085. package/lib/esm/function/arithmetic/unaryPlus.js +3 -1
  1086. package/lib/esm/function/arithmetic/xgcd.js +9 -12
  1087. package/lib/esm/function/bitwise/bitAnd.js +1 -1
  1088. package/lib/esm/function/bitwise/bitNot.js +0 -1
  1089. package/lib/esm/function/bitwise/bitOr.js +1 -1
  1090. package/lib/esm/function/bitwise/bitXor.js +1 -1
  1091. package/lib/esm/function/bitwise/leftShift.js +1 -5
  1092. package/lib/esm/function/bitwise/rightArithShift.js +1 -5
  1093. package/lib/esm/function/bitwise/rightLogShift.js +2 -4
  1094. package/lib/esm/function/combinatorics/bellNumbers.js +2 -5
  1095. package/lib/esm/function/combinatorics/catalan.js +0 -2
  1096. package/lib/esm/function/combinatorics/composition.js +0 -2
  1097. package/lib/esm/function/combinatorics/stirlingS2.js +0 -8
  1098. package/lib/esm/function/complex/arg.js +1 -1
  1099. package/lib/esm/function/complex/conj.js +0 -1
  1100. package/lib/esm/function/complex/im.js +0 -1
  1101. package/lib/esm/function/complex/re.js +0 -1
  1102. package/lib/esm/function/geometry/distance.js +0 -45
  1103. package/lib/esm/function/geometry/intersect.js +5 -38
  1104. package/lib/esm/function/logical/and.js +1 -5
  1105. package/lib/esm/function/logical/not.js +0 -1
  1106. package/lib/esm/function/logical/or.js +1 -1
  1107. package/lib/esm/function/logical/xor.js +1 -1
  1108. package/lib/esm/function/matrix/apply.js +2 -16
  1109. package/lib/esm/function/matrix/column.js +1 -3
  1110. package/lib/esm/function/matrix/concat.js +7 -16
  1111. package/lib/esm/function/matrix/count.js +0 -1
  1112. package/lib/esm/function/matrix/cross.js +1 -5
  1113. package/lib/esm/function/matrix/ctranspose.js +0 -1
  1114. package/lib/esm/function/matrix/det.js +1 -15
  1115. package/lib/esm/function/matrix/diag.js +18 -27
  1116. package/lib/esm/function/matrix/diff.js +4 -17
  1117. package/lib/esm/function/matrix/dot.js +18 -39
  1118. package/lib/esm/function/matrix/eigs/complexEigs.js +131 -169
  1119. package/lib/esm/function/matrix/eigs/realSymetric.js +51 -93
  1120. package/lib/esm/function/matrix/eigs.js +6 -30
  1121. package/lib/esm/function/matrix/expm.js +21 -33
  1122. package/lib/esm/function/matrix/fft.js +5 -14
  1123. package/lib/esm/function/matrix/filter.js +1 -2
  1124. package/lib/esm/function/matrix/flatten.js +5 -7
  1125. package/lib/esm/function/matrix/forEach.js +1 -4
  1126. package/lib/esm/function/matrix/getMatrixDataType.js +0 -1
  1127. package/lib/esm/function/matrix/identity.js +9 -20
  1128. package/lib/esm/function/matrix/ifft.js +0 -1
  1129. package/lib/esm/function/matrix/inv.js +12 -31
  1130. package/lib/esm/function/matrix/kron.js +1 -5
  1131. package/lib/esm/function/matrix/map.js +1 -7
  1132. package/lib/esm/function/matrix/matrixFromColumns.js +8 -12
  1133. package/lib/esm/function/matrix/matrixFromFunction.js +0 -4
  1134. package/lib/esm/function/matrix/matrixFromRows.js +2 -8
  1135. package/lib/esm/function/matrix/ones.js +5 -14
  1136. package/lib/esm/function/matrix/partitionSelect.js +12 -19
  1137. package/lib/esm/function/matrix/pinv.js +5 -31
  1138. package/lib/esm/function/matrix/range.js +8 -31
  1139. package/lib/esm/function/matrix/reshape.js +0 -1
  1140. package/lib/esm/function/matrix/resize.js +5 -17
  1141. package/lib/esm/function/matrix/rotate.js +0 -9
  1142. package/lib/esm/function/matrix/rotationMatrix.js +3 -19
  1143. package/lib/esm/function/matrix/row.js +1 -3
  1144. package/lib/esm/function/matrix/size.js +0 -1
  1145. package/lib/esm/function/matrix/sort.js +4 -14
  1146. package/lib/esm/function/matrix/sqrtm.js +2 -10
  1147. package/lib/esm/function/matrix/squeeze.js +2 -3
  1148. package/lib/esm/function/matrix/subset.js +15 -30
  1149. package/lib/esm/function/matrix/trace.js +20 -30
  1150. package/lib/esm/function/matrix/transpose.js +42 -53
  1151. package/lib/esm/function/matrix/zeros.js +8 -15
  1152. package/lib/esm/function/probability/combinations.js +3 -8
  1153. package/lib/esm/function/probability/combinationsWithRep.js +1 -12
  1154. package/lib/esm/function/probability/factorial.js +0 -3
  1155. package/lib/esm/function/probability/gamma.js +18 -26
  1156. package/lib/esm/function/probability/kldivergence.js +2 -12
  1157. package/lib/esm/function/probability/lgamma.js +12 -12
  1158. package/lib/esm/function/probability/multinomial.js +0 -2
  1159. package/lib/esm/function/probability/permutations.js +5 -13
  1160. package/lib/esm/function/probability/pickRandom.js +2 -17
  1161. package/lib/esm/function/probability/random.js +4 -10
  1162. package/lib/esm/function/probability/randomInt.js +1 -5
  1163. package/lib/esm/function/probability/util/randomMatrix.js +0 -2
  1164. package/lib/esm/function/probability/util/seededRNG.js +6 -5
  1165. package/lib/esm/function/relational/compare.js +1 -1
  1166. package/lib/esm/function/relational/compareNatural.js +27 -52
  1167. package/lib/esm/function/relational/compareText.js +1 -1
  1168. package/lib/esm/function/relational/compareUnits.js +0 -1
  1169. package/lib/esm/function/relational/deepEqual.js +1 -5
  1170. package/lib/esm/function/relational/equal.js +1 -5
  1171. package/lib/esm/function/relational/equalScalar.js +1 -1
  1172. package/lib/esm/function/relational/equalText.js +0 -1
  1173. package/lib/esm/function/relational/larger.js +1 -1
  1174. package/lib/esm/function/relational/largerEq.js +1 -1
  1175. package/lib/esm/function/relational/smaller.js +1 -1
  1176. package/lib/esm/function/relational/smallerEq.js +1 -1
  1177. package/lib/esm/function/relational/unequal.js +1 -6
  1178. package/lib/esm/function/set/setCartesian.js +4 -9
  1179. package/lib/esm/function/set/setDifference.js +4 -11
  1180. package/lib/esm/function/set/setDistinct.js +4 -9
  1181. package/lib/esm/function/set/setIntersect.js +4 -9
  1182. package/lib/esm/function/set/setIsSubset.js +0 -6
  1183. package/lib/esm/function/set/setMultiplicity.js +0 -4
  1184. package/lib/esm/function/set/setPowerset.js +6 -13
  1185. package/lib/esm/function/set/setSize.js +0 -3
  1186. package/lib/esm/function/set/setSymDifference.js +0 -2
  1187. package/lib/esm/function/set/setUnion.js +0 -2
  1188. package/lib/esm/function/special/erf.js +12 -23
  1189. package/lib/esm/function/statistics/cumsum.js +2 -18
  1190. package/lib/esm/function/statistics/mad.js +0 -4
  1191. package/lib/esm/function/statistics/max.js +4 -9
  1192. package/lib/esm/function/statistics/mean.js +2 -7
  1193. package/lib/esm/function/statistics/median.js +10 -12
  1194. package/lib/esm/function/statistics/min.js +4 -9
  1195. package/lib/esm/function/statistics/mode.js +1 -10
  1196. package/lib/esm/function/statistics/prod.js +6 -6
  1197. package/lib/esm/function/statistics/quantileSeq.js +15 -56
  1198. package/lib/esm/function/statistics/std.js +0 -4
  1199. package/lib/esm/function/statistics/sum.js +3 -7
  1200. package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
  1201. package/lib/esm/function/statistics/variance.js +5 -13
  1202. package/lib/esm/function/string/bin.js +1 -1
  1203. package/lib/esm/function/string/format.js +0 -1
  1204. package/lib/esm/function/string/hex.js +1 -1
  1205. package/lib/esm/function/string/oct.js +1 -0
  1206. package/lib/esm/function/string/print.js +1 -5
  1207. package/lib/esm/function/trigonometry/acos.js +0 -1
  1208. package/lib/esm/function/trigonometry/acosh.js +0 -3
  1209. package/lib/esm/function/trigonometry/acot.js +0 -1
  1210. package/lib/esm/function/trigonometry/acoth.js +0 -2
  1211. package/lib/esm/function/trigonometry/acsc.js +0 -2
  1212. package/lib/esm/function/trigonometry/acsch.js +0 -1
  1213. package/lib/esm/function/trigonometry/asec.js +0 -2
  1214. package/lib/esm/function/trigonometry/asech.js +0 -4
  1215. package/lib/esm/function/trigonometry/asin.js +0 -1
  1216. package/lib/esm/function/trigonometry/asinh.js +0 -1
  1217. package/lib/esm/function/trigonometry/atan.js +0 -1
  1218. package/lib/esm/function/trigonometry/atan2.js +2 -1
  1219. package/lib/esm/function/trigonometry/atanh.js +0 -2
  1220. package/lib/esm/function/trigonometry/cos.js +1 -1
  1221. package/lib/esm/function/trigonometry/cosh.js +0 -1
  1222. package/lib/esm/function/trigonometry/cot.js +1 -1
  1223. package/lib/esm/function/trigonometry/coth.js +0 -1
  1224. package/lib/esm/function/trigonometry/csc.js +1 -1
  1225. package/lib/esm/function/trigonometry/csch.js +0 -1
  1226. package/lib/esm/function/trigonometry/sec.js +1 -1
  1227. package/lib/esm/function/trigonometry/sech.js +0 -1
  1228. package/lib/esm/function/trigonometry/sin.js +1 -1
  1229. package/lib/esm/function/trigonometry/sinh.js +0 -1
  1230. package/lib/esm/function/trigonometry/tan.js +1 -1
  1231. package/lib/esm/function/trigonometry/tanh.js +0 -1
  1232. package/lib/esm/function/trigonometry/trigUnit.js +0 -1
  1233. package/lib/esm/function/unit/to.js +1 -1
  1234. package/lib/esm/function/utils/clone.js +0 -1
  1235. package/lib/esm/function/utils/hasNumericValue.js +0 -1
  1236. package/lib/esm/function/utils/isInteger.js +1 -1
  1237. package/lib/esm/function/utils/isNaN.js +0 -1
  1238. package/lib/esm/function/utils/isNegative.js +1 -1
  1239. package/lib/esm/function/utils/isNumeric.js +0 -1
  1240. package/lib/esm/function/utils/isPositive.js +0 -1
  1241. package/lib/esm/function/utils/isPrime.js +4 -22
  1242. package/lib/esm/function/utils/isZero.js +0 -1
  1243. package/lib/esm/function/utils/numeric.js +3 -7
  1244. package/lib/esm/function/utils/typeOf.js +0 -1
  1245. package/lib/esm/json/replacer.js +0 -1
  1246. package/lib/esm/json/reviver.js +0 -3
  1247. package/lib/esm/plain/bignumber/index.js +2 -1
  1248. package/lib/esm/plain/number/arithmetic.js +25 -45
  1249. package/lib/esm/plain/number/bitwise.js +0 -7
  1250. package/lib/esm/plain/number/combinations.js +4 -10
  1251. package/lib/esm/plain/number/probability.js +12 -16
  1252. package/lib/esm/type/bignumber/BigNumber.js +3 -6
  1253. package/lib/esm/type/bignumber/function/bignumber.js +0 -6
  1254. package/lib/esm/type/boolean.js +2 -6
  1255. package/lib/esm/type/chain/Chain.js +16 -36
  1256. package/lib/esm/type/chain/function/chain.js +0 -1
  1257. package/lib/esm/type/complex/Complex.js +8 -28
  1258. package/lib/esm/type/complex/function/complex.js +1 -3
  1259. package/lib/esm/type/fraction/Fraction.js +2 -4
  1260. package/lib/esm/type/fraction/function/fraction.js +1 -2
  1261. package/lib/esm/type/matrix/DenseMatrix.js +143 -224
  1262. package/lib/esm/type/matrix/FibonacciHeap.js +118 -156
  1263. package/lib/esm/type/matrix/ImmutableDenseMatrix.js +19 -38
  1264. package/lib/esm/type/matrix/Matrix.js +18 -36
  1265. package/lib/esm/type/matrix/MatrixIndex.js +24 -60
  1266. package/lib/esm/type/matrix/Range.js +14 -46
  1267. package/lib/esm/type/matrix/Spa.js +32 -50
  1268. package/lib/esm/type/matrix/SparseMatrix.js +412 -513
  1269. package/lib/esm/type/matrix/function/index.js +0 -1
  1270. package/lib/esm/type/matrix/function/matrix.js +1 -4
  1271. package/lib/esm/type/matrix/function/sparse.js +0 -1
  1272. package/lib/esm/type/matrix/utils/matAlgo01xDSid.js +36 -33
  1273. package/lib/esm/type/matrix/utils/matAlgo02xDS0.js +42 -39
  1274. package/lib/esm/type/matrix/utils/matAlgo03xDSf.js +40 -37
  1275. package/lib/esm/type/matrix/utils/matAlgo04xSidSid.js +70 -67
  1276. package/lib/esm/type/matrix/utils/matAlgo05xSfSf.js +72 -70
  1277. package/lib/esm/type/matrix/utils/matAlgo06xS0S0.js +60 -56
  1278. package/lib/esm/type/matrix/utils/matAlgo07xSSf.js +46 -45
  1279. package/lib/esm/type/matrix/utils/matAlgo08xS0Sid.js +66 -63
  1280. package/lib/esm/type/matrix/utils/matAlgo09xS0Sf.js +56 -52
  1281. package/lib/esm/type/matrix/utils/matAlgo10xSids.js +32 -30
  1282. package/lib/esm/type/matrix/utils/matAlgo11xS0s.js +38 -35
  1283. package/lib/esm/type/matrix/utils/matAlgo12xSfs.js +32 -30
  1284. package/lib/esm/type/matrix/utils/matAlgo13xDD.js +26 -25
  1285. package/lib/esm/type/matrix/utils/matAlgo14xDs.js +18 -16
  1286. package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +9 -26
  1287. package/lib/esm/type/number.js +7 -23
  1288. package/lib/esm/type/resultset/ResultSet.js +5 -11
  1289. package/lib/esm/type/string.js +0 -1
  1290. package/lib/esm/type/unit/Unit.js +189 -362
  1291. package/lib/esm/type/unit/function/createUnit.js +0 -1
  1292. package/lib/esm/type/unit/function/splitUnit.js +0 -1
  1293. package/lib/esm/type/unit/function/unit.js +4 -2
  1294. package/lib/esm/type/unit/physicalConstants.js +22 -15
  1295. package/lib/esm/utils/array.js +63 -113
  1296. package/lib/esm/utils/bignumber/bitwise.js +13 -89
  1297. package/lib/esm/utils/bignumber/constants.js +5 -5
  1298. package/lib/esm/utils/bignumber/formatter.js +21 -42
  1299. package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
  1300. package/lib/esm/utils/collection.js +25 -35
  1301. package/lib/esm/utils/complex.js +1 -1
  1302. package/lib/esm/utils/customs.js +19 -39
  1303. package/lib/esm/utils/emitter.js +3 -2
  1304. package/lib/esm/utils/factory.js +12 -20
  1305. package/lib/esm/utils/function.js +4 -13
  1306. package/lib/esm/utils/is.js +3 -7
  1307. package/lib/esm/utils/latex.js +6 -8
  1308. package/lib/esm/utils/log.js +0 -2
  1309. package/lib/esm/utils/lruQueue.js +0 -8
  1310. package/lib/esm/utils/map.js +6 -21
  1311. package/lib/esm/utils/number.js +72 -115
  1312. package/lib/esm/utils/object.js +26 -66
  1313. package/lib/esm/utils/product.js +0 -3
  1314. package/lib/esm/utils/scope.js +1 -3
  1315. package/lib/esm/utils/snapshot.js +10 -32
  1316. package/lib/esm/utils/string.js +10 -32
  1317. package/lib/esm/utils/switch.js +0 -4
  1318. package/lib/esm/version.js +2 -1
  1319. package/package.json +16 -15
  1320. package/types/index.d.ts +30 -35
  1321. package/types/index.ts +72 -7
  1322. package/types/tsconfig.json +1 -0
@@ -1,37 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createSparseMatrixClass = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _is = require("../../utils/is.js");
13
-
14
10
  var _number = require("../../utils/number.js");
15
-
16
11
  var _string = require("../../utils/string.js");
17
-
18
12
  var _object = require("../../utils/object.js");
19
-
20
13
  var _array = require("../../utils/array.js");
21
-
22
14
  var _factory = require("../../utils/factory.js");
23
-
24
15
  var _DimensionError = require("../../error/DimensionError.js");
25
-
26
16
  var _function = require("../../utils/function.js");
27
-
28
17
  var name = 'SparseMatrix';
29
18
  var dependencies = ['typed', 'equalScalar', 'Matrix'];
30
19
  var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
31
20
  var typed = _ref.typed,
32
- equalScalar = _ref.equalScalar,
33
- Matrix = _ref.Matrix;
34
-
21
+ equalScalar = _ref.equalScalar,
22
+ Matrix = _ref.Matrix;
35
23
  /**
36
24
  * Sparse Matrix implementation. This type implements
37
25
  * a [Compressed Column Storage](https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_column_(CSC_or_CCS))
@@ -42,11 +30,9 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
42
30
  if (!(this instanceof SparseMatrix)) {
43
31
  throw new SyntaxError('Constructor must be called with the new operator');
44
32
  }
45
-
46
33
  if (datatype && !(0, _is.isString)(datatype)) {
47
34
  throw new Error('Invalid datatype: ' + datatype);
48
35
  }
49
-
50
36
  if ((0, _is.isMatrix)(data)) {
51
37
  // create from matrix
52
38
  _createFromMatrix(this, data, datatype);
@@ -72,7 +58,6 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
72
58
  this._datatype = datatype;
73
59
  }
74
60
  }
75
-
76
61
  function _createFromMatrix(matrix, source, datatype) {
77
62
  // check matrix type
78
63
  if (source.type === 'SparseMatrix') {
@@ -87,58 +72,53 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
87
72
  _createFromArray(matrix, source.valueOf(), datatype || source._datatype);
88
73
  }
89
74
  }
90
-
91
75
  function _createFromArray(matrix, data, datatype) {
92
76
  // initialize fields
93
77
  matrix._values = [];
94
78
  matrix._index = [];
95
79
  matrix._ptr = [];
96
- matrix._datatype = datatype; // discover rows & columns, do not use math.size() to avoid looping array twice
97
-
80
+ matrix._datatype = datatype;
81
+ // discover rows & columns, do not use math.size() to avoid looping array twice
98
82
  var rows = data.length;
99
- var columns = 0; // equal signature to use
100
-
101
- var eq = equalScalar; // zero value
83
+ var columns = 0;
102
84
 
85
+ // equal signature to use
86
+ var eq = equalScalar;
87
+ // zero value
103
88
  var zero = 0;
104
-
105
89
  if ((0, _is.isString)(datatype)) {
106
90
  // find signature that matches (datatype, datatype)
107
- eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar; // convert 0 to the same datatype
108
-
91
+ eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
92
+ // convert 0 to the same datatype
109
93
  zero = typed.convert(0, datatype);
110
- } // check we have rows (empty array)
111
-
94
+ }
112
95
 
96
+ // check we have rows (empty array)
113
97
  if (rows > 0) {
114
98
  // column index
115
99
  var j = 0;
116
-
117
100
  do {
118
101
  // store pointer to values index
119
- matrix._ptr.push(matrix._index.length); // loop rows
120
-
121
-
102
+ matrix._ptr.push(matrix._index.length);
103
+ // loop rows
122
104
  for (var i = 0; i < rows; i++) {
123
105
  // current row
124
- var row = data[i]; // check row is an array
125
-
106
+ var row = data[i];
107
+ // check row is an array
126
108
  if ((0, _is.isArray)(row)) {
127
109
  // update columns if needed (only on first column)
128
110
  if (j === 0 && columns < row.length) {
129
111
  columns = row.length;
130
- } // check row has column
131
-
132
-
112
+ }
113
+ // check row has column
133
114
  if (j < row.length) {
134
115
  // value
135
- var v = row[j]; // check value != 0
136
-
116
+ var v = row[j];
117
+ // check value != 0
137
118
  if (!eq(v, zero)) {
138
119
  // store value
139
- matrix._values.push(v); // index
140
-
141
-
120
+ matrix._values.push(v);
121
+ // index
142
122
  matrix._index.push(i);
143
123
  }
144
124
  }
@@ -146,50 +126,44 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
146
126
  // update columns if needed (only on first column)
147
127
  if (j === 0 && columns < 1) {
148
128
  columns = 1;
149
- } // check value != 0 (row is a scalar)
150
-
151
-
129
+ }
130
+ // check value != 0 (row is a scalar)
152
131
  if (!eq(row, zero)) {
153
132
  // store value
154
- matrix._values.push(row); // index
155
-
156
-
133
+ matrix._values.push(row);
134
+ // index
157
135
  matrix._index.push(i);
158
136
  }
159
137
  }
160
- } // increment index
161
-
162
-
138
+ }
139
+ // increment index
163
140
  j++;
164
141
  } while (j < columns);
165
- } // store number of values in ptr
166
-
167
-
168
- matrix._ptr.push(matrix._index.length); // size
169
-
170
-
142
+ }
143
+ // store number of values in ptr
144
+ matrix._ptr.push(matrix._index.length);
145
+ // size
171
146
  matrix._size = [rows, columns];
172
147
  }
173
-
174
148
  SparseMatrix.prototype = new Matrix();
149
+
175
150
  /**
176
151
  * Create a new SparseMatrix
177
152
  */
178
-
179
153
  SparseMatrix.prototype.createSparseMatrix = function (data, datatype) {
180
154
  return new SparseMatrix(data, datatype);
181
155
  };
156
+
182
157
  /**
183
158
  * Attach type information
184
159
  */
185
-
186
-
187
160
  Object.defineProperty(SparseMatrix, 'name', {
188
161
  value: 'SparseMatrix'
189
162
  });
190
163
  SparseMatrix.prototype.constructor = SparseMatrix;
191
164
  SparseMatrix.prototype.type = 'SparseMatrix';
192
165
  SparseMatrix.prototype.isSparseMatrix = true;
166
+
193
167
  /**
194
168
  * Get the matrix type
195
169
  *
@@ -199,10 +173,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
199
173
  * @memberOf SparseMatrix
200
174
  * @return {string} type information; if multiple types are found from the Matrix, it will return "mixed"
201
175
  */
202
-
203
176
  SparseMatrix.prototype.getDataType = function () {
204
177
  return (0, _array.getArrayDataType)(this._values, _is.typeOf);
205
178
  };
179
+
206
180
  /**
207
181
  * Get the storage format used by the matrix.
208
182
  *
@@ -212,11 +186,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
212
186
  * @memberof SparseMatrix
213
187
  * @return {string} The storage format.
214
188
  */
215
-
216
-
217
189
  SparseMatrix.prototype.storage = function () {
218
190
  return 'sparse';
219
191
  };
192
+
220
193
  /**
221
194
  * Get the datatype of the data stored in the matrix.
222
195
  *
@@ -226,22 +199,20 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
226
199
  * @memberof SparseMatrix
227
200
  * @return {string} The datatype.
228
201
  */
229
-
230
-
231
202
  SparseMatrix.prototype.datatype = function () {
232
203
  return this._datatype;
233
204
  };
205
+
234
206
  /**
235
207
  * Create a new SparseMatrix
236
208
  * @memberof SparseMatrix
237
209
  * @param {Array} data
238
210
  * @param {string} [datatype]
239
211
  */
240
-
241
-
242
212
  SparseMatrix.prototype.create = function (data, datatype) {
243
213
  return new SparseMatrix(data, datatype);
244
214
  };
215
+
245
216
  /**
246
217
  * Get the matrix density.
247
218
  *
@@ -251,15 +222,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
251
222
  * @memberof SparseMatrix
252
223
  * @return {number} The matrix density.
253
224
  */
254
-
255
-
256
225
  SparseMatrix.prototype.density = function () {
257
226
  // rows & columns
258
227
  var rows = this._size[0];
259
- var columns = this._size[1]; // calculate density
260
-
228
+ var columns = this._size[1];
229
+ // calculate density
261
230
  return rows !== 0 && columns !== 0 ? this._index.length / (rows * columns) : 0;
262
231
  };
232
+
263
233
  /**
264
234
  * Get a subset of the matrix, or replace a subset of the matrix.
265
235
  *
@@ -274,103 +244,101 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
274
244
  * the matrix is resized. If not provided,
275
245
  * new matrix elements will be filled with zeros.
276
246
  */
277
-
278
-
279
247
  SparseMatrix.prototype.subset = function (index, replacement, defaultValue) {
280
248
  // check it is a pattern matrix
281
249
  if (!this._values) {
282
250
  throw new Error('Cannot invoke subset on a Pattern only matrix');
283
- } // check arguments
284
-
251
+ }
285
252
 
253
+ // check arguments
286
254
  switch (arguments.length) {
287
255
  case 1:
288
256
  return _getsubset(this, index);
289
- // intentional fall through
290
257
 
258
+ // intentional fall through
291
259
  case 2:
292
260
  case 3:
293
261
  return _setsubset(this, index, replacement, defaultValue);
294
-
295
262
  default:
296
263
  throw new SyntaxError('Wrong number of arguments');
297
264
  }
298
265
  };
299
-
300
266
  function _getsubset(matrix, idx) {
301
267
  // check idx
302
268
  if (!(0, _is.isIndex)(idx)) {
303
269
  throw new TypeError('Invalid index');
304
270
  }
305
-
306
271
  var isScalar = idx.isScalar();
307
-
308
272
  if (isScalar) {
309
273
  // return a scalar
310
274
  return matrix.get(idx.min());
311
- } // validate dimensions
312
-
313
-
275
+ }
276
+ // validate dimensions
314
277
  var size = idx.size();
315
-
316
278
  if (size.length !== matrix._size.length) {
317
279
  throw new _DimensionError.DimensionError(size.length, matrix._size.length);
318
- } // vars
319
-
280
+ }
320
281
 
321
- var i, ii, k, kk; // validate if any of the ranges in the index is out of range
282
+ // vars
283
+ var i, ii, k, kk;
322
284
 
285
+ // validate if any of the ranges in the index is out of range
323
286
  var min = idx.min();
324
287
  var max = idx.max();
325
-
326
288
  for (i = 0, ii = matrix._size.length; i < ii; i++) {
327
289
  (0, _array.validateIndex)(min[i], matrix._size[i]);
328
290
  (0, _array.validateIndex)(max[i], matrix._size[i]);
329
- } // matrix arrays
330
-
291
+ }
331
292
 
293
+ // matrix arrays
332
294
  var mvalues = matrix._values;
333
295
  var mindex = matrix._index;
334
- var mptr = matrix._ptr; // rows & columns dimensions for result matrix
296
+ var mptr = matrix._ptr;
335
297
 
298
+ // rows & columns dimensions for result matrix
336
299
  var rows = idx.dimension(0);
337
- var columns = idx.dimension(1); // workspace & permutation vector
300
+ var columns = idx.dimension(1);
338
301
 
302
+ // workspace & permutation vector
339
303
  var w = [];
340
- var pv = []; // loop rows in resulting matrix
304
+ var pv = [];
341
305
 
306
+ // loop rows in resulting matrix
342
307
  rows.forEach(function (i, r) {
343
308
  // update permutation vector
344
- pv[i] = r[0]; // mark i in workspace
345
-
309
+ pv[i] = r[0];
310
+ // mark i in workspace
346
311
  w[i] = true;
347
- }); // result matrix arrays
312
+ });
348
313
 
314
+ // result matrix arrays
349
315
  var values = mvalues ? [] : undefined;
350
316
  var index = [];
351
- var ptr = []; // loop columns in result matrix
317
+ var ptr = [];
352
318
 
319
+ // loop columns in result matrix
353
320
  columns.forEach(function (j) {
354
321
  // update ptr
355
- ptr.push(index.length); // loop values in column j
356
-
322
+ ptr.push(index.length);
323
+ // loop values in column j
357
324
  for (k = mptr[j], kk = mptr[j + 1]; k < kk; k++) {
358
325
  // row
359
- i = mindex[k]; // check row is in result matrix
360
-
326
+ i = mindex[k];
327
+ // check row is in result matrix
361
328
  if (w[i] === true) {
362
329
  // push index
363
- index.push(pv[i]); // check we need to process values
364
-
330
+ index.push(pv[i]);
331
+ // check we need to process values
365
332
  if (values) {
366
333
  values.push(mvalues[k]);
367
334
  }
368
335
  }
369
336
  }
370
- }); // update ptr
371
-
372
- ptr.push(index.length); // return matrix
337
+ });
338
+ // update ptr
339
+ ptr.push(index.length);
373
340
 
341
+ // return matrix
374
342
  return new SparseMatrix({
375
343
  values: values,
376
344
  index: index,
@@ -379,69 +347,64 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
379
347
  datatype: matrix._datatype
380
348
  });
381
349
  }
382
-
383
350
  function _setsubset(matrix, index, submatrix, defaultValue) {
384
351
  // check index
385
352
  if (!index || index.isIndex !== true) {
386
353
  throw new TypeError('Invalid index');
387
- } // get index size and check whether the index contains a single value
388
-
354
+ }
389
355
 
356
+ // get index size and check whether the index contains a single value
390
357
  var iSize = index.size();
391
- var isScalar = index.isScalar(); // calculate the size of the submatrix, and convert it into an Array if needed
358
+ var isScalar = index.isScalar();
392
359
 
360
+ // calculate the size of the submatrix, and convert it into an Array if needed
393
361
  var sSize;
394
-
395
362
  if ((0, _is.isMatrix)(submatrix)) {
396
363
  // submatrix size
397
- sSize = submatrix.size(); // use array representation
398
-
364
+ sSize = submatrix.size();
365
+ // use array representation
399
366
  submatrix = submatrix.toArray();
400
367
  } else {
401
368
  // get submatrix size (array, scalar)
402
369
  sSize = (0, _array.arraySize)(submatrix);
403
- } // check index is a scalar
404
-
370
+ }
405
371
 
372
+ // check index is a scalar
406
373
  if (isScalar) {
407
374
  // verify submatrix is a scalar
408
375
  if (sSize.length !== 0) {
409
376
  throw new TypeError('Scalar expected');
410
- } // set value
411
-
412
-
377
+ }
378
+ // set value
413
379
  matrix.set(index.min(), submatrix, defaultValue);
414
380
  } else {
415
381
  // validate dimensions, index size must be one or two dimensions
416
382
  if (iSize.length !== 1 && iSize.length !== 2) {
417
383
  throw new _DimensionError.DimensionError(iSize.length, matrix._size.length, '<');
418
- } // check submatrix and index have the same dimensions
419
-
384
+ }
420
385
 
386
+ // check submatrix and index have the same dimensions
421
387
  if (sSize.length < iSize.length) {
422
388
  // calculate number of missing outer dimensions
423
389
  var i = 0;
424
390
  var outer = 0;
425
-
426
391
  while (iSize[i] === 1 && sSize[i] === 1) {
427
392
  i++;
428
393
  }
429
-
430
394
  while (iSize[i] === 1) {
431
395
  outer++;
432
396
  i++;
433
- } // unsqueeze both outer and inner dimensions
434
-
435
-
397
+ }
398
+ // unsqueeze both outer and inner dimensions
436
399
  submatrix = (0, _array.unsqueeze)(submatrix, iSize.length, outer, sSize);
437
- } // check whether the size of the submatrix matches the index size
438
-
400
+ }
439
401
 
402
+ // check whether the size of the submatrix matches the index size
440
403
  if (!(0, _object.deepStrictEqual)(iSize, sSize)) {
441
404
  throw new _DimensionError.DimensionError(iSize, sSize, '>');
442
- } // insert the sub matrix
443
-
405
+ }
444
406
 
407
+ // insert the sub matrix
445
408
  if (iSize.length === 1) {
446
409
  // if the replacement index only has 1 dimension, go trough each one and set its value
447
410
  var range = index.dimension(0);
@@ -462,47 +425,45 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
462
425
  });
463
426
  }
464
427
  }
465
-
466
428
  return matrix;
467
429
  }
430
+
468
431
  /**
469
432
  * Get a single element from the matrix.
470
433
  * @memberof SparseMatrix
471
434
  * @param {number[]} index Zero-based index
472
435
  * @return {*} value
473
436
  */
474
-
475
-
476
437
  SparseMatrix.prototype.get = function (index) {
477
438
  if (!(0, _is.isArray)(index)) {
478
439
  throw new TypeError('Array expected');
479
440
  }
480
-
481
441
  if (index.length !== this._size.length) {
482
442
  throw new _DimensionError.DimensionError(index.length, this._size.length);
483
- } // check it is a pattern matrix
484
-
443
+ }
485
444
 
445
+ // check it is a pattern matrix
486
446
  if (!this._values) {
487
447
  throw new Error('Cannot invoke get on a Pattern only matrix');
488
- } // row and column
489
-
448
+ }
490
449
 
450
+ // row and column
491
451
  var i = index[0];
492
- var j = index[1]; // check i, j are valid
452
+ var j = index[1];
493
453
 
454
+ // check i, j are valid
494
455
  (0, _array.validateIndex)(i, this._size[0]);
495
- (0, _array.validateIndex)(j, this._size[1]); // find value index
496
-
497
- var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index); // check k is prior to next column k and it is in the correct row
498
-
456
+ (0, _array.validateIndex)(j, this._size[1]);
499
457
 
458
+ // find value index
459
+ var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
460
+ // check k is prior to next column k and it is in the correct row
500
461
  if (k < this._ptr[j + 1] && this._index[k] === i) {
501
462
  return this._values[k];
502
463
  }
503
-
504
464
  return 0;
505
465
  };
466
+
506
467
  /**
507
468
  * Replace a single element in the matrix.
508
469
  * @memberof SparseMatrix
@@ -513,57 +474,54 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
513
474
  * new matrix elements will be set to zero.
514
475
  * @return {SparseMatrix} self
515
476
  */
516
-
517
-
518
477
  SparseMatrix.prototype.set = function (index, v, defaultValue) {
519
478
  if (!(0, _is.isArray)(index)) {
520
479
  throw new TypeError('Array expected');
521
480
  }
522
-
523
481
  if (index.length !== this._size.length) {
524
482
  throw new _DimensionError.DimensionError(index.length, this._size.length);
525
- } // check it is a pattern matrix
526
-
483
+ }
527
484
 
485
+ // check it is a pattern matrix
528
486
  if (!this._values) {
529
487
  throw new Error('Cannot invoke set on a Pattern only matrix');
530
- } // row and column
531
-
488
+ }
532
489
 
490
+ // row and column
533
491
  var i = index[0];
534
- var j = index[1]; // rows & columns
492
+ var j = index[1];
535
493
 
494
+ // rows & columns
536
495
  var rows = this._size[0];
537
- var columns = this._size[1]; // equal signature to use
538
-
539
- var eq = equalScalar; // zero value
496
+ var columns = this._size[1];
540
497
 
498
+ // equal signature to use
499
+ var eq = equalScalar;
500
+ // zero value
541
501
  var zero = 0;
542
-
543
502
  if ((0, _is.isString)(this._datatype)) {
544
503
  // find signature that matches (datatype, datatype)
545
- eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar; // convert 0 to the same datatype
546
-
504
+ eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;
505
+ // convert 0 to the same datatype
547
506
  zero = typed.convert(0, this._datatype);
548
- } // check we need to resize matrix
549
-
507
+ }
550
508
 
509
+ // check we need to resize matrix
551
510
  if (i > rows - 1 || j > columns - 1) {
552
511
  // resize matrix
553
- _resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue); // update rows & columns
554
-
555
-
512
+ _resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);
513
+ // update rows & columns
556
514
  rows = this._size[0];
557
515
  columns = this._size[1];
558
- } // check i, j are valid
559
-
516
+ }
560
517
 
518
+ // check i, j are valid
561
519
  (0, _array.validateIndex)(i, rows);
562
- (0, _array.validateIndex)(j, columns); // find value index
563
-
564
- var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index); // check k is prior to next column k and it is in the correct row
565
-
520
+ (0, _array.validateIndex)(j, columns);
566
521
 
522
+ // find value index
523
+ var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
524
+ // check k is prior to next column k and it is in the correct row
567
525
  if (k < this._ptr[j + 1] && this._index[k] === i) {
568
526
  // check value != 0
569
527
  if (!eq(v, zero)) {
@@ -577,48 +535,43 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
577
535
  // insert value @ (i, j)
578
536
  _insert(k, i, j, v, this._values, this._index, this._ptr);
579
537
  }
580
-
581
538
  return this;
582
539
  };
583
-
584
540
  function _getValueIndex(i, top, bottom, index) {
585
541
  // check row is on the bottom side
586
542
  if (bottom - top === 0) {
587
543
  return bottom;
588
- } // loop rows [top, bottom[
589
-
590
-
544
+ }
545
+ // loop rows [top, bottom[
591
546
  for (var r = top; r < bottom; r++) {
592
547
  // check we found value index
593
548
  if (index[r] === i) {
594
549
  return r;
595
550
  }
596
- } // we did not find row
597
-
598
-
551
+ }
552
+ // we did not find row
599
553
  return top;
600
554
  }
601
-
602
555
  function _remove(k, j, values, index, ptr) {
603
556
  // remove value @ k
604
557
  values.splice(k, 1);
605
- index.splice(k, 1); // update pointers
606
-
558
+ index.splice(k, 1);
559
+ // update pointers
607
560
  for (var x = j + 1; x < ptr.length; x++) {
608
561
  ptr[x]--;
609
562
  }
610
563
  }
611
-
612
564
  function _insert(k, i, j, v, values, index, ptr) {
613
565
  // insert value
614
- values.splice(k, 0, v); // update row for k
615
-
616
- index.splice(k, 0, i); // update column pointers
617
-
566
+ values.splice(k, 0, v);
567
+ // update row for k
568
+ index.splice(k, 0, i);
569
+ // update column pointers
618
570
  for (var x = j + 1; x < ptr.length; x++) {
619
571
  ptr[x]++;
620
572
  }
621
573
  }
574
+
622
575
  /**
623
576
  * Resize the matrix to the given size. Returns a copy of the matrix when
624
577
  * `copy=true`, otherwise return the matrix itself (resize in place).
@@ -634,159 +587,148 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
634
587
  *
635
588
  * @return {Matrix} The resized matrix
636
589
  */
637
-
638
-
639
590
  SparseMatrix.prototype.resize = function (size, defaultValue, copy) {
640
591
  // validate arguments
641
592
  if (!(0, _is.isCollection)(size)) {
642
593
  throw new TypeError('Array or Matrix expected');
643
- } // SparseMatrix input is always 2d, flatten this into 1d if it's indeed a vector
644
-
594
+ }
645
595
 
596
+ // SparseMatrix input is always 2d, flatten this into 1d if it's indeed a vector
646
597
  var sizeArray = size.valueOf().map(function (value) {
647
598
  return Array.isArray(value) && value.length === 1 ? value[0] : value;
648
599
  });
649
-
650
600
  if (sizeArray.length !== 2) {
651
601
  throw new Error('Only two dimensions matrix are supported');
652
- } // check sizes
653
-
602
+ }
654
603
 
604
+ // check sizes
655
605
  sizeArray.forEach(function (value) {
656
606
  if (!(0, _is.isNumber)(value) || !(0, _number.isInteger)(value) || value < 0) {
657
607
  throw new TypeError('Invalid size, must contain positive integers ' + '(size: ' + (0, _string.format)(sizeArray) + ')');
658
608
  }
659
- }); // matrix to resize
660
-
661
- var m = copy ? this.clone() : this; // resize matrix
609
+ });
662
610
 
611
+ // matrix to resize
612
+ var m = copy ? this.clone() : this;
613
+ // resize matrix
663
614
  return _resize(m, sizeArray[0], sizeArray[1], defaultValue);
664
615
  };
665
-
666
616
  function _resize(matrix, rows, columns, defaultValue) {
667
617
  // value to insert at the time of growing matrix
668
- var value = defaultValue || 0; // equal signature to use
669
-
670
- var eq = equalScalar; // zero value
618
+ var value = defaultValue || 0;
671
619
 
620
+ // equal signature to use
621
+ var eq = equalScalar;
622
+ // zero value
672
623
  var zero = 0;
673
-
674
624
  if ((0, _is.isString)(matrix._datatype)) {
675
625
  // find signature that matches (datatype, datatype)
676
- eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar; // convert 0 to the same datatype
677
-
678
- zero = typed.convert(0, matrix._datatype); // convert value to the same datatype
679
-
626
+ eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
627
+ // convert 0 to the same datatype
628
+ zero = typed.convert(0, matrix._datatype);
629
+ // convert value to the same datatype
680
630
  value = typed.convert(value, matrix._datatype);
681
- } // should we insert the value?
682
-
631
+ }
683
632
 
684
- var ins = !eq(value, zero); // old columns and rows
633
+ // should we insert the value?
634
+ var ins = !eq(value, zero);
685
635
 
636
+ // old columns and rows
686
637
  var r = matrix._size[0];
687
638
  var c = matrix._size[1];
688
- var i, j, k; // check we need to increase columns
639
+ var i, j, k;
689
640
 
641
+ // check we need to increase columns
690
642
  if (columns > c) {
691
643
  // loop new columns
692
644
  for (j = c; j < columns; j++) {
693
645
  // update matrix._ptr for current column
694
- matrix._ptr[j] = matrix._values.length; // check we need to insert matrix._values
695
-
646
+ matrix._ptr[j] = matrix._values.length;
647
+ // check we need to insert matrix._values
696
648
  if (ins) {
697
649
  // loop rows
698
650
  for (i = 0; i < r; i++) {
699
651
  // add new matrix._values
700
- matrix._values.push(value); // update matrix._index
701
-
702
-
652
+ matrix._values.push(value);
653
+ // update matrix._index
703
654
  matrix._index.push(i);
704
655
  }
705
656
  }
706
- } // store number of matrix._values in matrix._ptr
707
-
708
-
657
+ }
658
+ // store number of matrix._values in matrix._ptr
709
659
  matrix._ptr[columns] = matrix._values.length;
710
660
  } else if (columns < c) {
711
661
  // truncate matrix._ptr
712
- matrix._ptr.splice(columns + 1, c - columns); // truncate matrix._values and matrix._index
713
-
714
-
662
+ matrix._ptr.splice(columns + 1, c - columns);
663
+ // truncate matrix._values and matrix._index
715
664
  matrix._values.splice(matrix._ptr[columns], matrix._values.length);
716
-
717
665
  matrix._index.splice(matrix._ptr[columns], matrix._index.length);
718
- } // update columns
719
-
720
-
721
- c = columns; // check we need to increase rows
666
+ }
667
+ // update columns
668
+ c = columns;
722
669
 
670
+ // check we need to increase rows
723
671
  if (rows > r) {
724
672
  // check we have to insert values
725
673
  if (ins) {
726
674
  // inserts
727
- var n = 0; // loop columns
728
-
675
+ var n = 0;
676
+ // loop columns
729
677
  for (j = 0; j < c; j++) {
730
678
  // update matrix._ptr for current column
731
- matrix._ptr[j] = matrix._ptr[j] + n; // where to insert matrix._values
732
-
733
- k = matrix._ptr[j + 1] + n; // pointer
734
-
735
- var p = 0; // loop new rows, initialize pointer
736
-
679
+ matrix._ptr[j] = matrix._ptr[j] + n;
680
+ // where to insert matrix._values
681
+ k = matrix._ptr[j + 1] + n;
682
+ // pointer
683
+ var p = 0;
684
+ // loop new rows, initialize pointer
737
685
  for (i = r; i < rows; i++, p++) {
738
686
  // add value
739
- matrix._values.splice(k + p, 0, value); // update matrix._index
740
-
741
-
742
- matrix._index.splice(k + p, 0, i); // increment inserts
743
-
744
-
687
+ matrix._values.splice(k + p, 0, value);
688
+ // update matrix._index
689
+ matrix._index.splice(k + p, 0, i);
690
+ // increment inserts
745
691
  n++;
746
692
  }
747
- } // store number of matrix._values in matrix._ptr
748
-
749
-
693
+ }
694
+ // store number of matrix._values in matrix._ptr
750
695
  matrix._ptr[c] = matrix._values.length;
751
696
  }
752
697
  } else if (rows < r) {
753
698
  // deletes
754
- var d = 0; // loop columns
755
-
699
+ var d = 0;
700
+ // loop columns
756
701
  for (j = 0; j < c; j++) {
757
702
  // update matrix._ptr for current column
758
- matrix._ptr[j] = matrix._ptr[j] - d; // where matrix._values start for next column
759
-
703
+ matrix._ptr[j] = matrix._ptr[j] - d;
704
+ // where matrix._values start for next column
760
705
  var k0 = matrix._ptr[j];
761
- var k1 = matrix._ptr[j + 1] - d; // loop matrix._index
762
-
706
+ var k1 = matrix._ptr[j + 1] - d;
707
+ // loop matrix._index
763
708
  for (k = k0; k < k1; k++) {
764
709
  // row
765
- i = matrix._index[k]; // check we need to delete value and matrix._index
766
-
710
+ i = matrix._index[k];
711
+ // check we need to delete value and matrix._index
767
712
  if (i > rows - 1) {
768
713
  // remove value
769
- matrix._values.splice(k, 1); // remove item from matrix._index
770
-
771
-
772
- matrix._index.splice(k, 1); // increase deletes
773
-
774
-
714
+ matrix._values.splice(k, 1);
715
+ // remove item from matrix._index
716
+ matrix._index.splice(k, 1);
717
+ // increase deletes
775
718
  d++;
776
719
  }
777
720
  }
778
- } // update matrix._ptr for current column
779
-
780
-
721
+ }
722
+ // update matrix._ptr for current column
781
723
  matrix._ptr[j] = matrix._values.length;
782
- } // update matrix._size
783
-
784
-
724
+ }
725
+ // update matrix._size
785
726
  matrix._size[0] = rows;
786
- matrix._size[1] = columns; // return matrix
787
-
727
+ matrix._size[1] = columns;
728
+ // return matrix
788
729
  return matrix;
789
730
  }
731
+
790
732
  /**
791
733
  * Reshape the matrix to the given size. Returns a copy of the matrix when
792
734
  * `copy=true`, otherwise return the matrix itself (reshape in place).
@@ -803,19 +745,16 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
803
745
  *
804
746
  * @return {Matrix} The reshaped matrix
805
747
  */
806
-
807
-
808
748
  SparseMatrix.prototype.reshape = function (sizes, copy) {
809
749
  // validate arguments
810
750
  if (!(0, _is.isArray)(sizes)) {
811
751
  throw new TypeError('Array expected');
812
752
  }
813
-
814
753
  if (sizes.length !== 2) {
815
754
  throw new Error('Sparse matrices can only be reshaped in two dimensions');
816
- } // check sizes
817
-
755
+ }
818
756
 
757
+ // check sizes
819
758
  sizes.forEach(function (value) {
820
759
  if (!(0, _is.isNumber)(value) || !(0, _number.isInteger)(value) || value <= -2 || value === 0) {
821
760
  throw new TypeError('Invalid size, must contain positive integers or -1 ' + '(size: ' + (0, _string.format)(sizes) + ')');
@@ -823,79 +762,79 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
823
762
  });
824
763
  var currentLength = this._size[0] * this._size[1];
825
764
  sizes = (0, _array.processSizesWildcard)(sizes, currentLength);
826
- var newLength = sizes[0] * sizes[1]; // m * n must not change
765
+ var newLength = sizes[0] * sizes[1];
827
766
 
767
+ // m * n must not change
828
768
  if (currentLength !== newLength) {
829
769
  throw new Error('Reshaping sparse matrix will result in the wrong number of elements');
830
- } // matrix to reshape
831
-
770
+ }
832
771
 
833
- var m = copy ? this.clone() : this; // return unchanged if the same shape
772
+ // matrix to reshape
773
+ var m = copy ? this.clone() : this;
834
774
 
775
+ // return unchanged if the same shape
835
776
  if (this._size[0] === sizes[0] && this._size[1] === sizes[1]) {
836
777
  return m;
837
- } // Convert to COO format (generate a column index)
838
-
778
+ }
839
779
 
780
+ // Convert to COO format (generate a column index)
840
781
  var colIndex = [];
841
-
842
782
  for (var i = 0; i < m._ptr.length; i++) {
843
783
  for (var j = 0; j < m._ptr[i + 1] - m._ptr[i]; j++) {
844
784
  colIndex.push(i);
845
785
  }
846
- } // Clone the values array
847
-
848
-
849
- var values = m._values.slice(); // Clone the row index array
850
-
786
+ }
851
787
 
852
- var rowIndex = m._index.slice(); // Transform the (row, column) indices
788
+ // Clone the values array
789
+ var values = m._values.slice();
853
790
 
791
+ // Clone the row index array
792
+ var rowIndex = m._index.slice();
854
793
 
794
+ // Transform the (row, column) indices
855
795
  for (var _i = 0; _i < m._index.length; _i++) {
856
796
  var r1 = rowIndex[_i];
857
797
  var c1 = colIndex[_i];
858
798
  var flat = r1 * m._size[1] + c1;
859
799
  colIndex[_i] = flat % sizes[1];
860
800
  rowIndex[_i] = Math.floor(flat / sizes[1]);
861
- } // Now reshaping is supposed to preserve the row-major order, BUT these sparse matrices are stored
801
+ }
802
+
803
+ // Now reshaping is supposed to preserve the row-major order, BUT these sparse matrices are stored
862
804
  // in column-major order, so we have to reorder the value array now. One option is to use a multisort,
863
805
  // sorting several arrays based on some other array.
864
- // OR, we could easily just:
865
- // 1. Remove all values from the matrix
866
806
 
807
+ // OR, we could easily just:
867
808
 
809
+ // 1. Remove all values from the matrix
868
810
  m._values.length = 0;
869
811
  m._index.length = 0;
870
812
  m._ptr.length = sizes[1] + 1;
871
813
  m._size = sizes.slice();
872
-
873
814
  for (var _i2 = 0; _i2 < m._ptr.length; _i2++) {
874
815
  m._ptr[_i2] = 0;
875
- } // 2. Re-insert all elements in the proper order (simplified code from SparseMatrix.prototype.set)
876
- // This step is probably the most time-consuming
877
-
816
+ }
878
817
 
818
+ // 2. Re-insert all elements in the proper order (simplified code from SparseMatrix.prototype.set)
819
+ // This step is probably the most time-consuming
879
820
  for (var h = 0; h < values.length; h++) {
880
821
  var _i3 = rowIndex[h];
881
822
  var _j = colIndex[h];
882
823
  var v = values[h];
883
-
884
824
  var k = _getValueIndex(_i3, m._ptr[_j], m._ptr[_j + 1], m._index);
885
-
886
825
  _insert(k, _i3, _j, v, m._values, m._index, m._ptr);
887
- } // The value indices are inserted out of order, but apparently that's... still OK?
826
+ }
888
827
 
828
+ // The value indices are inserted out of order, but apparently that's... still OK?
889
829
 
890
830
  return m;
891
831
  };
832
+
892
833
  /**
893
834
  * Create a clone of the matrix
894
835
  * @memberof SparseMatrix
895
836
  * @return {SparseMatrix} clone
896
837
  */
897
-
898
-
899
838
  SparseMatrix.prototype.clone = function () {
900
839
  var m = new SparseMatrix({
901
840
  values: this._values ? (0, _object.clone)(this._values) : undefined,
@@ -906,16 +845,16 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
906
845
  });
907
846
  return m;
908
847
  };
848
+
909
849
  /**
910
850
  * Retrieve the size of the matrix.
911
851
  * @memberof SparseMatrix
912
852
  * @returns {number[]} size
913
853
  */
914
-
915
-
916
854
  SparseMatrix.prototype.size = function () {
917
855
  return this._size.slice(0); // copy the Array
918
856
  };
857
+
919
858
  /**
920
859
  * Create a new matrix with the results of the callback function executed on
921
860
  * each entry of the matrix.
@@ -927,82 +866,74 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
927
866
  *
928
867
  * @return {SparseMatrix} matrix
929
868
  */
930
-
931
-
932
869
  SparseMatrix.prototype.map = function (callback, skipZeros) {
933
870
  // check it is a pattern matrix
934
871
  if (!this._values) {
935
872
  throw new Error('Cannot invoke map on a Pattern only matrix');
936
- } // matrix instance
937
-
938
-
939
- var me = this; // rows and columns
940
-
873
+ }
874
+ // matrix instance
875
+ var me = this;
876
+ // rows and columns
941
877
  var rows = this._size[0];
942
- var columns = this._size[1]; // invoke callback
943
-
878
+ var columns = this._size[1];
879
+ // invoke callback
944
880
  var args = (0, _function.maxArgumentCount)(callback);
945
-
946
881
  var invoke = function invoke(v, i, j) {
947
882
  // invoke callback
948
883
  if (args === 1) return callback(v);
949
884
  if (args === 2) return callback(v, [i, j]);
950
885
  return callback(v, [i, j], me);
951
- }; // invoke _map
952
-
953
-
886
+ };
887
+ // invoke _map
954
888
  return _map(this, 0, rows - 1, 0, columns - 1, invoke, skipZeros);
955
889
  };
890
+
956
891
  /**
957
892
  * Create a new matrix with the results of the callback function executed on the interval
958
893
  * [minRow..maxRow, minColumn..maxColumn].
959
894
  */
960
-
961
-
962
895
  function _map(matrix, minRow, maxRow, minColumn, maxColumn, callback, skipZeros) {
963
896
  // result arrays
964
897
  var values = [];
965
898
  var index = [];
966
- var ptr = []; // equal signature to use
967
-
968
- var eq = equalScalar; // zero value
899
+ var ptr = [];
969
900
 
901
+ // equal signature to use
902
+ var eq = equalScalar;
903
+ // zero value
970
904
  var zero = 0;
971
-
972
905
  if ((0, _is.isString)(matrix._datatype)) {
973
906
  // find signature that matches (datatype, datatype)
974
- eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar; // convert 0 to the same datatype
975
-
907
+ eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
908
+ // convert 0 to the same datatype
976
909
  zero = typed.convert(0, matrix._datatype);
977
- } // invoke callback
978
-
910
+ }
979
911
 
912
+ // invoke callback
980
913
  var invoke = function invoke(v, x, y) {
981
914
  // invoke callback
982
- v = callback(v, x, y); // check value != 0
983
-
915
+ v = callback(v, x, y);
916
+ // check value != 0
984
917
  if (!eq(v, zero)) {
985
918
  // store value
986
- values.push(v); // index
987
-
919
+ values.push(v);
920
+ // index
988
921
  index.push(x);
989
922
  }
990
- }; // loop columns
991
-
992
-
923
+ };
924
+ // loop columns
993
925
  for (var j = minColumn; j <= maxColumn; j++) {
994
926
  // store pointer to values index
995
- ptr.push(values.length); // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
996
-
927
+ ptr.push(values.length);
928
+ // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
997
929
  var k0 = matrix._ptr[j];
998
930
  var k1 = matrix._ptr[j + 1];
999
-
1000
931
  if (skipZeros) {
1001
932
  // loop k within [k0, k1[
1002
933
  for (var k = k0; k < k1; k++) {
1003
934
  // row index
1004
- var i = matrix._index[k]; // check i is in range
1005
-
935
+ var i = matrix._index[k];
936
+ // check i is in range
1006
937
  if (i >= minRow && i <= maxRow) {
1007
938
  // value @ k
1008
939
  invoke(matrix._values[k], i - minRow, j - minColumn);
@@ -1011,24 +942,23 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1011
942
  } else {
1012
943
  // create a cache holding all defined values
1013
944
  var _values = {};
1014
-
1015
945
  for (var _k = k0; _k < k1; _k++) {
1016
946
  var _i4 = matrix._index[_k];
1017
947
  _values[_i4] = matrix._values[_k];
1018
- } // loop over all rows (indexes can be unordered so we can't use that),
1019
- // and either read the value or zero
1020
-
948
+ }
1021
949
 
950
+ // loop over all rows (indexes can be unordered so we can't use that),
951
+ // and either read the value or zero
1022
952
  for (var _i5 = minRow; _i5 <= maxRow; _i5++) {
1023
953
  var value = _i5 in _values ? _values[_i5] : 0;
1024
954
  invoke(value, _i5 - minRow, j - minColumn);
1025
955
  }
1026
956
  }
1027
- } // store number of values in ptr
1028
-
1029
-
1030
- ptr.push(values.length); // return sparse matrix
957
+ }
1031
958
 
959
+ // store number of values in ptr
960
+ ptr.push(values.length);
961
+ // return sparse matrix
1032
962
  return new SparseMatrix({
1033
963
  values: values,
1034
964
  index: index,
@@ -1036,6 +966,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1036
966
  size: [maxRow - minRow + 1, maxColumn - minColumn + 1]
1037
967
  });
1038
968
  }
969
+
1039
970
  /**
1040
971
  * Execute a callback function on each entry of the matrix.
1041
972
  * @memberof SparseMatrix
@@ -1046,44 +977,40 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1046
977
  * If false, the indices are guaranteed to be in order,
1047
978
  * if true, the indices can be unordered.
1048
979
  */
1049
-
1050
-
1051
980
  SparseMatrix.prototype.forEach = function (callback, skipZeros) {
1052
981
  // check it is a pattern matrix
1053
982
  if (!this._values) {
1054
983
  throw new Error('Cannot invoke forEach on a Pattern only matrix');
1055
- } // matrix instance
1056
-
1057
-
1058
- var me = this; // rows and columns
1059
-
984
+ }
985
+ // matrix instance
986
+ var me = this;
987
+ // rows and columns
1060
988
  var rows = this._size[0];
1061
- var columns = this._size[1]; // loop columns
1062
-
989
+ var columns = this._size[1];
990
+ // loop columns
1063
991
  for (var j = 0; j < columns; j++) {
1064
992
  // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
1065
993
  var k0 = this._ptr[j];
1066
994
  var k1 = this._ptr[j + 1];
1067
-
1068
995
  if (skipZeros) {
1069
996
  // loop k within [k0, k1[
1070
997
  for (var k = k0; k < k1; k++) {
1071
998
  // row index
1072
- var i = this._index[k]; // value @ k
999
+ var i = this._index[k];
1073
1000
 
1001
+ // value @ k
1074
1002
  callback(this._values[k], [i, j], me);
1075
1003
  }
1076
1004
  } else {
1077
1005
  // create a cache holding all defined values
1078
1006
  var values = {};
1079
-
1080
1007
  for (var _k2 = k0; _k2 < k1; _k2++) {
1081
1008
  var _i6 = this._index[_k2];
1082
1009
  values[_i6] = this._values[_k2];
1083
- } // loop over all rows (indexes can be unordered so we can't use that),
1084
- // and either read the value or zero
1085
-
1010
+ }
1086
1011
 
1012
+ // loop over all rows (indexes can be unordered so we can't use that),
1013
+ // and either read the value or zero
1087
1014
  for (var _i7 = 0; _i7 < rows; _i7++) {
1088
1015
  var value = _i7 in values ? values[_i7] : 0;
1089
1016
  callback(value, [_i7, j], me);
@@ -1091,12 +1018,11 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1091
1018
  }
1092
1019
  }
1093
1020
  };
1021
+
1094
1022
  /**
1095
1023
  * Iterate over the matrix elements, skipping zeros
1096
1024
  * @return {Iterable<{ value, index: number[] }>}
1097
1025
  */
1098
-
1099
-
1100
1026
  SparseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator["default"].mark(function _callee() {
1101
1027
  var columns, j, k0, k1, k, i;
1102
1028
  return _regenerator["default"].wrap(function _callee$(_context) {
@@ -1107,29 +1033,23 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1107
1033
  _context.next = 2;
1108
1034
  break;
1109
1035
  }
1110
-
1111
1036
  throw new Error('Cannot iterate a Pattern only matrix');
1112
-
1113
1037
  case 2:
1114
1038
  columns = this._size[1];
1115
1039
  j = 0;
1116
-
1117
1040
  case 4:
1118
1041
  if (!(j < columns)) {
1119
1042
  _context.next = 18;
1120
1043
  break;
1121
1044
  }
1122
-
1123
1045
  k0 = this._ptr[j];
1124
1046
  k1 = this._ptr[j + 1];
1125
1047
  k = k0;
1126
-
1127
1048
  case 8:
1128
1049
  if (!(k < k1)) {
1129
1050
  _context.next = 15;
1130
1051
  break;
1131
1052
  }
1132
-
1133
1053
  // row index
1134
1054
  i = this._index[k];
1135
1055
  _context.next = 12;
@@ -1137,17 +1057,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1137
1057
  value: this._values[k],
1138
1058
  index: [i, j]
1139
1059
  };
1140
-
1141
1060
  case 12:
1142
1061
  k++;
1143
1062
  _context.next = 8;
1144
1063
  break;
1145
-
1146
1064
  case 15:
1147
1065
  j++;
1148
1066
  _context.next = 4;
1149
1067
  break;
1150
-
1151
1068
  case 18:
1152
1069
  case "end":
1153
1070
  return _context.stop();
@@ -1155,59 +1072,56 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1155
1072
  }
1156
1073
  }, _callee, this);
1157
1074
  });
1075
+
1158
1076
  /**
1159
1077
  * Create an Array with a copy of the data of the SparseMatrix
1160
1078
  * @memberof SparseMatrix
1161
1079
  * @returns {Array} array
1162
1080
  */
1163
-
1164
1081
  SparseMatrix.prototype.toArray = function () {
1165
1082
  return _toArray(this._values, this._index, this._ptr, this._size, true);
1166
1083
  };
1084
+
1167
1085
  /**
1168
1086
  * Get the primitive value of the SparseMatrix: a two dimensions array
1169
1087
  * @memberof SparseMatrix
1170
1088
  * @returns {Array} array
1171
1089
  */
1172
-
1173
-
1174
1090
  SparseMatrix.prototype.valueOf = function () {
1175
1091
  return _toArray(this._values, this._index, this._ptr, this._size, false);
1176
1092
  };
1177
-
1178
1093
  function _toArray(values, index, ptr, size, copy) {
1179
1094
  // rows and columns
1180
1095
  var rows = size[0];
1181
- var columns = size[1]; // result
1182
-
1183
- var a = []; // vars
1184
-
1185
- var i, j; // initialize array
1186
-
1096
+ var columns = size[1];
1097
+ // result
1098
+ var a = [];
1099
+ // vars
1100
+ var i, j;
1101
+ // initialize array
1187
1102
  for (i = 0; i < rows; i++) {
1188
1103
  a[i] = [];
1189
-
1190
1104
  for (j = 0; j < columns; j++) {
1191
1105
  a[i][j] = 0;
1192
1106
  }
1193
- } // loop columns
1194
-
1107
+ }
1195
1108
 
1109
+ // loop columns
1196
1110
  for (j = 0; j < columns; j++) {
1197
1111
  // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
1198
1112
  var k0 = ptr[j];
1199
- var k1 = ptr[j + 1]; // loop k within [k0, k1[
1200
-
1113
+ var k1 = ptr[j + 1];
1114
+ // loop k within [k0, k1[
1201
1115
  for (var k = k0; k < k1; k++) {
1202
1116
  // row index
1203
- i = index[k]; // set value (use one for pattern matrix)
1204
-
1117
+ i = index[k];
1118
+ // set value (use one for pattern matrix)
1205
1119
  a[i][j] = values ? copy ? (0, _object.clone)(values[k]) : values[k] : 1;
1206
1120
  }
1207
1121
  }
1208
-
1209
1122
  return a;
1210
1123
  }
1124
+
1211
1125
  /**
1212
1126
  * Get a string representation of the matrix, with optional formatting options.
1213
1127
  * @memberof SparseMatrix
@@ -1217,49 +1131,44 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1217
1131
  * options.
1218
1132
  * @returns {string} str
1219
1133
  */
1220
-
1221
-
1222
1134
  SparseMatrix.prototype.format = function (options) {
1223
1135
  // rows and columns
1224
1136
  var rows = this._size[0];
1225
- var columns = this._size[1]; // density
1226
-
1227
- var density = this.density(); // rows & columns
1228
-
1229
- var str = 'Sparse Matrix [' + (0, _string.format)(rows, options) + ' x ' + (0, _string.format)(columns, options) + '] density: ' + (0, _string.format)(density, options) + '\n'; // loop columns
1230
-
1137
+ var columns = this._size[1];
1138
+ // density
1139
+ var density = this.density();
1140
+ // rows & columns
1141
+ var str = 'Sparse Matrix [' + (0, _string.format)(rows, options) + ' x ' + (0, _string.format)(columns, options) + '] density: ' + (0, _string.format)(density, options) + '\n';
1142
+ // loop columns
1231
1143
  for (var j = 0; j < columns; j++) {
1232
1144
  // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
1233
1145
  var k0 = this._ptr[j];
1234
- var k1 = this._ptr[j + 1]; // loop k within [k0, k1[
1235
-
1146
+ var k1 = this._ptr[j + 1];
1147
+ // loop k within [k0, k1[
1236
1148
  for (var k = k0; k < k1; k++) {
1237
1149
  // row index
1238
- var i = this._index[k]; // append value
1239
-
1150
+ var i = this._index[k];
1151
+ // append value
1240
1152
  str += '\n (' + (0, _string.format)(i, options) + ', ' + (0, _string.format)(j, options) + ') ==> ' + (this._values ? (0, _string.format)(this._values[k], options) : 'X');
1241
1153
  }
1242
1154
  }
1243
-
1244
1155
  return str;
1245
1156
  };
1157
+
1246
1158
  /**
1247
1159
  * Get a string representation of the matrix
1248
1160
  * @memberof SparseMatrix
1249
1161
  * @returns {string} str
1250
1162
  */
1251
-
1252
-
1253
1163
  SparseMatrix.prototype.toString = function () {
1254
1164
  return (0, _string.format)(this.toArray());
1255
1165
  };
1166
+
1256
1167
  /**
1257
1168
  * Get a JSON representation of the matrix
1258
1169
  * @memberof SparseMatrix
1259
1170
  * @returns {Object}
1260
1171
  */
1261
-
1262
-
1263
1172
  SparseMatrix.prototype.toJSON = function () {
1264
1173
  return {
1265
1174
  mathjs: 'SparseMatrix',
@@ -1270,6 +1179,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1270
1179
  datatype: this._datatype
1271
1180
  };
1272
1181
  };
1182
+
1273
1183
  /**
1274
1184
  * Get the kth Matrix diagonal.
1275
1185
  *
@@ -1278,17 +1188,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1278
1188
  *
1279
1189
  * @returns {Matrix} The matrix vector with the diagonal values.
1280
1190
  */
1281
-
1282
-
1283
1191
  SparseMatrix.prototype.diagonal = function (k) {
1284
1192
  // validate k if any
1285
1193
  if (k) {
1286
1194
  // convert BigNumber to a number
1287
1195
  if ((0, _is.isBigNumber)(k)) {
1288
1196
  k = k.toNumber();
1289
- } // is must be an integer
1290
-
1291
-
1197
+ }
1198
+ // is must be an integer
1292
1199
  if (!(0, _is.isNumber)(k) || !(0, _number.isInteger)(k)) {
1293
1200
  throw new TypeError('The parameter k must be an integer number');
1294
1201
  }
@@ -1296,44 +1203,45 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1296
1203
  // default value
1297
1204
  k = 0;
1298
1205
  }
1299
-
1300
1206
  var kSuper = k > 0 ? k : 0;
1301
- var kSub = k < 0 ? -k : 0; // rows & columns
1207
+ var kSub = k < 0 ? -k : 0;
1302
1208
 
1209
+ // rows & columns
1303
1210
  var rows = this._size[0];
1304
- var columns = this._size[1]; // number diagonal values
1211
+ var columns = this._size[1];
1305
1212
 
1306
- var n = Math.min(rows - kSub, columns - kSuper); // diagonal arrays
1213
+ // number diagonal values
1214
+ var n = Math.min(rows - kSub, columns - kSuper);
1307
1215
 
1216
+ // diagonal arrays
1308
1217
  var values = [];
1309
1218
  var index = [];
1310
- var ptr = []; // initial ptr value
1311
-
1312
- ptr[0] = 0; // loop columns
1313
-
1219
+ var ptr = [];
1220
+ // initial ptr value
1221
+ ptr[0] = 0;
1222
+ // loop columns
1314
1223
  for (var j = kSuper; j < columns && values.length < n; j++) {
1315
1224
  // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
1316
1225
  var k0 = this._ptr[j];
1317
- var k1 = this._ptr[j + 1]; // loop x within [k0, k1[
1318
-
1226
+ var k1 = this._ptr[j + 1];
1227
+ // loop x within [k0, k1[
1319
1228
  for (var x = k0; x < k1; x++) {
1320
1229
  // row index
1321
- var i = this._index[x]; // check row
1322
-
1230
+ var i = this._index[x];
1231
+ // check row
1323
1232
  if (i === j - kSuper + kSub) {
1324
1233
  // value on this column
1325
- values.push(this._values[x]); // store row
1326
-
1327
- index[values.length - 1] = i - kSub; // exit loop
1328
-
1234
+ values.push(this._values[x]);
1235
+ // store row
1236
+ index[values.length - 1] = i - kSub;
1237
+ // exit loop
1329
1238
  break;
1330
1239
  }
1331
1240
  }
1332
- } // close ptr
1333
-
1334
-
1335
- ptr.push(values.length); // return matrix
1336
-
1241
+ }
1242
+ // close ptr
1243
+ ptr.push(values.length);
1244
+ // return matrix
1337
1245
  return new SparseMatrix({
1338
1246
  values: values,
1339
1247
  index: index,
@@ -1341,6 +1249,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1341
1249
  size: [n, 1]
1342
1250
  });
1343
1251
  };
1252
+
1344
1253
  /**
1345
1254
  * Generate a matrix from a JSON object
1346
1255
  * @memberof SparseMatrix
@@ -1349,11 +1258,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1349
1258
  * where mathjs is optional
1350
1259
  * @returns {SparseMatrix}
1351
1260
  */
1352
-
1353
-
1354
1261
  SparseMatrix.fromJSON = function (json) {
1355
1262
  return new SparseMatrix(json);
1356
1263
  };
1264
+
1357
1265
  /**
1358
1266
  * Create a diagonal matrix.
1359
1267
  *
@@ -1366,93 +1274,87 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1366
1274
  *
1367
1275
  * @returns {SparseMatrix}
1368
1276
  */
1369
-
1370
-
1371
1277
  SparseMatrix.diagonal = function (size, value, k, defaultValue, datatype) {
1372
1278
  if (!(0, _is.isArray)(size)) {
1373
1279
  throw new TypeError('Array expected, size parameter');
1374
1280
  }
1375
-
1376
1281
  if (size.length !== 2) {
1377
1282
  throw new Error('Only two dimensions matrix are supported');
1378
- } // map size & validate
1379
-
1283
+ }
1380
1284
 
1285
+ // map size & validate
1381
1286
  size = size.map(function (s) {
1382
1287
  // check it is a big number
1383
1288
  if ((0, _is.isBigNumber)(s)) {
1384
1289
  // convert it
1385
1290
  s = s.toNumber();
1386
- } // validate arguments
1387
-
1388
-
1291
+ }
1292
+ // validate arguments
1389
1293
  if (!(0, _is.isNumber)(s) || !(0, _number.isInteger)(s) || s < 1) {
1390
1294
  throw new Error('Size values must be positive integers');
1391
1295
  }
1392
-
1393
1296
  return s;
1394
- }); // validate k if any
1297
+ });
1395
1298
 
1299
+ // validate k if any
1396
1300
  if (k) {
1397
1301
  // convert BigNumber to a number
1398
1302
  if ((0, _is.isBigNumber)(k)) {
1399
1303
  k = k.toNumber();
1400
- } // is must be an integer
1401
-
1402
-
1304
+ }
1305
+ // is must be an integer
1403
1306
  if (!(0, _is.isNumber)(k) || !(0, _number.isInteger)(k)) {
1404
1307
  throw new TypeError('The parameter k must be an integer number');
1405
1308
  }
1406
1309
  } else {
1407
1310
  // default value
1408
1311
  k = 0;
1409
- } // equal signature to use
1410
-
1411
-
1412
- var eq = equalScalar; // zero value
1312
+ }
1413
1313
 
1314
+ // equal signature to use
1315
+ var eq = equalScalar;
1316
+ // zero value
1414
1317
  var zero = 0;
1415
-
1416
1318
  if ((0, _is.isString)(datatype)) {
1417
1319
  // find signature that matches (datatype, datatype)
1418
- eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar; // convert 0 to the same datatype
1419
-
1320
+ eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
1321
+ // convert 0 to the same datatype
1420
1322
  zero = typed.convert(0, datatype);
1421
1323
  }
1422
-
1423
1324
  var kSuper = k > 0 ? k : 0;
1424
- var kSub = k < 0 ? -k : 0; // rows and columns
1325
+ var kSub = k < 0 ? -k : 0;
1425
1326
 
1327
+ // rows and columns
1426
1328
  var rows = size[0];
1427
- var columns = size[1]; // number of non-zero items
1428
-
1429
- var n = Math.min(rows - kSub, columns - kSuper); // value extraction function
1329
+ var columns = size[1];
1430
1330
 
1431
- var _value; // check value
1331
+ // number of non-zero items
1332
+ var n = Math.min(rows - kSub, columns - kSuper);
1432
1333
 
1334
+ // value extraction function
1335
+ var _value;
1433
1336
 
1337
+ // check value
1434
1338
  if ((0, _is.isArray)(value)) {
1435
1339
  // validate array
1436
1340
  if (value.length !== n) {
1437
1341
  // number of values in array must be n
1438
1342
  throw new Error('Invalid value array length');
1439
- } // define function
1440
-
1441
-
1343
+ }
1344
+ // define function
1442
1345
  _value = function _value(i) {
1443
1346
  // return value @ i
1444
1347
  return value[i];
1445
1348
  };
1446
1349
  } else if ((0, _is.isMatrix)(value)) {
1447
1350
  // matrix size
1448
- var ms = value.size(); // validate matrix
1449
-
1351
+ var ms = value.size();
1352
+ // validate matrix
1450
1353
  if (ms.length !== 1 || ms[0] !== n) {
1451
1354
  // number of values in array must be n
1452
1355
  throw new Error('Invalid matrix length');
1453
- } // define function
1454
-
1455
-
1356
+ }
1357
+ // define function
1456
1358
  _value = function _value(i) {
1457
1359
  // return value @ i
1458
1360
  return value.get([i]);
@@ -1463,36 +1365,35 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1463
1365
  // return value
1464
1366
  return value;
1465
1367
  };
1466
- } // create arrays
1467
-
1368
+ }
1468
1369
 
1370
+ // create arrays
1469
1371
  var values = [];
1470
1372
  var index = [];
1471
- var ptr = []; // loop items
1373
+ var ptr = [];
1472
1374
 
1375
+ // loop items
1473
1376
  for (var j = 0; j < columns; j++) {
1474
1377
  // number of rows with value
1475
- ptr.push(values.length); // diagonal index
1476
-
1477
- var i = j - kSuper; // check we need to set diagonal value
1478
-
1378
+ ptr.push(values.length);
1379
+ // diagonal index
1380
+ var i = j - kSuper;
1381
+ // check we need to set diagonal value
1479
1382
  if (i >= 0 && i < n) {
1480
1383
  // get value @ i
1481
- var v = _value(i); // check for zero
1482
-
1483
-
1384
+ var v = _value(i);
1385
+ // check for zero
1484
1386
  if (!eq(v, zero)) {
1485
1387
  // column
1486
- index.push(i + kSub); // add value
1487
-
1388
+ index.push(i + kSub);
1389
+ // add value
1488
1390
  values.push(v);
1489
1391
  }
1490
1392
  }
1491
- } // last value should be number of values
1492
-
1493
-
1494
- ptr.push(values.length); // create SparseMatrix
1495
-
1393
+ }
1394
+ // last value should be number of values
1395
+ ptr.push(values.length);
1396
+ // create SparseMatrix
1496
1397
  return new SparseMatrix({
1497
1398
  values: values,
1498
1399
  index: index,
@@ -1500,6 +1401,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1500
1401
  size: [rows, columns]
1501
1402
  });
1502
1403
  };
1404
+
1503
1405
  /**
1504
1406
  * Swap rows i and j in Matrix.
1505
1407
  *
@@ -1509,28 +1411,25 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1509
1411
  *
1510
1412
  * @return {Matrix} The matrix reference
1511
1413
  */
1512
-
1513
-
1514
1414
  SparseMatrix.prototype.swapRows = function (i, j) {
1515
1415
  // check index
1516
1416
  if (!(0, _is.isNumber)(i) || !(0, _number.isInteger)(i) || !(0, _is.isNumber)(j) || !(0, _number.isInteger)(j)) {
1517
1417
  throw new Error('Row index must be positive integers');
1518
- } // check dimensions
1519
-
1520
-
1418
+ }
1419
+ // check dimensions
1521
1420
  if (this._size.length !== 2) {
1522
1421
  throw new Error('Only two dimensional matrix is supported');
1523
- } // validate index
1524
-
1525
-
1422
+ }
1423
+ // validate index
1526
1424
  (0, _array.validateIndex)(i, this._size[0]);
1527
- (0, _array.validateIndex)(j, this._size[0]); // swap rows
1528
-
1529
- SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr); // return current instance
1530
-
1425
+ (0, _array.validateIndex)(j, this._size[0]);
1531
1426
 
1427
+ // swap rows
1428
+ SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr);
1429
+ // return current instance
1532
1430
  return this;
1533
1431
  };
1432
+
1534
1433
  /**
1535
1434
  * Loop rows with data in column j.
1536
1435
  *
@@ -1540,18 +1439,17 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1540
1439
  * @param {Array} ptr Matrix column pointers
1541
1440
  * @param {Function} callback Callback function invoked for every row in column j
1542
1441
  */
1543
-
1544
-
1545
1442
  SparseMatrix._forEachRow = function (j, values, index, ptr, callback) {
1546
1443
  // indeces for column j
1547
1444
  var k0 = ptr[j];
1548
- var k1 = ptr[j + 1]; // loop
1549
-
1445
+ var k1 = ptr[j + 1];
1446
+ // loop
1550
1447
  for (var k = k0; k < k1; k++) {
1551
1448
  // invoke callback
1552
1449
  callback(index[k], values[k]);
1553
1450
  }
1554
1451
  };
1452
+
1555
1453
  /**
1556
1454
  * Swap rows x and y in Sparse Matrix data structures.
1557
1455
  *
@@ -1562,76 +1460,61 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1562
1460
  * @param {Array} index Matrix row indeces
1563
1461
  * @param {Array} ptr Matrix column pointers
1564
1462
  */
1565
-
1566
-
1567
1463
  SparseMatrix._swapRows = function (x, y, columns, values, index, ptr) {
1568
1464
  // loop columns
1569
1465
  for (var j = 0; j < columns; j++) {
1570
1466
  // k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
1571
1467
  var k0 = ptr[j];
1572
- var k1 = ptr[j + 1]; // find value index @ x
1573
-
1574
- var kx = _getValueIndex(x, k0, k1, index); // find value index @ x
1575
-
1576
-
1577
- var ky = _getValueIndex(y, k0, k1, index); // check both rows exist in matrix
1578
-
1579
-
1468
+ var k1 = ptr[j + 1];
1469
+ // find value index @ x
1470
+ var kx = _getValueIndex(x, k0, k1, index);
1471
+ // find value index @ x
1472
+ var ky = _getValueIndex(y, k0, k1, index);
1473
+ // check both rows exist in matrix
1580
1474
  if (kx < k1 && ky < k1 && index[kx] === x && index[ky] === y) {
1581
1475
  // swap values (check for pattern matrix)
1582
1476
  if (values) {
1583
1477
  var v = values[kx];
1584
1478
  values[kx] = values[ky];
1585
1479
  values[ky] = v;
1586
- } // next column
1587
-
1588
-
1480
+ }
1481
+ // next column
1589
1482
  continue;
1590
- } // check x row exist & no y row
1591
-
1592
-
1483
+ }
1484
+ // check x row exist & no y row
1593
1485
  if (kx < k1 && index[kx] === x && (ky >= k1 || index[ky] !== y)) {
1594
1486
  // value @ x (check for pattern matrix)
1595
- var vx = values ? values[kx] : undefined; // insert value @ y
1596
-
1487
+ var vx = values ? values[kx] : undefined;
1488
+ // insert value @ y
1597
1489
  index.splice(ky, 0, y);
1598
-
1599
1490
  if (values) {
1600
1491
  values.splice(ky, 0, vx);
1601
- } // remove value @ x (adjust array index if needed)
1602
-
1603
-
1492
+ }
1493
+ // remove value @ x (adjust array index if needed)
1604
1494
  index.splice(ky <= kx ? kx + 1 : kx, 1);
1605
-
1606
1495
  if (values) {
1607
1496
  values.splice(ky <= kx ? kx + 1 : kx, 1);
1608
- } // next column
1609
-
1610
-
1497
+ }
1498
+ // next column
1611
1499
  continue;
1612
- } // check y row exist & no x row
1613
-
1614
-
1500
+ }
1501
+ // check y row exist & no x row
1615
1502
  if (ky < k1 && index[ky] === y && (kx >= k1 || index[kx] !== x)) {
1616
1503
  // value @ y (check for pattern matrix)
1617
- var vy = values ? values[ky] : undefined; // insert value @ x
1618
-
1504
+ var vy = values ? values[ky] : undefined;
1505
+ // insert value @ x
1619
1506
  index.splice(kx, 0, x);
1620
-
1621
1507
  if (values) {
1622
1508
  values.splice(kx, 0, vy);
1623
- } // remove value @ y (adjust array index if needed)
1624
-
1625
-
1509
+ }
1510
+ // remove value @ y (adjust array index if needed)
1626
1511
  index.splice(kx <= ky ? ky + 1 : ky, 1);
1627
-
1628
1512
  if (values) {
1629
1513
  values.splice(kx <= ky ? ky + 1 : ky, 1);
1630
1514
  }
1631
1515
  }
1632
1516
  }
1633
1517
  };
1634
-
1635
1518
  return SparseMatrix;
1636
1519
  }, {
1637
1520
  isClass: true