{"id":35699754,"url":"https://github.com/queelius/algebraic.dist","last_synced_at":"2026-02-25T05:26:44.924Z","repository":{"id":110354467,"uuid":"496744293","full_name":"queelius/algebraic.dist","owner":"queelius","description":"R package: Algebra over distributions (random elements) with automatic simplification to closed forms","archived":false,"fork":false,"pushed_at":"2025-12-11T17:28:52.000Z","size":4301,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-20T23:22:23.304Z","etag":null,"topics":["data-science","distributions","monte-carlo","probability","r-package","statistics"],"latest_commit_sha":null,"homepage":"https://queelius.github.io/algebraic.dist/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/queelius.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-26T19:17:07.000Z","updated_at":"2025-12-11T17:28:57.000Z","dependencies_parsed_at":"2025-01-26T12:31:50.561Z","dependency_job_id":null,"html_url":"https://github.com/queelius/algebraic.dist","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/queelius/algebraic.dist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queelius%2Falgebraic.dist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queelius%2Falgebraic.dist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queelius%2Falgebraic.dist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queelius%2Falgebraic.dist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/queelius","download_url":"https://codeload.github.com/queelius/algebraic.dist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/queelius%2Falgebraic.dist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29811532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T03:30:18.102Z","status":"ssl_error","status_checked_at":"2026-02-25T03:30:17.799Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","distributions","monte-carlo","probability","r-package","statistics"],"created_at":"2026-01-06T01:52:20.488Z","updated_at":"2026-02-25T05:26:44.918Z","avatar_url":"https://github.com/queelius.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput:\n  github_document:\n    toc: true\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\")\n```\n\n# R package: `algebraic.dist`\n\n\u003c!-- badges: start --\u003e\n[![GPL-3 License](https://img.shields.io/badge/license-GPL--3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![R-CMD-check](https://github.com/queelius/algebraic.dist/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/queelius/algebraic.dist/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\n\u003c!-- summary-start --\u003e\nAn algebra over distributions (random elements).\n\u003c!-- summary-end --\u003e\n\n\u003c!-- tags-start --\u003e\n**Tags**: multivariate distributions, multivariate normal distribution, multivariate empirical distribution, data generating process, R, data-science, statistics, inference, likelihood-models, probability-theory\n\u003c!-- tags-end --\u003e\n\n## GitHub Pages Documentation\n\nThe GitHub documentation can be viewed [here](https://queelius.github.io/algebraic.dist/).\n\nSee the vignette [algebraic.dist: Example](https://queelius.github.io/algebraic.dist/articles/example.html)\nfor a quick introduction to the package.\n\n## Installation\n\nYou can install the development version of `algebraic.dist` from [GitHub](https://github.com/) with:\n\n```{r,eval=F}\n# install.packages(\"devtools\")\ndevtools::install_github(\"queelius/algebraic.dist\")\n```\n\n## About\n\nThe R package `algebraic.dist` provides an algebra over distributions.\nIt's not fully-formed yet, but I plan on using it for a lot of my future work.\nFor instance, I'll move a lot of the code in `algebraic.mle` and \n`likelihood.model` to this package.\n\nAfter that, I want to experiment with using the `algebraic.dist` to do the\nfollowing:\n\n- Compose distributions such that operations over distributions generate\nother known distributions.\n\n  There are a lot of well-known compositions, such as\nthe exponential distribution being the minimum of independent exponential distributions, or the sum of independent normal\ndistributions being a normal distribution, but there is a very large space of\npossible compositions that are not as well-known or well-studied that I want to\nexplore.\n\n- Let people use an R expression to lazily compose functions of distributions.\nSimplifying a distribution expression will generate a most simple R expression\nthat represents the same distribution.\n\nSometimes, this may result in a simple close-form distribution, like a \nmultivariate normal distribution, but in other cases it may result in a\n(hopefully simpler) expression that composes multiple distributions and\noperations over them.\n\n- With these R expressions that represent distributions, we can define more\noperations, like taking the limiting distribution of a sequence of\ndistributions, say $\\lim_{n \\to \\infty} \\frac{1}{n} \\sum_{i=1}^n X_i$, which is\nof normal by the central limit theorem.\n\n- Deduce various properties of these distributions, such as their moments,\nvariances, etc. Sometimes, this may require numerical integration or Monte\nCarlo methods, but if the expression simplifies to a known distribution, then\nwe can use the known properties of that distribution.\n\nI have a lot of this code in place in C++, but I want to\nre-implement it in R so that it's more accessible to others. I may also\nimplement some of the more interesting compositions in C++ and expose them to R\nvia Rcpp, but I'm not sure yet. I use a lot of templates and metaprogramming in\nC++, and I'm not sure how well that will translate to Rcpp.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueelius%2Falgebraic.dist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqueelius%2Falgebraic.dist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqueelius%2Falgebraic.dist/lists"}