Ergebnis für URL: http://ab-initio.mit.edu/wiki/index.php/Cubature #[1]GitHub
[2]Skip to content
Navigation Menu
(BUTTON) Toggle navigation
[3]Sign in
(BUTTON)
* (BUTTON) Product
+ Actions
Automate any workflow
+ Packages
Host and manage packages
+ Security
Find and fix vulnerabilities
+ Codespaces
Instant dev environments
+ Copilot
Write better code with AI
+ Code review
Manage code changes
+ Issues
Plan and track work
+ Discussions
Collaborate outside of code
Explore
+ [4]All features
+ [5]Documentation
+ [6]GitHub Skills
+ [7]Blog
* (BUTTON) Solutions
For
+ [8]Enterprise
+ [9]Teams
+ [10]Startups
+ [11]Education
By Solution
+ [12]CI/CD & Automation
+ [13]DevOps
+ [14]DevSecOps
Resources
+ [15]Learning Pathways
+ [16]White papers, Ebooks, Webinars
+ [17]Customer Stories
+ [18]Partners
* (BUTTON) Open Source
+ GitHub Sponsors
Fund open source developers
+ The ReadME Project
GitHub community articles
Repositories
+ [19]Topics
+ [20]Trending
+ [21]Collections
* [22]Pricing
(BUTTON)
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search
____________________
Clear (BUTTON)
[23]Search syntax tips
Provide feedback
(BUTTON)
We read every piece of feedback, and take your input very seriously.
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
[ ] Include my email address so I can be contacted
(BUTTON) Cancel (BUTTON) Submit feedback
Saved searches
Use saved searches to filter your results more quickly
(BUTTON)
Name ____________________
Query ____________________
To see all available qualifiers, see our [24]documentation.
(BUTTON) Cancel (BUTTON) Create saved search
[25]Sign in
[26]Sign up
You signed in with another tab or window. [27]Reload to refresh your session. You
signed out in another tab or window. [28]Reload to refresh your session. You
switched accounts on another tab or window. [29]Reload to refresh your session.
(BUTTON) Dismiss alert
(BUTTON)
{{ message }}
[30]stevengj / [31]cubature Public
* [32]Notifications
* [33]Fork 37
* [34]Star 118 (BUTTON)
*
multi-dimensional adaptive integration (cubature) in C
License
[35]View license
[36]118 stars [37]37 forks [38]Branches [39]Tags [40]Activity
[41]Star (BUTTON)
[42]Notifications
* [43]Code
* [44]Issues 7
* [45]Pull requests 1
* [46]Actions
* [47]Projects 0
* [48]Security
* [49]Insights
(BUTTON) Additional navigation options
* [50]Code
* [51]Issues
* [52]Pull requests
* [53]Actions
* [54]Projects
* [55]Security
* [56]Insights
stevengj/cubature
This commit does not belong to any branch on this repository, and may belong to a
fork outside of the repository.
(BUTTON)
master
(BUTTON)
[57]Branches[58]Tags
(BUTTON) Go to file
(BUTTON)
Code
(BUTTON)
(BUTTON) (BUTTON)
Folders and files
Name Name
Last commit message
Last commit date
Latest commit
History
[59]77 Commits
[60]doc
[61]doc
[62].gitignore
[63].gitignore
[64]CITATION.bib
[65]CITATION.bib
[66]CMakeLists.txt
[67]CMakeLists.txt
[68]COPYING.md
[69]COPYING.md
[70]Makefile
[71]Makefile
[72]NEWS.md
[73]NEWS.md
[74]README.md
[75]README.md
[76]clencurt.h
[77]clencurt.h
[78]clencurt_gen.c
[79]clencurt_gen.c
[80]converged.h
[81]converged.h
[82]cubature.h
[83]cubature.h
[84]hcubature.c
[85]hcubature.c
[86]pcubature.c
[87]pcubature.c
[88]test.c
[89]test.c
[90]vwrapper.h
[91]vwrapper.h
(BUTTON) View all files
Repository files navigation
* [92]README
* [93]License
(BUTTON)
Cubature
This is a simple C package for adaptive multidimensional integration (cubature)
of vector-valued integrands over hypercubes, written by [94]Steven G. Johnson.
That is, it computes integrals of the form:
[95]n-dimensional integral
(Of course, it can handle scalar integrands as the special case where f is a
one-dimensional vector: the dimensionalities of f and x are independent.) The
integrand can be evaluated for an array of points at once to enable easy
parallelization. The code, which is distributed as free software under the terms
of the GNU General Public License (v2 or later), implements two algorithms for
adaptive integration.
The first, h-adaptive integration (recursively partitioning the integration
domain into smaller subdomains, applying the same integration rule to each, until
convergence is achieved), is based on the algorithms described in:
* A. C. Genz and A. A. Malik, "An adaptive algorithm for numeric integration
over an N-dimensional rectangular region," J. Comput. Appl. Math. 6 (4),
295-302 (1980).
* J. Berntsen, T. O. Espelid, and A. Genz, "An adaptive algorithm for the
approximate calculation of multiple integrals," ACM Trans. Math. Soft. 17
(4), 437-451 (1991).
This algorithm is best suited for a moderate number of dimensions (say, < 7), and
is superseded for high-dimensional integrals by other methods (e.g. Monte Carlo
variants or sparse grids).
(Note that we do not use any of the original DCUHRE code by Genz, which is not
under a free/open-source license.) Our code is based in part on code borrowed
from the [96]HIntLib numeric-integration library by Rudolf Schürer and from code
for Gauss-Kronrod quadrature (for 1d integrals) from the [97]GNU Scientific
Library, both of which are free software under the GNU GPL. (Another
free-software multi-dimensional integration library, unrelated to our code here
but also implementing the Genz-Malik algorithm among other techniques, is
[98]Cuba.)
The second, p-adaptive integration (repeatedly doubling the degree of the
quadrature rules until convergence is achieved), is based on a tensor product of
[99]Clenshaw-Curtis quadrature rules. This algorithm is often superior to
h-adaptive integration for [100]smooth integrands in a few (
Usage: http://www.kk-software.de/kklynxview/get/URL
e.g. http://www.kk-software.de/kklynxview/get/http://www.kk-software.de
Errormessages are in German, sorry ;-)