High-Dimensional Integrator

High-Dimensional Integrator - Published in JOSS (2017)

https://github.com/iljah/hdintegrator

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Sociology Social Sciences - 64% confidence
Last synced: 4 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: iljah
  • License: gpl-3.0
  • Language: C
  • Default Branch: master
  • Size: 99.6 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created almost 9 years ago · Last pushed almost 8 years ago
Metadata Files
Readme License Codemeta

README.md

HDIntegrator

High-Dimensional Integrator (HDIntegrator) is a program for parallel numerical integration of functions in arbitrary number of dimensions, see paper.md for a general overview.

DOI

Installation

Installation and testing is detailed in the INSTALL.md file but at least Python 3 and an implementation of Message Passing Interface is required along with mpi4py and the NetworkX python package. Separate programs are used for evaluating integrals numerically and are provided in the integrands directory. These can have their own prerequisites as detailed in INSTALL.

Usage

To get a list of mandatory and optional arguments supported by the program run hdintegrator.py with --help argument: ./hdintegrator.py --help (or hdintegrator.py --help if you installed it through pip).

In general the program must be run with at least two MPI processes and must include a serial program to use as an integrand as well as the number of dimensions to integrate in:

mpiexec -n 5 ./hdintegrator.py --integrand integrands/N-sphere.py --dimensions 2

The result consists of one line with the integral's value, absolute error and fraction of volume relative to total volume in which the integrand failed to return a value:

0.523598776383549 1.453150932917424e-08 0.0

Input and output formats

To define your own integral you must write a program that will be called by hdintegrator.py for evaluating that intergral within a given volume and give that program as an argument to hdintegrator.py. For an example see e.g. the integrand integrands/N-sphere.py which evaluates the integral for an N-dimensional sphere. Communication between hdintegrator.py and integrands is handled via standard input and output in ASCII format. Each line given to the integrand by hdintegrator.py consists of floating point numbers separated by spaces:

C a0 a1 b0 b1 c0 c1 ...

where C is the number of samples to use for evaluating the integral and a0, a1, b0, etc. represent the minimum and maximum extent of the integration volume respectively. Note that the number of dimensions might change from one line to another, although that is not the case currently. Each line received from the integrand by hdintegrator.py must consist of three floating point numbers separated by spaces in ASCII format:

V E S

where V is the value of the integral, E is an estimate of the absolute integration error and S is the suggested dimension starting from 0 in which to split the integration volume in order to minimize subsequent integration errors.

Support

To seek support or report an issue in HDIntegrator please create a new issue at https://github.com/iljah/hdintegrator/issues

Contributing

To contribute to HDIntegrator please create a new pull request at https://github.com/iljah/hdintegrator/pulls

Owner

  • Name: Ilja
  • Login: iljah
  • Kind: user

JOSS Publication

High-Dimensional Integrator
Published
December 15, 2017
Volume 2, Issue 20, Page 437
Authors
Ilja Honkonen ORCID
Finnish Meteorological Institute
Editor
Daniel S. Katz ORCID
Tags
numerical integration message passing interface arbitrary number of dimensions

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "http://orcid.org/0000-0002-9542-5866",
      "@type": "Person",
      "email": "ilja.honkonen@fmi.fi",
      "name": "Ilja Honkonen",
      "affiliation": "Finnish Meteorological Institute"
    }
  ],
  "identifier": "http://dx.doi.org/",
  "codeRepository": "https://github.com/iljah/hdintegrator",
  "datePublished": "2017-10-04",
  "dateModified": "2017-10-04",
  "dateCreated": "2017-10-04",
  "description": "Program for numerically calculating integrals with arbitrary number of dimensions in parallel using Message Passing Interface",
  "keywords": "software, numerical integration, arbitrary number of dimensions",
  "license": "GPL-3.0",
  "title": "hdintegrator",
  "version": "1.0.1"
}

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 103
  • Total Committers: 3
  • Avg Commits per committer: 34.333
  • Development Distribution Score (DDS): 0.068
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ilja Honkonen i****n@f****i 96
ilja i****a@e****n 4
Ilja Honkonen i****n@n****v 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 14
  • Total pull requests: 0
  • Average time to close issues: 1 day
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 3.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • marksantcroos (14)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 6 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 3
  • Total maintainers: 1
pypi.org: hdintegrator

High-Dimensional Integrator, see github.com/iljah/hdintegrator for full version

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 6 Last month
Rankings
Dependent packages count: 10.1%
Dependent repos count: 21.6%
Forks count: 22.7%
Average: 36.3%
Stargazers count: 38.8%
Downloads: 88.4%
Maintainers (1)
Last synced: 4 months ago

Dependencies

setup.py pypi
  • mpi4py *
  • networkx *
  • scipy *