{
  "_id": "6a4a1c790b5cb829d370876f",
  "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-06-09 07:29:46 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/da6db6e419aab772147c2b8425df92084109b58c795e204a6d913fc89c5960ad",
  "_filesize": 1439000,
  "_sha256": "da6db6e419aab772147c2b8425df92084109b58c795e204a6d913fc89c5960ad",
  "_expires": "2026-10-13T08:57:28.000Z",
  "_created": "2026-06-09T07:29:46.000Z",
  "_published": "2026-07-05T08:57:29.922Z",
  "_jobs": [
    {
      "job": 85208757868,
      "time": 196,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7501263894"
    },
    {
      "job": 85208757726,
      "time": 204,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7501266013"
    },
    {
      "job": 85208757830,
      "time": 113,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7501303332"
    },
    {
      "job": 85208757722,
      "time": 168,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7501369053"
    },
    {
      "job": 85208757621,
      "time": 207,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7501191494"
    },
    {
      "job": 85208757709,
      "time": 138,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7501243241"
    },
    {
      "job": 85208757764,
      "time": 118,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7501236277"
    },
    {
      "job": 85208757870,
      "time": 123,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7501238077"
    },
    {
      "job": 85208757748,
      "time": 114,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7501235033"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765",
  "_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": "noble",
  "_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",
    "description": "network analysis and multivariate statistics research group"
  },
  "_downloads": {
    "count": 174,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/fastRG"
  },
  "_devurl": "https://github.com/rohelab/fastrg",
  "_pkgdown": "https://rohelab.github.io/fastRG/",
  "_searchresults": 26,
  "_rbuild": "4.6.0",
  "_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",
    "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.812913356642856,
  "_indexed": true,
  "_nocasepkg": "fastrg",
  "_universes": [
    "rohelab",
    "alexpghayes"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-06-09T07:32:33.000Z",
      "distro": "noble",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/6154236b13376fd000a1721f8c1c2bed8a11bc288f61d970131c6da5e891a6f8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-06-09T07:32:38.000Z",
      "distro": "noble",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/f0f02eea994dc54712ec343e278ebc70a87b3842a5d9419ce1fe13f79b5253b4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-06-09T07:34:41.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/1cba9d772bc7b1ee5b238bebbe580ff064a705d5a040ec79fd1adfbedcd20144",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-06-09T07:37:47.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/4b42ea6a4733b9d2fe0e59259df608425a7cc16e4edb17472f316d5721b89197",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0",
      "date": "2026-06-09T07:32:25.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/e7967fdeb602a444f7ab9a9dd95a1d440c0428475bf06b4dd790cfcf3de11fdb",
      "status": "success",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-06-09T07:31:12.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/5cf9a19e59ddff5cd6be8f98905dd24307c543297ee1b5203a9275af47d9dfe4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-06-09T07:31:12.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/e108d4279ca57162fc101abdc10080c431535c1ea443b30053e9ffa21073ab68",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-06-09T07:31:07.000Z",
      "commit": "01579e164cee36cd58aed71d760bda08726beb91",
      "fileid": "https://r2.ropensci.org/3dac7515c1649f7f9b65cca090ad01a69ab7ba03872f9045130206fdefc5656d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rohelab/actions/runs/27190727765"
    }
  ]
}