{
  "_id": "6a4f4e6e21b18e15485006c9",
  "Package": "fastRG",
  "Title": "Sample Generalized Random Dot Product Graphs in Linear Time",
  "Version": "0.4.0",
  "Authors@R": "c(\nperson(\"Alex\", \"Hayes\", , \"alexpghayes@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0002-4985-5160\")),\nperson(\"Karl\", \"Rohe\", , \"KarlRohe@stat.wisc.edu\", role = c(\"aut\", \"cph\")),\nperson(\"Jun\", \"Tao\", role = \"aut\"),\nperson(\"Xintian\", \"Han\", role = \"aut\"),\nperson(\"Norbert\", \"Binkiewicz\", role = \"aut\")\n)",
  "Description": "Samples generalized random product graphs, a\ngeneralization of a broad class of network models. Given\nmatrices X, S, and Y with with non-negative entries, samples a\nmatrix with expectation X S Y^T and independent Poisson or\nBernoulli entries using the fastRG algorithm of Rohe et al.\n(2017) <https://www.jmlr.org/papers/v19/17-128.html>. The\nalgorithm first samples the number of edges and then puts them\ndown one-by-one.  As a result it is O(m) where m is the number\nof edges, a dramatic improvement over element-wise algorithms\nthat which require O(n^2) operations to sample a random graph,\nwhere n is the number of nodes.",
  "License": "MIT + file LICENSE",
  "URL": "https://rohelab.github.io/fastRG/,\nhttps://github.com/RoheLab/fastRG",
  "BugReports": "https://github.com/RoheLab/fastRG/issues",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libglpk-dev libicu-dev libxml2-dev",
  "Repository": "https://rohelab.r-universe.dev",
  "Date/Publication": "2025-12-05 20:49:42 UTC",
  "RemoteUrl": "https://github.com/rohelab/fastrg",
  "RemoteRef": "HEAD",
  "RemoteSha": "01579e164cee36cd58aed71d760bda08726beb91",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-09 07:27:59 UTC",
    "User": "root"
  },
  "Author": "Alex Hayes [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-4985-5160>),\nKarl Rohe [aut, cph],\nJun Tao [aut],\nXintian Han [aut],\nNorbert Binkiewicz [aut]",
  "Maintainer": "Alex Hayes <alexpghayes@gmail.com>",
  "_user": "rohelab",
  "_type": "src",
  "_file": "fastRG_0.4.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/e82046e8752954ec43100eff5b22e8621fb97148fe12cd2954d0283349be2800",
  "_filesize": 1443909,
  "_sha256": "e82046e8752954ec43100eff5b22e8621fb97148fe12cd2954d0283349be2800",
  "_expires": "2026-10-17T07:31:56.000Z",
  "_created": "2026-07-09T07:27:59.000Z",
  "_published": "2026-07-09T07:31:58.566Z",
  "_jobs": [
    {
      "job": 86063367078,
      "time": 178,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8191864661"
    },
    {
      "job": 86063367129,
      "time": 182,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8191866131"
    },
    {
      "job": 86063367080,
      "time": 97,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8191836255"
    },
    {
      "job": 86063367079,
      "time": 145,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8191852798"
    },
    {
      "job": 86062664224,
      "time": 245,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8191799252"
    },
    {
      "job": 86063367064,
      "time": 131,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8191848503"
    },
    {
      "job": 86063367100,
      "time": 112,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8191841507"
    },
    {
      "job": 86063367111,
      "time": 111,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8191841194"
    },
    {
      "job": 86063367106,
      "time": 143,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8191852897"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776",
  "_status": "success",
  "_upstream": "https://github.com/rohelab/fastrg",
  "_commit": {
    "id": "01579e164cee36cd58aed71d760bda08726beb91",
    "author": "Alex Hayes <alexpghayes@gmail.com>",
    "committer": "Alex Hayes <alexpghayes@gmail.com>",
    "message": "Latex is grumpy, tmp fix\n",
    "time": 1764967782
  },
  "_maintainer": {
    "name": "Alex Hayes",
    "email": "alexpghayes@gmail.com",
    "login": "alexpghayes",
    "bluesky": "@alexpghayes.com",
    "description": "Postdoc developing methods to make network experiments more cost effective",
    "uuid": 15078251,
    "orcid": "0000-0002-4985-5160"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "Matrix",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "RSpectra",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidygraph",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "irlba",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "magrittr",
      "role": "Suggests"
    },
    {
      "package": "purrr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "rohelab",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-30",
      "n": 3
    },
    {
      "week": "2025-45",
      "n": 2
    },
    {
      "week": "2025-46",
      "n": 2
    },
    {
      "week": "2025-47",
      "n": 1
    },
    {
      "week": "2025-49",
      "n": 4
    }
  ],
  "_tags": [
    {
      "name": "v0.3.3",
      "date": "2025-07-24"
    }
  ],
  "_topics": [
    "adjacency-matrix",
    "graph-sampling",
    "latent-factors"
  ],
  "_stars": 5,
  "_contributors": [
    {
      "user": "alexpghayes",
      "count": 190,
      "uuid": 15078251
    },
    {
      "user": "karlrohe",
      "count": 29,
      "uuid": 8247841
    },
    {
      "user": "olivroy",
      "count": 1,
      "uuid": 52606734
    }
  ],
  "_userbio": {
    "uuid": 13576766,
    "type": "organization",
    "name": "Rohe Lab",
    "followers": 12,
    "description": "network analysis and multivariate statistics research group"
  },
  "_downloads": {
    "count": 328,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/fastRG"
  },
  "_devurl": "https://github.com/rohelab/fastrg",
  "_pkgdown": "https://rohelab.github.io/fastRG/",
  "_searchresults": 27,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/fastRG.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/rohelab/fastrg",
  "_realowner": "rohelab",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.3.0",
      "date": "2021-02-26"
    },
    {
      "version": "0.3.1",
      "date": "2022-06-30"
    },
    {
      "version": "0.3.2",
      "date": "2023-08-21"
    },
    {
      "version": "0.3.3",
      "date": "2025-07-24"
    },
    {
      "version": "0.4.0",
      "date": "2025-12-11"
    }
  ],
  "_exports": [
    "chung_lu",
    "dcsbm",
    "directed_dcsbm",
    "directed_erdos_renyi",
    "directed_factor_model",
    "eigs_sym",
    "erdos_renyi",
    "expectation",
    "expected_degree",
    "expected_degrees",
    "expected_density",
    "expected_edges",
    "expected_in_degree",
    "expected_out_degree",
    "mmsbm",
    "overlapping_sbm",
    "planted_partition",
    "plot_dense_matrix",
    "plot_expectation",
    "plot_sparse_matrix",
    "sample_edgelist",
    "sample_igraph",
    "sample_sparse",
    "sample_tidygraph",
    "sbm",
    "svds",
    "undirected_factor_model"
  ],
  "_help": [
    {
      "page": "chung_lu",
      "title": "Create an undirected Chung-Lu object",
      "concept": [
        "undirected graphs"
      ],
      "topics": [
        "chung_lu"
      ]
    },
    {
      "page": "dcsbm",
      "title": "Create an undirected degree corrected stochastic blockmodel object",
      "concept": [
        "stochastic block models",
        "undirected graphs"
      ],
      "topics": [
        "dcsbm"
      ]
    },
    {
      "page": "directed_dcsbm",
      "title": "Create a directed degree corrected stochastic blockmodel object",
      "concept": [
        "directed graphs",
        "stochastic block models"
      ],
      "topics": [
        "directed_dcsbm"
      ]
    },
    {
      "page": "directed_erdos_renyi",
      "title": "Create an directed erdos renyi object",
      "concept": [
        "directed graphs",
        "erdos renyi"
      ],
      "topics": [
        "directed_erdos_renyi"
      ]
    },
    {
      "page": "directed_factor_model",
      "title": "Create a directed factor model graph",
      "topics": [
        "directed_factor_model"
      ]
    },
    {
      "page": "eigs_sym.undirected_factor_model",
      "title": "Compute the eigendecomposition of the expected adjacency matrix of an undirected factor model",
      "topics": [
        "eigs_sym.undirected_factor_model"
      ]
    },
    {
      "page": "erdos_renyi",
      "title": "Create an undirected erdos renyi object",
      "concept": [
        "erdos renyi",
        "undirected graphs"
      ],
      "topics": [
        "erdos_renyi"
      ]
    },
    {
      "page": "expectation",
      "title": "Calculate the expected adjacency matrix",
      "topics": [
        "expectation",
        "expectation.directed_factor_model",
        "expectation.undirected_factor_model"
      ]
    },
    {
      "page": "expected_edges",
      "title": "Calculate the expected edges in Poisson RDPG graph",
      "topics": [
        "expected_degree",
        "expected_degrees",
        "expected_density",
        "expected_edges",
        "expected_in_degree",
        "expected_out_degree"
      ]
    },
    {
      "page": "mmsbm",
      "title": "Create an undirected degree-corrected mixed membership stochastic blockmodel object",
      "concept": [
        "stochastic block models",
        "undirected graphs"
      ],
      "topics": [
        "mmsbm"
      ]
    },
    {
      "page": "overlapping_sbm",
      "title": "Create an undirected overlapping degree corrected stochastic blockmodel object",
      "concept": [
        "stochastic block models",
        "undirected graphs"
      ],
      "topics": [
        "overlapping_sbm"
      ]
    },
    {
      "page": "planted_partition",
      "title": "Create an undirected planted partition object",
      "concept": [
        "stochastic block models",
        "undirected graphs"
      ],
      "topics": [
        "planted_partition"
      ]
    },
    {
      "page": "plot_expectation",
      "title": "Plot (expected) adjacency matrices",
      "topics": [
        "plot_dense_matrix",
        "plot_expectation",
        "plot_sparse_matrix"
      ]
    },
    {
      "page": "sample_edgelist",
      "title": "Sample a random edgelist from a random dot product graph",
      "concept": [
        "samplers"
      ],
      "topics": [
        "sample_edgelist",
        "sample_edgelist.directed_factor_model",
        "sample_edgelist.undirected_factor_model"
      ]
    },
    {
      "page": "sample_edgelist.matrix",
      "title": "Low level interface to sample RPDG edgelists",
      "concept": [
        "samplers"
      ],
      "topics": [
        "sample_edgelist.Matrix",
        "sample_edgelist.matrix"
      ]
    },
    {
      "page": "sample_igraph",
      "title": "Sample a random dot product graph as an igraph graph",
      "concept": [
        "samplers"
      ],
      "topics": [
        "sample_igraph",
        "sample_igraph.directed_factor_model",
        "sample_igraph.undirected_factor_model"
      ]
    },
    {
      "page": "sample_sparse",
      "title": "Sample a random dot product graph as a sparse Matrix",
      "concept": [
        "samplers"
      ],
      "topics": [
        "sample_sparse",
        "sample_sparse.directed_factor_model",
        "sample_sparse.undirected_factor_model"
      ]
    },
    {
      "page": "sample_tidygraph",
      "title": "Sample a random dot product graph as a tidygraph graph",
      "concept": [
        "samplers"
      ],
      "topics": [
        "sample_tidygraph",
        "sample_tidygraph.directed_factor_model",
        "sample_tidygraph.undirected_factor_model"
      ]
    },
    {
      "page": "sbm",
      "title": "Create an undirected stochastic blockmodel object",
      "concept": [
        "stochastic block models",
        "undirected graphs"
      ],
      "topics": [
        "sbm"
      ]
    },
    {
      "page": "svds.directed_factor_model",
      "title": "Compute the singular value decomposition of the expected adjacency matrix of a directed factor model",
      "topics": [
        "svds.directed_factor_model"
      ]
    },
    {
      "page": "svds.undirected_factor_model",
      "title": "Compute the singular value decomposition of the expected adjacency matrix of an undirected factor model",
      "topics": [
        "svds.undirected_factor_model"
      ]
    },
    {
      "page": "undirected_factor_model",
      "title": "Create an undirected factor model graph",
      "topics": [
        "undirected_factor_model"
      ]
    }
  ],
  "_readme": "https://github.com/rohelab/fastrg/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "dplyr",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "igraph",
    "isoband",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "Matrix",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "RcppEigen",
    "rlang",
    "RSpectra",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidygraph",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "consistency.Rmd",
      "filename": "consistency.html",
      "title": "Demonstration: simulation study",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A quick note about recovering the spectrum"
      ],
      "created": "2025-11-11 01:31:17",
      "modified": "2025-12-05 20:05:20",
      "commits": 3
    }
  ],
  "_score": 5.829303772831024,
  "_indexed": true,
  "_nocasepkg": "fastrg",
  "_universes": [
    "rohelab",
    "alexpghayes"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-07-09T07:30:31.000Z",
      "distro": "resolute",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/6d9c0805e7b2825c1d0643d880c6727b156bed5b7777903efc98dae2ebe1c809",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-07-09T07:30:37.000Z",
      "distro": "resolute",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/4ade579fe48ccf6cf42f6fb0e23a157dae4fe369e1e439335259fc64d46d9c35",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-07-09T07:29:35.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/1557ec3f8b8781a91a7c4dfa18e5c8277a9e2a068492b29a012c1da98efe2a24",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-07-09T07:30:05.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/73246f97f986c639f90304e614991d47c051e1ebdf98450b2201d47c06f63c59",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0",
      "date": "2026-07-09T07:30:37.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/257f2c55b603a5e8a0e0602864f9d5a8b617a88541690855ef4da030060a9b7b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-07-09T07:29:17.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/7221fdc06c6821ed935aed15568eb7c8d84674b317e9cb5227ee4f964830c391",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-07-09T07:29:23.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/a62ca23ac5ac554a405f6481acec8512245f2894658c7300e91c0f257265a62c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-07-09T07:29:31.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/56a700ff309927fbac9e1ac5a73f8e22a20ed0da10039ee93ec6b00543a506d1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/29001407776"
    }
  ]
}