mathjs 11.2.1 → 11.3.0

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