@graphty/graph-samples 0.0.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +123 -0
  3. package/README.md +190 -1
  4. package/dist/chunks/build-DdCe60t3.js +47 -0
  5. package/dist/chunks/build-DdCe60t3.js.map +1 -0
  6. package/dist/chunks/meta-B6toBzaa.js +19 -0
  7. package/dist/chunks/meta-B6toBzaa.js.map +1 -0
  8. package/dist/chunks/meta-BM_YIhlA.js +28 -0
  9. package/dist/chunks/meta-BM_YIhlA.js.map +1 -0
  10. package/dist/chunks/meta-BMmtUpPx.js +30 -0
  11. package/dist/chunks/meta-BMmtUpPx.js.map +1 -0
  12. package/dist/chunks/meta-BXC7oi86.js +22 -0
  13. package/dist/chunks/meta-BXC7oi86.js.map +1 -0
  14. package/dist/chunks/meta-BaFPvhc1.js +19 -0
  15. package/dist/chunks/meta-BaFPvhc1.js.map +1 -0
  16. package/dist/chunks/meta-C58v1Oy0.js +28 -0
  17. package/dist/chunks/meta-C58v1Oy0.js.map +1 -0
  18. package/dist/chunks/meta-CQRXyexG.js +23 -0
  19. package/dist/chunks/meta-CQRXyexG.js.map +1 -0
  20. package/dist/chunks/meta-DrgM1eS0.js +23 -0
  21. package/dist/chunks/meta-DrgM1eS0.js.map +1 -0
  22. package/dist/chunks/meta-IhoaDXAV.js +19 -0
  23. package/dist/chunks/meta-IhoaDXAV.js.map +1 -0
  24. package/dist/chunks/meta-MQPbBUUB.js +29 -0
  25. package/dist/chunks/meta-MQPbBUUB.js.map +1 -0
  26. package/dist/chunks/meta-Qp4HNYAZ.js +24 -0
  27. package/dist/chunks/meta-Qp4HNYAZ.js.map +1 -0
  28. package/dist/chunks/meta-mns0uFIW.js +19 -0
  29. package/dist/chunks/meta-mns0uFIW.js.map +1 -0
  30. package/dist/datasets/celegans-neural.d.ts +1 -0
  31. package/dist/datasets/celegans-neural.js +7359 -0
  32. package/dist/datasets/celegans-neural.js.map +1 -0
  33. package/dist/datasets/contiguous-usa.d.ts +1 -0
  34. package/dist/datasets/contiguous-usa.js +501 -0
  35. package/dist/datasets/contiguous-usa.js.map +1 -0
  36. package/dist/datasets/davis-southern-women.d.ts +1 -0
  37. package/dist/datasets/davis-southern-women.js +235 -0
  38. package/dist/datasets/davis-southern-women.js.map +1 -0
  39. package/dist/datasets/dolphins.d.ts +1 -0
  40. package/dist/datasets/dolphins.js +406 -0
  41. package/dist/datasets/dolphins.js.map +1 -0
  42. package/dist/datasets/florentine-families.d.ts +1 -0
  43. package/dist/datasets/florentine-families.js +75 -0
  44. package/dist/datasets/florentine-families.js.map +1 -0
  45. package/dist/datasets/football.d.ts +1 -0
  46. package/dist/datasets/football.js +1508 -0
  47. package/dist/datasets/football.js.map +1 -0
  48. package/dist/datasets/karate.d.ts +1 -0
  49. package/dist/datasets/karate.js +295 -0
  50. package/dist/datasets/karate.js.map +1 -0
  51. package/dist/datasets/knuth-miles.d.ts +1 -0
  52. package/dist/datasets/knuth-miles.js +24933 -0
  53. package/dist/datasets/knuth-miles.js.map +1 -0
  54. package/dist/datasets/les-miserables.d.ts +1 -0
  55. package/dist/datasets/les-miserables.js +860 -0
  56. package/dist/datasets/les-miserables.js.map +1 -0
  57. package/dist/datasets/openflights.d.ts +1 -0
  58. package/dist/datasets/openflights.js +130277 -0
  59. package/dist/datasets/openflights.js.map +1 -0
  60. package/dist/datasets/political-blogs.d.ts +1 -0
  61. package/dist/datasets/political-blogs.js +42551 -0
  62. package/dist/datasets/political-blogs.js.map +1 -0
  63. package/dist/datasets/political-books.d.ts +1 -0
  64. package/dist/datasets/political-books.js +1124 -0
  65. package/dist/datasets/political-books.js.map +1 -0
  66. package/dist/generators.d.ts +1 -0
  67. package/dist/generators.js +4496 -0
  68. package/dist/generators.js.map +1 -0
  69. package/dist/graph-samples.d.ts +1 -0
  70. package/dist/graph-samples.js +142 -0
  71. package/dist/graph-samples.js.map +1 -0
  72. package/dist/src/datasets/build.d.ts +89 -0
  73. package/dist/src/datasets/build.d.ts.map +1 -0
  74. package/dist/src/datasets/build.js +53 -0
  75. package/dist/src/datasets/build.js.map +1 -0
  76. package/dist/src/datasets/catalog.d.ts +8 -0
  77. package/dist/src/datasets/catalog.d.ts.map +1 -0
  78. package/dist/src/datasets/catalog.js +34 -0
  79. package/dist/src/datasets/catalog.js.map +1 -0
  80. package/dist/src/datasets/celegans-neural/data.d.ts +3 -0
  81. package/dist/src/datasets/celegans-neural/data.d.ts.map +1 -0
  82. package/dist/src/datasets/celegans-neural/data.js +573 -0
  83. package/dist/src/datasets/celegans-neural/data.js.map +1 -0
  84. package/dist/src/datasets/celegans-neural/index.d.ts +11 -0
  85. package/dist/src/datasets/celegans-neural/index.d.ts.map +1 -0
  86. package/dist/src/datasets/celegans-neural/index.js +14 -0
  87. package/dist/src/datasets/celegans-neural/index.js.map +1 -0
  88. package/dist/src/datasets/celegans-neural/meta.d.ts +4 -0
  89. package/dist/src/datasets/celegans-neural/meta.d.ts.map +1 -0
  90. package/dist/src/datasets/celegans-neural/meta.js +21 -0
  91. package/dist/src/datasets/celegans-neural/meta.js.map +1 -0
  92. package/dist/src/datasets/contiguous-usa/data.d.ts +3 -0
  93. package/dist/src/datasets/contiguous-usa/data.d.ts.map +1 -0
  94. package/dist/src/datasets/contiguous-usa/data.js +162 -0
  95. package/dist/src/datasets/contiguous-usa/data.js.map +1 -0
  96. package/dist/src/datasets/contiguous-usa/index.d.ts +11 -0
  97. package/dist/src/datasets/contiguous-usa/index.d.ts.map +1 -0
  98. package/dist/src/datasets/contiguous-usa/index.js +14 -0
  99. package/dist/src/datasets/contiguous-usa/index.js.map +1 -0
  100. package/dist/src/datasets/contiguous-usa/meta.d.ts +4 -0
  101. package/dist/src/datasets/contiguous-usa/meta.d.ts.map +1 -0
  102. package/dist/src/datasets/contiguous-usa/meta.js +27 -0
  103. package/dist/src/datasets/contiguous-usa/meta.js.map +1 -0
  104. package/dist/src/datasets/davis-southern-women/data.d.ts +3 -0
  105. package/dist/src/datasets/davis-southern-women/data.d.ts.map +1 -0
  106. package/dist/src/datasets/davis-southern-women/data.js +57 -0
  107. package/dist/src/datasets/davis-southern-women/data.js.map +1 -0
  108. package/dist/src/datasets/davis-southern-women/index.d.ts +11 -0
  109. package/dist/src/datasets/davis-southern-women/index.d.ts.map +1 -0
  110. package/dist/src/datasets/davis-southern-women/index.js +14 -0
  111. package/dist/src/datasets/davis-southern-women/index.js.map +1 -0
  112. package/dist/src/datasets/davis-southern-women/meta.d.ts +4 -0
  113. package/dist/src/datasets/davis-southern-women/meta.d.ts.map +1 -0
  114. package/dist/src/datasets/davis-southern-women/meta.js +17 -0
  115. package/dist/src/datasets/davis-southern-women/meta.js.map +1 -0
  116. package/dist/src/datasets/dolphins/data.d.ts +3 -0
  117. package/dist/src/datasets/dolphins/data.d.ts.map +1 -0
  118. package/dist/src/datasets/dolphins/data.js +93 -0
  119. package/dist/src/datasets/dolphins/data.js.map +1 -0
  120. package/dist/src/datasets/dolphins/index.d.ts +11 -0
  121. package/dist/src/datasets/dolphins/index.d.ts.map +1 -0
  122. package/dist/src/datasets/dolphins/index.js +14 -0
  123. package/dist/src/datasets/dolphins/index.js.map +1 -0
  124. package/dist/src/datasets/dolphins/meta.d.ts +4 -0
  125. package/dist/src/datasets/dolphins/meta.d.ts.map +1 -0
  126. package/dist/src/datasets/dolphins/meta.js +17 -0
  127. package/dist/src/datasets/dolphins/meta.js.map +1 -0
  128. package/dist/src/datasets/florentine-families/data.d.ts +3 -0
  129. package/dist/src/datasets/florentine-families/data.d.ts.map +1 -0
  130. package/dist/src/datasets/florentine-families/data.js +31 -0
  131. package/dist/src/datasets/florentine-families/data.js.map +1 -0
  132. package/dist/src/datasets/florentine-families/index.d.ts +11 -0
  133. package/dist/src/datasets/florentine-families/index.d.ts.map +1 -0
  134. package/dist/src/datasets/florentine-families/index.js +14 -0
  135. package/dist/src/datasets/florentine-families/index.js.map +1 -0
  136. package/dist/src/datasets/florentine-families/meta.d.ts +4 -0
  137. package/dist/src/datasets/florentine-families/meta.d.ts.map +1 -0
  138. package/dist/src/datasets/florentine-families/meta.js +17 -0
  139. package/dist/src/datasets/florentine-families/meta.js.map +1 -0
  140. package/dist/src/datasets/football/data.d.ts +3 -0
  141. package/dist/src/datasets/football/data.d.ts.map +1 -0
  142. package/dist/src/datasets/football/data.js +210 -0
  143. package/dist/src/datasets/football/data.js.map +1 -0
  144. package/dist/src/datasets/football/index.d.ts +11 -0
  145. package/dist/src/datasets/football/index.d.ts.map +1 -0
  146. package/dist/src/datasets/football/index.js +14 -0
  147. package/dist/src/datasets/football/index.js.map +1 -0
  148. package/dist/src/datasets/football/meta.d.ts +4 -0
  149. package/dist/src/datasets/football/meta.d.ts.map +1 -0
  150. package/dist/src/datasets/football/meta.js +17 -0
  151. package/dist/src/datasets/football/meta.js.map +1 -0
  152. package/dist/src/datasets/hosted.d.ts +7 -0
  153. package/dist/src/datasets/hosted.d.ts.map +1 -0
  154. package/dist/src/datasets/hosted.js +80 -0
  155. package/dist/src/datasets/hosted.js.map +1 -0
  156. package/dist/src/datasets/karate/data.d.ts +3 -0
  157. package/dist/src/datasets/karate/data.d.ts.map +1 -0
  158. package/dist/src/datasets/karate/data.js +30 -0
  159. package/dist/src/datasets/karate/data.js.map +1 -0
  160. package/dist/src/datasets/karate/index.d.ts +11 -0
  161. package/dist/src/datasets/karate/index.d.ts.map +1 -0
  162. package/dist/src/datasets/karate/index.js +14 -0
  163. package/dist/src/datasets/karate/index.js.map +1 -0
  164. package/dist/src/datasets/karate/meta.d.ts +4 -0
  165. package/dist/src/datasets/karate/meta.d.ts.map +1 -0
  166. package/dist/src/datasets/karate/meta.js +22 -0
  167. package/dist/src/datasets/karate/meta.js.map +1 -0
  168. package/dist/src/datasets/knuth-miles/data.d.ts +3 -0
  169. package/dist/src/datasets/knuth-miles/data.d.ts.map +1 -0
  170. package/dist/src/datasets/knuth-miles/data.js +1203 -0
  171. package/dist/src/datasets/knuth-miles/data.js.map +1 -0
  172. package/dist/src/datasets/knuth-miles/index.d.ts +11 -0
  173. package/dist/src/datasets/knuth-miles/index.d.ts.map +1 -0
  174. package/dist/src/datasets/knuth-miles/index.js +14 -0
  175. package/dist/src/datasets/knuth-miles/index.js.map +1 -0
  176. package/dist/src/datasets/knuth-miles/meta.d.ts +4 -0
  177. package/dist/src/datasets/knuth-miles/meta.d.ts.map +1 -0
  178. package/dist/src/datasets/knuth-miles/meta.js +26 -0
  179. package/dist/src/datasets/knuth-miles/meta.js.map +1 -0
  180. package/dist/src/datasets/les-miserables/data.d.ts +3 -0
  181. package/dist/src/datasets/les-miserables/data.d.ts.map +1 -0
  182. package/dist/src/datasets/les-miserables/data.js +117 -0
  183. package/dist/src/datasets/les-miserables/data.js.map +1 -0
  184. package/dist/src/datasets/les-miserables/index.d.ts +11 -0
  185. package/dist/src/datasets/les-miserables/index.d.ts.map +1 -0
  186. package/dist/src/datasets/les-miserables/index.js +14 -0
  187. package/dist/src/datasets/les-miserables/index.js.map +1 -0
  188. package/dist/src/datasets/les-miserables/meta.d.ts +4 -0
  189. package/dist/src/datasets/les-miserables/meta.d.ts.map +1 -0
  190. package/dist/src/datasets/les-miserables/meta.js +21 -0
  191. package/dist/src/datasets/les-miserables/meta.js.map +1 -0
  192. package/dist/src/datasets/openflights/data.d.ts +3 -0
  193. package/dist/src/datasets/openflights/data.d.ts.map +1 -0
  194. package/dist/src/datasets/openflights/data.js +15457 -0
  195. package/dist/src/datasets/openflights/data.js.map +1 -0
  196. package/dist/src/datasets/openflights/index.d.ts +11 -0
  197. package/dist/src/datasets/openflights/index.d.ts.map +1 -0
  198. package/dist/src/datasets/openflights/index.js +14 -0
  199. package/dist/src/datasets/openflights/index.js.map +1 -0
  200. package/dist/src/datasets/openflights/meta.d.ts +4 -0
  201. package/dist/src/datasets/openflights/meta.d.ts.map +1 -0
  202. package/dist/src/datasets/openflights/meta.js +28 -0
  203. package/dist/src/datasets/openflights/meta.js.map +1 -0
  204. package/dist/src/datasets/political-blogs/data.d.ts +3 -0
  205. package/dist/src/datasets/political-blogs/data.d.ts.map +1 -0
  206. package/dist/src/datasets/political-blogs/data.js +4857 -0
  207. package/dist/src/datasets/political-blogs/data.js.map +1 -0
  208. package/dist/src/datasets/political-blogs/index.d.ts +11 -0
  209. package/dist/src/datasets/political-blogs/index.d.ts.map +1 -0
  210. package/dist/src/datasets/political-blogs/index.js +14 -0
  211. package/dist/src/datasets/political-blogs/index.js.map +1 -0
  212. package/dist/src/datasets/political-blogs/meta.d.ts +4 -0
  213. package/dist/src/datasets/political-blogs/meta.d.ts.map +1 -0
  214. package/dist/src/datasets/political-blogs/meta.js +26 -0
  215. package/dist/src/datasets/political-blogs/meta.js.map +1 -0
  216. package/dist/src/datasets/political-books/data.d.ts +3 -0
  217. package/dist/src/datasets/political-books/data.d.ts.map +1 -0
  218. package/dist/src/datasets/political-books/data.js +165 -0
  219. package/dist/src/datasets/political-books/data.js.map +1 -0
  220. package/dist/src/datasets/political-books/index.d.ts +11 -0
  221. package/dist/src/datasets/political-books/index.d.ts.map +1 -0
  222. package/dist/src/datasets/political-books/index.js +14 -0
  223. package/dist/src/datasets/political-books/index.js.map +1 -0
  224. package/dist/src/datasets/political-books/meta.d.ts +4 -0
  225. package/dist/src/datasets/political-books/meta.d.ts.map +1 -0
  226. package/dist/src/datasets/political-books/meta.js +20 -0
  227. package/dist/src/datasets/political-books/meta.js.map +1 -0
  228. package/dist/src/datasets/remote.d.ts +27 -0
  229. package/dist/src/datasets/remote.d.ts.map +1 -0
  230. package/dist/src/datasets/remote.js +30 -0
  231. package/dist/src/datasets/remote.js.map +1 -0
  232. package/dist/src/element.d.ts +20 -0
  233. package/dist/src/element.d.ts.map +1 -0
  234. package/dist/src/element.js +27 -0
  235. package/dist/src/element.js.map +1 -0
  236. package/dist/src/generators/bipartite.d.ts +51 -0
  237. package/dist/src/generators/bipartite.d.ts.map +1 -0
  238. package/dist/src/generators/bipartite.js +99 -0
  239. package/dist/src/generators/bipartite.js.map +1 -0
  240. package/dist/src/generators/block-model.d.ts +75 -0
  241. package/dist/src/generators/block-model.d.ts.map +1 -0
  242. package/dist/src/generators/block-model.js +116 -0
  243. package/dist/src/generators/block-model.js.map +1 -0
  244. package/dist/src/generators/classic.d.ts +208 -0
  245. package/dist/src/generators/classic.d.ts.map +1 -0
  246. package/dist/src/generators/classic.js +437 -0
  247. package/dist/src/generators/classic.js.map +1 -0
  248. package/dist/src/generators/degree-sequence.d.ts +273 -0
  249. package/dist/src/generators/degree-sequence.d.ts.map +1 -0
  250. package/dist/src/generators/degree-sequence.js +646 -0
  251. package/dist/src/generators/degree-sequence.js.map +1 -0
  252. package/dist/src/generators/directed.d.ts +141 -0
  253. package/dist/src/generators/directed.d.ts.map +1 -0
  254. package/dist/src/generators/directed.js +329 -0
  255. package/dist/src/generators/directed.js.map +1 -0
  256. package/dist/src/generators/erdos-renyi.d.ts +58 -0
  257. package/dist/src/generators/erdos-renyi.d.ts.map +1 -0
  258. package/dist/src/generators/erdos-renyi.js +154 -0
  259. package/dist/src/generators/erdos-renyi.js.map +1 -0
  260. package/dist/src/generators/flow.d.ts +153 -0
  261. package/dist/src/generators/flow.d.ts.map +1 -0
  262. package/dist/src/generators/flow.js +346 -0
  263. package/dist/src/generators/flow.js.map +1 -0
  264. package/dist/src/generators/geometric.d.ts +133 -0
  265. package/dist/src/generators/geometric.d.ts.map +1 -0
  266. package/dist/src/generators/geometric.js +495 -0
  267. package/dist/src/generators/geometric.js.map +1 -0
  268. package/dist/src/generators/growth.d.ts +187 -0
  269. package/dist/src/generators/growth.d.ts.map +1 -0
  270. package/dist/src/generators/growth.js +445 -0
  271. package/dist/src/generators/growth.js.map +1 -0
  272. package/dist/src/generators/hyperbolic.d.ts +84 -0
  273. package/dist/src/generators/hyperbolic.d.ts.map +1 -0
  274. package/dist/src/generators/hyperbolic.js +153 -0
  275. package/dist/src/generators/hyperbolic.js.map +1 -0
  276. package/dist/src/generators/index.d.ts +25 -0
  277. package/dist/src/generators/index.d.ts.map +1 -0
  278. package/dist/src/generators/index.js +24 -0
  279. package/dist/src/generators/index.js.map +1 -0
  280. package/dist/src/generators/lattices.d.ts +87 -0
  281. package/dist/src/generators/lattices.d.ts.map +1 -0
  282. package/dist/src/generators/lattices.js +237 -0
  283. package/dist/src/generators/lattices.js.map +1 -0
  284. package/dist/src/generators/lfr.d.ts +55 -0
  285. package/dist/src/generators/lfr.d.ts.map +1 -0
  286. package/dist/src/generators/lfr.js +178 -0
  287. package/dist/src/generators/lfr.js.map +1 -0
  288. package/dist/src/generators/named.d.ts +23 -0
  289. package/dist/src/generators/named.d.ts.map +1 -0
  290. package/dist/src/generators/named.js +191 -0
  291. package/dist/src/generators/named.js.map +1 -0
  292. package/dist/src/generators/preferential-attachment.d.ts +66 -0
  293. package/dist/src/generators/preferential-attachment.d.ts.map +1 -0
  294. package/dist/src/generators/preferential-attachment.js +157 -0
  295. package/dist/src/generators/preferential-attachment.js.map +1 -0
  296. package/dist/src/generators/trees-and-dags.d.ts +53 -0
  297. package/dist/src/generators/trees-and-dags.d.ts.map +1 -0
  298. package/dist/src/generators/trees-and-dags.js +108 -0
  299. package/dist/src/generators/trees-and-dags.js.map +1 -0
  300. package/dist/src/generators/util.d.ts +84 -0
  301. package/dist/src/generators/util.d.ts.map +1 -0
  302. package/dist/src/generators/util.js +138 -0
  303. package/dist/src/generators/util.js.map +1 -0
  304. package/dist/src/generators/variants.d.ts +85 -0
  305. package/dist/src/generators/variants.d.ts.map +1 -0
  306. package/dist/src/generators/variants.js +215 -0
  307. package/dist/src/generators/variants.js.map +1 -0
  308. package/dist/src/generators/weights.d.ts +65 -0
  309. package/dist/src/generators/weights.d.ts.map +1 -0
  310. package/dist/src/generators/weights.js +135 -0
  311. package/dist/src/generators/weights.js.map +1 -0
  312. package/dist/src/index.d.ts +12 -0
  313. package/dist/src/index.d.ts.map +1 -0
  314. package/dist/src/index.js +10 -0
  315. package/dist/src/index.js.map +1 -0
  316. package/dist/src/random/exp.d.ts +23 -0
  317. package/dist/src/random/exp.d.ts.map +1 -0
  318. package/dist/src/random/exp.js +101 -0
  319. package/dist/src/random/exp.js.map +1 -0
  320. package/dist/src/random/log.d.ts +19 -0
  321. package/dist/src/random/log.d.ts.map +1 -0
  322. package/dist/src/random/log.js +83 -0
  323. package/dist/src/random/log.js.map +1 -0
  324. package/dist/src/random/stream.d.ts +93 -0
  325. package/dist/src/random/stream.d.ts.map +1 -0
  326. package/dist/src/random/stream.js +154 -0
  327. package/dist/src/random/stream.js.map +1 -0
  328. package/dist/src/random/threefry.d.ts +19 -0
  329. package/dist/src/random/threefry.d.ts.map +1 -0
  330. package/dist/src/random/threefry.js +43 -0
  331. package/dist/src/random/threefry.js.map +1 -0
  332. package/dist/src/random/trig.d.ts +16 -0
  333. package/dist/src/random/trig.d.ts.map +1 -0
  334. package/dist/src/random/trig.js +78 -0
  335. package/dist/src/random/trig.js.map +1 -0
  336. package/dist/src/types.d.ts +28 -0
  337. package/dist/src/types.d.ts.map +1 -0
  338. package/dist/src/types.js +2 -0
  339. package/dist/src/types.js.map +1 -0
  340. package/package.json +102 -5
  341. package/src/datasets/build.ts +140 -0
  342. package/src/datasets/catalog.ts +35 -0
  343. package/src/datasets/celegans-neural/data.ts +575 -0
  344. package/src/datasets/celegans-neural/index.ts +17 -0
  345. package/src/datasets/celegans-neural/meta.ts +25 -0
  346. package/src/datasets/contiguous-usa/data.ts +164 -0
  347. package/src/datasets/contiguous-usa/index.ts +17 -0
  348. package/src/datasets/contiguous-usa/meta.ts +31 -0
  349. package/src/datasets/davis-southern-women/data.ts +59 -0
  350. package/src/datasets/davis-southern-women/index.ts +17 -0
  351. package/src/datasets/davis-southern-women/meta.ts +20 -0
  352. package/src/datasets/dolphins/data.ts +95 -0
  353. package/src/datasets/dolphins/index.ts +17 -0
  354. package/src/datasets/dolphins/meta.ts +21 -0
  355. package/src/datasets/florentine-families/data.ts +33 -0
  356. package/src/datasets/florentine-families/index.ts +17 -0
  357. package/src/datasets/florentine-families/meta.ts +20 -0
  358. package/src/datasets/football/data.ts +212 -0
  359. package/src/datasets/football/index.ts +17 -0
  360. package/src/datasets/football/meta.ts +20 -0
  361. package/src/datasets/hosted.ts +90 -0
  362. package/src/datasets/karate/data.ts +32 -0
  363. package/src/datasets/karate/index.ts +17 -0
  364. package/src/datasets/karate/meta.ts +25 -0
  365. package/src/datasets/knuth-miles/data.ts +1205 -0
  366. package/src/datasets/knuth-miles/index.ts +17 -0
  367. package/src/datasets/knuth-miles/meta.ts +29 -0
  368. package/src/datasets/les-miserables/data.ts +119 -0
  369. package/src/datasets/les-miserables/index.ts +17 -0
  370. package/src/datasets/les-miserables/meta.ts +24 -0
  371. package/src/datasets/openflights/data.ts +15459 -0
  372. package/src/datasets/openflights/index.ts +17 -0
  373. package/src/datasets/openflights/meta.ts +31 -0
  374. package/src/datasets/political-blogs/data.ts +4859 -0
  375. package/src/datasets/political-blogs/index.ts +17 -0
  376. package/src/datasets/political-blogs/meta.ts +30 -0
  377. package/src/datasets/political-books/data.ts +167 -0
  378. package/src/datasets/political-books/index.ts +17 -0
  379. package/src/datasets/political-books/meta.ts +23 -0
  380. package/src/datasets/remote.ts +42 -0
  381. package/src/element.ts +41 -0
  382. package/src/generators/bipartite.ts +127 -0
  383. package/src/generators/block-model.ts +160 -0
  384. package/src/generators/classic.ts +461 -0
  385. package/src/generators/degree-sequence.ts +807 -0
  386. package/src/generators/directed.ts +418 -0
  387. package/src/generators/erdos-renyi.ts +188 -0
  388. package/src/generators/flow.ts +443 -0
  389. package/src/generators/geometric.ts +591 -0
  390. package/src/generators/growth.ts +532 -0
  391. package/src/generators/hyperbolic.ts +193 -0
  392. package/src/generators/index.ts +133 -0
  393. package/src/generators/lattices.ts +290 -0
  394. package/src/generators/lfr.ts +227 -0
  395. package/src/generators/named.ts +198 -0
  396. package/src/generators/preferential-attachment.ts +188 -0
  397. package/src/generators/trees-and-dags.ts +139 -0
  398. package/src/generators/util.ts +167 -0
  399. package/src/generators/variants.ts +253 -0
  400. package/src/generators/weights.ts +177 -0
  401. package/src/index.ts +12 -0
  402. package/src/random/exp.ts +104 -0
  403. package/src/random/log.ts +86 -0
  404. package/src/random/stream.ts +169 -0
  405. package/src/random/threefry.ts +45 -0
  406. package/src/random/trig.ts +83 -0
  407. package/src/types.ts +28 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bipartite.js","sourceRoot":"","sources":["../../../src/generators/bipartite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Stochastic block models (P. W. Holland, K. B. Laskey and S. Leinhardt, "Stochastic blockmodels:
3
+ * first steps", Social Networks 5, 109-137, 1983) and the planted partition model (A. Condon and
4
+ * R. M. Karp, Random Structures and Algorithms 18, 116-140, 2001), with the planted blocks emitted
5
+ * as ground truth.
6
+ */
7
+ import { type U32 } from "@graphty/graph-format";
8
+ import { type SampleGraph } from "../types.js";
9
+ import { type EdgeBuffer } from "./util.js";
10
+ import { type WeightOptions } from "./weights.js";
11
+ /** Options of {@link stochasticBlockModelGraph}. */
12
+ export interface StochasticBlockModelOptions extends WeightOptions {
13
+ /** The size of every block; block b holds the next `sizes[b]` node indices. */
14
+ sizes: readonly number[];
15
+ /** The symmetric B x B matrix of edge probabilities between blocks. */
16
+ probabilities: readonly (readonly number[])[];
17
+ /** The seed, an integer in [0, 2^53); default 0. */
18
+ seed?: number | undefined;
19
+ }
20
+ /** The checked and precomputed form of the options. */
21
+ interface BlockPlan {
22
+ readonly n: number;
23
+ readonly seed: number;
24
+ /** starts[b] = first node of block b; starts[B] = n. */
25
+ readonly starts: readonly number[];
26
+ readonly block: U32;
27
+ readonly p: readonly (readonly number[])[];
28
+ readonly logQ: readonly (readonly number[])[];
29
+ }
30
+ /**
31
+ * Check the options and precompute block boundaries and detLog(1 - p).
32
+ * @param options - the options
33
+ * @returns the plan
34
+ */
35
+ export declare function planBlocks(options: StochasticBlockModelOptions): BlockPlan;
36
+ /**
37
+ * Rows [start, end) of the block model: row u (in block b) draws from stream (seed, "sbm", u) and
38
+ * walks blocks c = b .. B - 1 in order, holding the pairs (u, v) for v > u in block c with
39
+ * probability p[b][c], ascending v. Concatenating consecutive row ranges gives the whole graph.
40
+ * @param plan - the checked options
41
+ * @param start - the first row
42
+ * @param end - one past the last row
43
+ * @param out - receives the edges
44
+ */
45
+ export declare function blockModelRows(plan: BlockPlan, start: number, end: number, out: EdgeBuffer): void;
46
+ /**
47
+ * The stochastic block model in O(n B + m): node pairs are joined independently with the
48
+ * probability of their blocks, by geometric skipping inside each row's block segments. Edges are
49
+ * the pairs (u, v), u < v, row-major. Node column `community` (u32): the block.
50
+ * @param options - sizes, probabilities and seed
51
+ * @returns the undirected graph
52
+ */
53
+ export declare function stochasticBlockModelGraph(options: StochasticBlockModelOptions): SampleGraph;
54
+ /** Options of {@link plantedPartitionGraph}. */
55
+ export interface PlantedPartitionOptions extends WeightOptions {
56
+ /** The number of groups, >= 1. */
57
+ groups: number;
58
+ /** The size of every group, >= 1. */
59
+ groupSize: number;
60
+ /** The edge probability inside a group. */
61
+ pIn: number;
62
+ /** The edge probability between groups. */
63
+ pOut: number;
64
+ /** The seed, an integer in [0, 2^53); default 0. */
65
+ seed?: number | undefined;
66
+ }
67
+ /**
68
+ * The planted partition model: `groups` equal blocks, `pIn` inside, `pOut` between. Exactly the
69
+ * stochastic block model with that matrix (same seed, same graph). Node column `community` (u32).
70
+ * @param options - groups, groupSize, pIn, pOut and seed
71
+ * @returns the undirected graph
72
+ */
73
+ export declare function plantedPartitionGraph(options: PlantedPartitionOptions): SampleGraph;
74
+ export {};
75
+ //# sourceMappingURL=block-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-model.d.ts","sourceRoot":"","sources":["../../../src/generators/block-model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgE,KAAK,UAAU,EAAW,MAAM,WAAW,CAAC;AACnH,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhE,oDAAoD;AACpD,MAAM,WAAW,2BAA4B,SAAQ,aAAa;IAC9D,+EAA+E;IAC/E,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,uEAAuE;IACvE,aAAa,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,uDAAuD;AACvD,UAAU,SAAS;IACf,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;CACjD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,2BAA2B,GAAG,SAAS,CAoC1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAYjG;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,2BAA2B,GAAG,WAAW,CAgB3F;AAED,gDAAgD;AAChD,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC1D,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,WAAW,CAYnF"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Stochastic block models (P. W. Holland, K. B. Laskey and S. Leinhardt, "Stochastic blockmodels:
3
+ * first steps", Social Networks 5, 109-137, 1983) and the planted partition model (A. Condon and
4
+ * R. M. Karp, Random Structures and Algorithms 18, 116-140, 2001), with the planted blocks emitted
5
+ * as ground truth.
6
+ */
7
+ import { detLog } from "../random/log.js";
8
+ import { RandomStream, resolveSeed } from "../random/stream.js";
9
+ import { bernoulliSegment, binomialBuffer, checkInt, checkProbability, toGraph } from "./util.js";
10
+ import { applyWeights } from "./weights.js";
11
+ /**
12
+ * Check the options and precompute block boundaries and detLog(1 - p).
13
+ * @param options - the options
14
+ * @returns the plan
15
+ */
16
+ export function planBlocks(options) {
17
+ const { sizes, probabilities } = options;
18
+ const seed = resolveSeed(options.seed);
19
+ const count = sizes.length;
20
+ checkInt("sizes.length", count, 1);
21
+ if (probabilities.length !== count) {
22
+ throw new RangeError(`probabilities must be ${count} x ${count}`);
23
+ }
24
+ const starts = [0];
25
+ for (let b = 0; b < count; b++) {
26
+ checkInt(`sizes[${b}]`, sizes[b], 0);
27
+ starts.push(starts[b] + sizes[b]);
28
+ if (probabilities[b].length !== count) {
29
+ throw new RangeError(`probabilities must be ${count} x ${count}`);
30
+ }
31
+ for (let c = 0; c < count; c++) {
32
+ checkProbability(`probabilities[${b}][${c}]`, probabilities[b][c]);
33
+ if (probabilities[b][c] !== probabilities[c][b]) {
34
+ throw new RangeError(`probabilities must be symmetric: [${b}][${c}] differs from [${c}][${b}]`);
35
+ }
36
+ }
37
+ }
38
+ const n = starts[count];
39
+ checkInt("the total size", n, 0);
40
+ const block = new Uint32Array(n);
41
+ for (let b = 0; b < count; b++) {
42
+ block.fill(b, starts[b], starts[b + 1]);
43
+ }
44
+ return {
45
+ n,
46
+ seed,
47
+ starts,
48
+ block,
49
+ p: probabilities,
50
+ logQ: probabilities.map((row) => row.map((p) => detLog(1 - p))),
51
+ };
52
+ }
53
+ /**
54
+ * Rows [start, end) of the block model: row u (in block b) draws from stream (seed, "sbm", u) and
55
+ * walks blocks c = b .. B - 1 in order, holding the pairs (u, v) for v > u in block c with
56
+ * probability p[b][c], ascending v. Concatenating consecutive row ranges gives the whole graph.
57
+ * @param plan - the checked options
58
+ * @param start - the first row
59
+ * @param end - one past the last row
60
+ * @param out - receives the edges
61
+ */
62
+ export function blockModelRows(plan, start, end, out) {
63
+ const { starts, block, p, logQ } = plan;
64
+ const stream = new RandomStream(plan.seed, "sbm", 0);
65
+ const count = starts.length - 1;
66
+ for (let u = start; u < end; u++) {
67
+ stream.reset(u);
68
+ const b = block[u];
69
+ // ponytail: O(B) per row, fine to n * B ~ 1e8; iterate only non-zero blocks if B grows large
70
+ for (let c = b; c < count; c++) {
71
+ bernoulliSegment(stream, p[b][c], logQ[b][c], u, c === b ? u + 1 : starts[c], starts[c + 1], out);
72
+ }
73
+ }
74
+ }
75
+ /**
76
+ * The stochastic block model in O(n B + m): node pairs are joined independently with the
77
+ * probability of their blocks, by geometric skipping inside each row's block segments. Edges are
78
+ * the pairs (u, v), u < v, row-major. Node column `community` (u32): the block.
79
+ * @param options - sizes, probabilities and seed
80
+ * @returns the undirected graph
81
+ */
82
+ export function stochasticBlockModelGraph(options) {
83
+ const plan = planBlocks(options);
84
+ let expected = 0;
85
+ let pairs = 0;
86
+ for (let b = 0; b < plan.starts.length - 1; b++) {
87
+ for (let c = b; c < plan.starts.length - 1; c++) {
88
+ const sb = plan.starts[b + 1] - plan.starts[b];
89
+ const sc = plan.starts[c + 1] - plan.starts[c];
90
+ const blockPairs = b === c ? (sb * (sb - 1)) / 2 : sb * sc;
91
+ expected += blockPairs * plan.p[b][c];
92
+ pairs += blockPairs;
93
+ }
94
+ }
95
+ const out = binomialBuffer(pairs, pairs === 0 ? 0 : expected / pairs);
96
+ blockModelRows(plan, 0, plan.n, out);
97
+ return applyWeights(toGraph(plan.n, out, false, { community: plan.block }), options);
98
+ }
99
+ /**
100
+ * The planted partition model: `groups` equal blocks, `pIn` inside, `pOut` between. Exactly the
101
+ * stochastic block model with that matrix (same seed, same graph). Node column `community` (u32).
102
+ * @param options - groups, groupSize, pIn, pOut and seed
103
+ * @returns the undirected graph
104
+ */
105
+ export function plantedPartitionGraph(options) {
106
+ const { groups, groupSize, pIn, pOut, seed } = options;
107
+ checkInt("groups", groups, 1);
108
+ checkInt("groupSize", groupSize, 1);
109
+ return stochasticBlockModelGraph({
110
+ sizes: new Array(groups).fill(groupSize),
111
+ probabilities: Array.from({ length: groups }, (_, b) => Array.from({ length: groups }, (_2, c) => (b === c ? pIn : pOut))),
112
+ seed,
113
+ weights: options.weights,
114
+ });
115
+ }
116
+ //# sourceMappingURL=block-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-model.js","sourceRoot":"","sources":["../../../src/generators/block-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * The deterministic families: no seed, closed-form structure, O(n + m). Every function returns an
3
+ * undirected simple graph whose node order and edge order are part of its contract (stated in each
4
+ * JSDoc), so an index means the same node in every version.
5
+ */
6
+ import { type SampleGraph } from "../types.js";
7
+ import { type WeightOptions } from "./weights.js";
8
+ /**
9
+ * The path P_n: edges (i, i + 1) for i = 0 .. n - 2.
10
+ * @param options - the options
11
+ * @param options.n - the node count, >= 0
12
+ * @returns the graph
13
+ */
14
+ export declare function pathGraph(options: {
15
+ n: number;
16
+ } & WeightOptions): SampleGraph;
17
+ /**
18
+ * The cycle C_n: the path P_n plus the edge (n - 1, 0).
19
+ * @param options - the options
20
+ * @param options.n - the node count, >= 3
21
+ * @returns the graph
22
+ */
23
+ export declare function cycleGraph(options: {
24
+ n: number;
25
+ } & WeightOptions): SampleGraph;
26
+ /**
27
+ * The star: hub 0 joined to every other node, edges (0, i) for i = 1 .. n - 1.
28
+ * @param options - the options
29
+ * @param options.n - the node count including the hub, >= 1
30
+ * @returns the graph
31
+ */
32
+ export declare function starGraph(options: {
33
+ n: number;
34
+ } & WeightOptions): SampleGraph;
35
+ /**
36
+ * The wheel W_n: the star's spokes (0, i), then the rim (i, i + 1) for i = 1 .. n - 2, then
37
+ * (n - 1, 1).
38
+ * @param options - the options
39
+ * @param options.n - the node count including the hub, >= 4
40
+ * @returns the graph
41
+ */
42
+ export declare function wheelGraph(options: {
43
+ n: number;
44
+ } & WeightOptions): SampleGraph;
45
+ /**
46
+ * The complete graph K_n: every pair (i, j), i < j, row-major.
47
+ * @param options - the options
48
+ * @param options.n - the node count, >= 0
49
+ * @returns the graph
50
+ */
51
+ export declare function completeGraph(options: {
52
+ n: number;
53
+ } & WeightOptions): SampleGraph;
54
+ /**
55
+ * The complete bipartite graph K_{a,b}: left nodes 0 .. a - 1, right nodes a .. a + b - 1, every
56
+ * pair (i, a + j), row-major. Node column `side` (u8): 0 left, 1 right.
57
+ * @param options - the options
58
+ * @param options.a - the left side's size, >= 0
59
+ * @param options.b - the right side's size, >= 0
60
+ * @returns the graph
61
+ */
62
+ export declare function completeBipartiteGraph(options: {
63
+ a: number;
64
+ b: number;
65
+ } & WeightOptions): SampleGraph;
66
+ /**
67
+ * The hypercube Q_d: nodes are the d-bit integers, edges join integers one bit apart; for each node
68
+ * i in order and each bit b ascending that is 0 in i, the edge (i, i | 2^b).
69
+ * @param options - the options
70
+ * @param options.dimension - d, in [0, 26]
71
+ * @returns the graph
72
+ */
73
+ export declare function hypercubeGraph(options: {
74
+ dimension: number;
75
+ } & WeightOptions): SampleGraph;
76
+ /**
77
+ * The ladder L_n: two paths 0 .. n - 1 and n .. 2n - 1, then the rungs (i, n + i).
78
+ * @param options - the options
79
+ * @param options.n - the number of rungs, >= 1
80
+ * @returns the graph
81
+ */
82
+ export declare function ladderGraph(options: {
83
+ n: number;
84
+ } & WeightOptions): SampleGraph;
85
+ /**
86
+ * The barbell: a clique on 0 .. m1 - 1, the path m1 - 1, m1, .., m1 + m2 (m2 path nodes plus the
87
+ * two joining edges' ends), and a clique on m1 + m2 .. 2 m1 + m2 - 1. Edge order: left clique, path,
88
+ * right clique.
89
+ * @param options - the options
90
+ * @param options.cliqueSize - m1, each bell's size, >= 2
91
+ * @param options.pathLength - m2, the number of nodes on the bar, >= 0
92
+ * @returns the graph
93
+ */
94
+ export declare function barbellGraph(options: {
95
+ cliqueSize: number;
96
+ pathLength: number;
97
+ } & WeightOptions): SampleGraph;
98
+ /**
99
+ * The lollipop: a clique on 0 .. m - 1 and a tail path m - 1, m, .., m + n - 1.
100
+ * @param options - the options
101
+ * @param options.cliqueSize - m, >= 2
102
+ * @param options.pathLength - n, the number of tail nodes, >= 0
103
+ * @returns the graph
104
+ */
105
+ export declare function lollipopGraph(options: {
106
+ cliqueSize: number;
107
+ pathLength: number;
108
+ } & WeightOptions): SampleGraph;
109
+ /**
110
+ * The caveman graph (Watts 1999): `cliques` disjoint cliques of `size` nodes, clique g on
111
+ * g * size .. (g + 1) * size - 1. Node column `community` (u32): the clique.
112
+ * @param options - the options
113
+ * @param options.cliques - the number of cliques, >= 1
114
+ * @param options.size - the clique size, >= 1
115
+ * @returns the graph
116
+ */
117
+ export declare function cavemanGraph(options: {
118
+ cliques: number;
119
+ size: number;
120
+ } & WeightOptions): SampleGraph;
121
+ /**
122
+ * The connected caveman graph (Watts 1999, as networkx builds it): the caveman graph with, in each
123
+ * clique starting at s, the edge (s, s + 1) replaced in place by (s, s - 1 mod n), which joins the
124
+ * cliques into a ring. Node column `community` (u32): the clique.
125
+ * @param options - the options
126
+ * @param options.cliques - the number of cliques, >= 2
127
+ * @param options.size - the clique size, >= 2
128
+ * @returns the graph
129
+ */
130
+ export declare function connectedCavemanGraph(options: {
131
+ cliques: number;
132
+ size: number;
133
+ } & WeightOptions): SampleGraph;
134
+ /**
135
+ * The balanced r-ary tree of height h, numbered breadth first: node i's children are
136
+ * r i + 1 .. r i + r; edges (parent(c), c) for c = 1 .. n - 1.
137
+ * @param options - the options
138
+ * @param options.branching - r, >= 1
139
+ * @param options.height - h, >= 0 (a single root at 0)
140
+ * @returns the graph
141
+ */
142
+ export declare function balancedTreeGraph(options: {
143
+ branching: number;
144
+ height: number;
145
+ } & WeightOptions): SampleGraph;
146
+ /**
147
+ * The Petersen graph: outer cycle 0 .. 4, spokes (i, i + 5), inner pentagram (5 + i, 5 + (i + 2) mod 5).
148
+ * 3-regular, girth 5, non-planar.
149
+ * @param options - the common weight options
150
+ * @returns the graph
151
+ */
152
+ export declare function petersenGraph(options?: WeightOptions): SampleGraph;
153
+ /**
154
+ * The empty graph: n isolated nodes, no edges.
155
+ * @param options - the options
156
+ * @param options.n - the node count, >= 0
157
+ * @returns the graph
158
+ */
159
+ export declare function emptyGraph(options: {
160
+ n: number;
161
+ } & WeightOptions): SampleGraph;
162
+ /**
163
+ * The complete multipartite graph K_{s0, s1, ...}: part p holds the next `sizes[p]` node indices,
164
+ * and every pair of nodes in different parts is joined; for each node in index order, the edges to
165
+ * every later node of a later part, ascending. Node column `part` (u32).
166
+ * @param options - the options
167
+ * @param options.sizes - the part sizes, each >= 0
168
+ * @returns the graph
169
+ */
170
+ export declare function completeMultipartiteGraph(options: {
171
+ sizes: readonly number[];
172
+ } & WeightOptions): SampleGraph;
173
+ /**
174
+ * The circular ladder CL_n (the n-prism): the ladder's rails 0 .. n - 1 and n .. 2n - 1 and rungs
175
+ * (i, n + i), as {@link ladderGraph} lists them, then the closing edges (n - 1, 0) and
176
+ * (2n - 1, n). 3-regular and planar.
177
+ * @param options - the options
178
+ * @param options.n - the number of rungs, >= 3
179
+ * @returns the graph
180
+ */
181
+ export declare function circularLadderGraph(options: {
182
+ n: number;
183
+ } & WeightOptions): SampleGraph;
184
+ /**
185
+ * The Moebius ladder M_{2n}: the cycle 0 .. 2n - 1 (edges (i, i + 1), then (2n - 1, 0)) and the n
186
+ * chords (i, i + n). 3-regular and, unlike the circular ladder, not planar for n >= 3.
187
+ * @param options - the options
188
+ * @param options.n - the number of rungs, >= 3
189
+ * @returns the graph
190
+ */
191
+ export declare function mobiusLadderGraph(options: {
192
+ n: number;
193
+ } & WeightOptions): SampleGraph;
194
+ /**
195
+ * The ring of cliques, as networkx's `ring_of_cliques`: for each clique i in order, its edges
196
+ * (row-major), then the ring edge (i size + 1, (i + 1) size mod n). The standard example of
197
+ * modularity's resolution limit (Fortunato and Barthelemy, PNAS 104:36-41, 2007,
198
+ * doi:10.1073/pnas.0605965104). Node column `community` (u32): the clique.
199
+ * @param options - the options
200
+ * @param options.cliques - the number of cliques, >= 2
201
+ * @param options.size - the clique size, >= 2
202
+ * @returns the graph
203
+ */
204
+ export declare function ringOfCliquesGraph(options: {
205
+ cliques: number;
206
+ size: number;
207
+ } & WeightOptions): SampleGraph;
208
+ //# sourceMappingURL=classic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../../src/generators/classic.ts"],"names":[],"mappings":"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"}