{"id":16721822,"url":"https://github.com/ranjanan/montecarlointegration.jl","last_synced_at":"2026-01-03T11:08:24.375Z","repository":{"id":47029241,"uuid":"186679715","full_name":"ranjanan/MonteCarloIntegration.jl","owner":"ranjanan","description":"A package for multi-dimensional integration using monte carlo methods","archived":false,"fork":false,"pushed_at":"2024-02-17T03:04:45.000Z","size":65,"stargazers_count":39,"open_issues_count":8,"forks_count":17,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-22T04:21:50.262Z","etag":null,"topics":["monte-carlo-integration","numerical-integration"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ranjanan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2019-05-14T18:39:03.000Z","updated_at":"2025-01-29T21:19:50.000Z","dependencies_parsed_at":"2023-02-02T20:02:15.590Z","dependency_job_id":"1c70fc18-db0c-4ca9-96d8-6c809dcc5f76","html_url":"https://github.com/ranjanan/MonteCarloIntegration.jl","commit_stats":{"total_commits":46,"total_committers":10,"mean_commits":4.6,"dds":0.5869565217391304,"last_synced_commit":"f14fa32076eccce30f6df7deefc70a31589326dd"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjanan%2FMonteCarloIntegration.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjanan%2FMonteCarloIntegration.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjanan%2FMonteCarloIntegration.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjanan%2FMonteCarloIntegration.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ranjanan","download_url":"https://codeload.github.com/ranjanan/MonteCarloIntegration.jl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243728043,"owners_count":20338155,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["monte-carlo-integration","numerical-integration"],"created_at":"2024-10-12T22:32:24.134Z","updated_at":"2026-01-03T11:08:24.293Z","avatar_url":"https://github.com/ranjanan.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monte Carlo Integration \n\n![CI](https://github.com/ranjanan/MonteCarloIntegration.jl/workflows/CI/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/ranjanan/MonteCarloIntegration.jl/badge.svg?branch=master)](https://coveralls.io/github/ranjanan/MonteCarloIntegration.jl?branch=master)\n\nThis package provides multidimensional integration \nalgorithms based on monte carlo methods. The biggest\nadvantage of using monte carlo methods is that their\nconvergence rate is **independent of the dimension of\nthe integral**. \n\nCurrently, this package only provides a routine \ncalled VEGAS: \n\n    vegas(f, st, en, kwargs...)\n\nVEGAS is a Monte Carlo algorithm for \nmultidimensional integration based on \nadaptive importance sampling. It divides\neach dimension into bins and adaptively adjusts\nbin widths so points are sampled from the\nregion where the function has highest magnitude. \n\nArguments:\n----------\n- st: Array of starting values in each dimension. \nDefaults to zeros(2)\n- end: Array of ending values in each dimension. \nDefaults to ones(2)\n\nKwargs:\n------\n- nbins: Number of bins in each dimension. \nDefaults to 100. \n- ncalls: Number of function calls per iteration. \nDefaults to 1000.\n- maxiter: Maximum number of iterations. \nDefaults to 100.\n- rtol: Relative tolerance required. \nDefaults to 1e-4.\n- atol: Absolute tolerance required. \nDefaults to 1e-2.\n- debug: Prints `abs(sd/I)` every 100 iterations. \nDefaults to false.\n- batch: Whether `f` returns batches of function\nevaluations. `f` is assumed to take one argument \n`pts`, an `ncalls × ndims` matrix. Each row\nis a unique point and returns an `ncalls` length\nvector of function evals. This argument defaults\nto false. \n\nOutput:\n------\n- Estimate for the integral \n- Standard deviation\n- χ^2 / (numiter - 1): should be less than 1 \notherwise integral estimate should not be trusted. \n\nReferences:\n-----------\n- Lepage, G. Peter. \"A new algorithm for adaptive \nmultidimensional integration.\" Journal of \nComputational Physics 27.2 (1978): 192-203.\n\n### Batch interface\n\nMost of the computation time in an integration\nalgorithm is usually spent in function evaluations. \nThe batch inteface allows users to provide \nbatches of function evaluations, instead of supplying\na function directly to be integrated. Users can now\nevaluate a number of points in parallel. \n\n### Roadmap \n- Supporting vector valued functions\n- Other integration algorithms\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franjanan%2Fmontecarlointegration.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Franjanan%2Fmontecarlointegration.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franjanan%2Fmontecarlointegration.jl/lists"}