![Cubature](https://raw.github.com/saullocastro/cubature/master/cubature_logo.png "Cubature")
Cubature
========
Github Actions status:
[![pytest and coverage](https://github.com/saullocastro/cubature/actions/workflows/pytest_and_coverage.yml/badge.svg)](https://github.com/saullocastro/cubature/actions/workflows/pytest_and_coverage.yml)
Coverage status:
[![Codecov Status](https://codecov.io/gh/saullocastro/cubature/branch/master/graph/badge.svg?token=167I3DVK2G)](https://codecov.io/gh/saullocastro/cubature)
What is Cubature?
-----------------
It is a numerical integration technique. From MathWorld
http://mathworld.wolfram.com/Cubature.html, Ueberhuber (1997, p. 71) and
Krommer and Ueberhuber (1998, pp. 49 and 155-165) use the word "quadrature" to
mean numerical computation of a univariate integral, and "cubature" to mean
numerical computation of a multiple integral.
Cubature for Python
-------------------
This is a wrapper to Prof. Steven Johnson's C package, available at https://github.com/stevengj/cubature.
The current version is a wrapper to version 1.0.4 of Prof. Johnson's package.
Documentation
-------------
Please, see the module documentation here http://saullocastro.github.io/cubature.
Python wrapper for the Cubature package
---------------------------------------
From the Nanostructures and Computation Wiki at MIT
http://ab-initio.mit.edu/wiki/index.php/Cubature, Steven W. Johnson
http://math.mit.edu/~stevenj has written a simple C package for adaptive
multidimensional integration (cubature) of vector-valued functions over
hypercubes and this is a Python wrapper for the referred C package.
Installation from source code
-----------------------------
You must have Cython installed. Then do:
```
python setup.py install
```
or (usually in Linux):
```
python3 setup.py install
```
Installation from pip repository
--------------------------------
Just do:
```
python -m pip install cubature
```
or (usually in Linux):
```
python3 -m pip install cubature
```
Running the tests
-----------------
To run the tests you will have to download the source code. After installing as
explained above, go to the source code root folder and run:
```
py.test .
```
The Python wrapper has been proven using test integrands from the C
package and some additional testing functions from Genz. The integrands
were implemented in Cython and verified with Mathematica.
Citing this Python wrapper for Cubature
---------------------------------------
We kindly ask you to cite this Python library properly. Also, it would be
helpful if you could cite the papers where this methods has been applied as
well.
Castro, S.G.P.; Loukianov, A.; et al. "Python wrapper for Cubature: adaptive multidimensional integration". DOI:10.5281/zenodo.2541552. Version 0.18.6, 2024.
Citing Papers using this Python wrapper for Cubature
----------------------------------------------------
Used to integrate tangent stiffness matrices in computational solid mechanics
Castro, S.G.P. et al. "Evaluation of non-linear buckling loads of geometrically imperfect composite cylinders and cones with the Ritz method". Composite Structures, Vol. 122, 284-299, 2015.
Castro, S.G.P. et al. "A semi-analytical approach for linear and non-linear analysis of unstiffened laminated composite cylinders and cones under axial, torsion and pressure loads". Thin-Walled Structures, Vol. 90, 61-73, 2015.
Examples
--------
Some examples are given in "./examples" https://github.com/saullocastro/cubature/tree/master/examples.
Fork me!
--------
You are welcome to fork this repository and modify it in whatever way you
want. It will also be nice if you could send a pull request here in case
you think your modifications are valuable for another person.
License
-------
This wrapper follows the GNU-GPL license terms of Steven G. Johnson described in the `C Package <https://github.com/saullocastro/cubature/tree/master/cubature/cpackage/COPYING>`_.
Raw data
{
"_id": null,
"home_page": "https://github.com/saullocastro/cubature",
"name": "cubature",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "numerical integration, integration, multi-dimensional integration",
"author": "Saullo G. P. Castro and Anton Loukianov",
"author_email": "saullogiovani@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/5e/d8/6720cf88c3d886413449bbcbd235d7fe7feb24b9a1887b6f54cb6caba404/cubature-0.18.6.tar.gz",
"platform": null,
"description": "![Cubature](https://raw.github.com/saullocastro/cubature/master/cubature_logo.png \"Cubature\")\n\nCubature\n========\n\nGithub Actions status:\n\n[![pytest and coverage](https://github.com/saullocastro/cubature/actions/workflows/pytest_and_coverage.yml/badge.svg)](https://github.com/saullocastro/cubature/actions/workflows/pytest_and_coverage.yml)\n\nCoverage status:\n\n[![Codecov Status](https://codecov.io/gh/saullocastro/cubature/branch/master/graph/badge.svg?token=167I3DVK2G)](https://codecov.io/gh/saullocastro/cubature)\n\n\nWhat is Cubature?\n-----------------\n\nIt is a numerical integration technique. From MathWorld\nhttp://mathworld.wolfram.com/Cubature.html, Ueberhuber (1997, p. 71) and\nKrommer and Ueberhuber (1998, pp. 49 and 155-165) use the word \"quadrature\" to\nmean numerical computation of a univariate integral, and \"cubature\" to mean\nnumerical computation of a multiple integral.\n\nCubature for Python\n-------------------\n\nThis is a wrapper to Prof. Steven Johnson's C package, available at https://github.com/stevengj/cubature.\nThe current version is a wrapper to version 1.0.4 of Prof. Johnson's package.\n\nDocumentation\n-------------\n\nPlease, see the module documentation here http://saullocastro.github.io/cubature.\n\nPython wrapper for the Cubature package\n---------------------------------------\n\nFrom the Nanostructures and Computation Wiki at MIT\nhttp://ab-initio.mit.edu/wiki/index.php/Cubature, Steven W. Johnson\nhttp://math.mit.edu/~stevenj has written a simple C package for adaptive\nmultidimensional integration (cubature) of vector-valued functions over\nhypercubes and this is a Python wrapper for the referred C package.\n\nInstallation from source code\n-----------------------------\n\nYou must have Cython installed. Then do:\n\n```\npython setup.py install \n```\n\nor (usually in Linux):\n\n```\npython3 setup.py install\n```\n\nInstallation from pip repository\n--------------------------------\n\nJust do:\n\n```\npython -m pip install cubature\n```\n\nor (usually in Linux):\n\n```\npython3 -m pip install cubature\n```\n\nRunning the tests\n-----------------\n\nTo run the tests you will have to download the source code. After installing as\nexplained above, go to the source code root folder and run:\n\n```\npy.test .\n```\n\nThe Python wrapper has been proven using test integrands from the C\npackage and some additional testing functions from Genz. The integrands\nwere implemented in Cython and verified with Mathematica.\n\n\nCiting this Python wrapper for Cubature\n---------------------------------------\n\nWe kindly ask you to cite this Python library properly. Also, it would be\nhelpful if you could cite the papers where this methods has been applied as\nwell.\n\nCastro, S.G.P.; Loukianov, A.; et al. \"Python wrapper for Cubature: adaptive multidimensional integration\". DOI:10.5281/zenodo.2541552. Version 0.18.6, 2024.\n\n\n\nCiting Papers using this Python wrapper for Cubature\n----------------------------------------------------\n\nUsed to integrate tangent stiffness matrices in computational solid mechanics\n\nCastro, S.G.P. et al. \"Evaluation of non-linear buckling loads of geometrically imperfect composite cylinders and cones with the Ritz method\". Composite Structures, Vol. 122, 284-299, 2015.\n\nCastro, S.G.P. et al. \"A semi-analytical approach for linear and non-linear analysis of unstiffened laminated composite cylinders and cones under axial, torsion and pressure loads\". Thin-Walled Structures, Vol. 90, 61-73, 2015.\n\nExamples\n--------\n\nSome examples are given in \"./examples\" https://github.com/saullocastro/cubature/tree/master/examples.\n\n\nFork me!\n--------\n\nYou are welcome to fork this repository and modify it in whatever way you\nwant. It will also be nice if you could send a pull request here in case\nyou think your modifications are valuable for another person.\n\n\nLicense\n-------\n\nThis wrapper follows the GNU-GPL license terms of Steven G. Johnson described in the `C Package <https://github.com/saullocastro/cubature/tree/master/cubature/cpackage/COPYING>`_.\n",
"bugtrack_url": null,
"license": "GNU-GPL",
"summary": "Numerical integration technique",
"version": "0.18.6",
"project_urls": {
"Homepage": "https://github.com/saullocastro/cubature"
},
"split_keywords": [
"numerical integration",
" integration",
" multi-dimensional integration"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b553d76d6626b847ed0167a51940723d0057c246e9f4f0d6064dfc59cde75ab7",
"md5": "614e1fe3110c53f945d2398d8fb1147f",
"sha256": "ae80ba915497a2f105e349047a4334b55fa0860648d25707c682232583748c89"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp310-cp310-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "614e1fe3110c53f945d2398d8fb1147f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 10578659,
"upload_time": "2024-03-21T23:45:18",
"upload_time_iso_8601": "2024-03-21T23:45:18.142210Z",
"url": "https://files.pythonhosted.org/packages/b5/53/d76d6626b847ed0167a51940723d0057c246e9f4f0d6064dfc59cde75ab7/cubature-0.18.6-cp310-cp310-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d97671308035bc4b2401cf702d182441381dd763bb74e0a614aa392c88b5a126",
"md5": "957f7ae6f2b3ea43193bcbf0ac8ab74a",
"sha256": "c307941d67ca668efb5ddfef596965ee6057d35b356103102b375b3b00fdd9a8"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "957f7ae6f2b3ea43193bcbf0ac8ab74a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 10549333,
"upload_time": "2024-03-21T23:20:17",
"upload_time_iso_8601": "2024-03-21T23:20:17.407464Z",
"url": "https://files.pythonhosted.org/packages/d9/76/71308035bc4b2401cf702d182441381dd763bb74e0a614aa392c88b5a126/cubature-0.18.6-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9ea8bf79c4bb75a35fc5c1693d307d0d0b49f5c7b28358e2c23ceecaec053380",
"md5": "511b222ee734b9434be5cc938bf0808d",
"sha256": "67771bcafd65afcc2043058a9a2700dd1c77dff7ca3a367505fb7def64ac7b1b"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "511b222ee734b9434be5cc938bf0808d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 21233489,
"upload_time": "2024-03-21T23:47:43",
"upload_time_iso_8601": "2024-03-21T23:47:43.232129Z",
"url": "https://files.pythonhosted.org/packages/9e/a8/bf79c4bb75a35fc5c1693d307d0d0b49f5c7b28358e2c23ceecaec053380/cubature-0.18.6-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "23998f91154516cc8701687bbb2eb1972903e4c5f889bac53e8da3ab94f4a008",
"md5": "153d0b195b5f74d5525c84871a7f8a13",
"sha256": "eb8a640375af1a126351498e5eca162db708244486f0c8cf4593eead7c3099e0"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "153d0b195b5f74d5525c84871a7f8a13",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 10549410,
"upload_time": "2024-03-21T23:20:17",
"upload_time_iso_8601": "2024-03-21T23:20:17.070443Z",
"url": "https://files.pythonhosted.org/packages/23/99/8f91154516cc8701687bbb2eb1972903e4c5f889bac53e8da3ab94f4a008/cubature-0.18.6-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e61f187b3984a2f10f78ebe80502066adfa88b51eca38feecdbceddaa58aa8a",
"md5": "9b91f20b33bc2aae5df359d02a26da99",
"sha256": "7142773ce57074f633478e3c04b2b70925354e3ebbc6a315abe207e41b07880e"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp312-cp312-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "9b91f20b33bc2aae5df359d02a26da99",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 21228695,
"upload_time": "2024-03-21T23:46:20",
"upload_time_iso_8601": "2024-03-21T23:46:20.934196Z",
"url": "https://files.pythonhosted.org/packages/0e/61/f187b3984a2f10f78ebe80502066adfa88b51eca38feecdbceddaa58aa8a/cubature-0.18.6-cp312-cp312-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "790d11a5cb2e489cb5a412dba4f7f3e07517b65b181ec592424db3888cd38534",
"md5": "c6fcb50e9793917dd2e7ef96315592a7",
"sha256": "4794a4188360a17809fcc00c3d92a04a6247aeb055ac8f39e94187d5e26c0c7e"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "c6fcb50e9793917dd2e7ef96315592a7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 10549073,
"upload_time": "2024-03-21T23:20:15",
"upload_time_iso_8601": "2024-03-21T23:20:15.186119Z",
"url": "https://files.pythonhosted.org/packages/79/0d/11a5cb2e489cb5a412dba4f7f3e07517b65b181ec592424db3888cd38534/cubature-0.18.6-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "857cf64798ab743a78d602180f38c2d737a959ab408ae4478e7378efe215609d",
"md5": "88e8ddbe0f46296432e978333b641177",
"sha256": "89d35377c5d3698357106fc120f0aeb0957357ae8a52160af9da30b2fe0bc679"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp37-cp37m-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "88e8ddbe0f46296432e978333b641177",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 10579455,
"upload_time": "2024-03-21T23:48:14",
"upload_time_iso_8601": "2024-03-21T23:48:14.067116Z",
"url": "https://files.pythonhosted.org/packages/85/7c/f64798ab743a78d602180f38c2d737a959ab408ae4478e7378efe215609d/cubature-0.18.6-cp37-cp37m-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d28a3c890d5c73e33ace42c7c03147a42c1d24fe69ce1b88edb8f7628d358628",
"md5": "df078be5de904fa0a66dd47cfb5f917a",
"sha256": "e217ce04bf71d88bbd1c46706047d3d1cd4899b8293db9d0bebf9660a8277b00"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "df078be5de904fa0a66dd47cfb5f917a",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 10549356,
"upload_time": "2024-03-21T23:19:59",
"upload_time_iso_8601": "2024-03-21T23:19:59.845743Z",
"url": "https://files.pythonhosted.org/packages/d2/8a/3c890d5c73e33ace42c7c03147a42c1d24fe69ce1b88edb8f7628d358628/cubature-0.18.6-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5db98fd3ac9d3a9f0f28a0e9785fcbead4ff72b9b1f4b716527e5d2a61d25bec",
"md5": "27eaad6f45d85e143f66197cac8fb2ca",
"sha256": "9c8f3b5468907f1dc9dcb170c0f0c642a4c471003ba790d1c4b818e821d54e1a"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp38-cp38-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "27eaad6f45d85e143f66197cac8fb2ca",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 10579586,
"upload_time": "2024-03-21T23:48:03",
"upload_time_iso_8601": "2024-03-21T23:48:03.945223Z",
"url": "https://files.pythonhosted.org/packages/5d/b9/8fd3ac9d3a9f0f28a0e9785fcbead4ff72b9b1f4b716527e5d2a61d25bec/cubature-0.18.6-cp38-cp38-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48286907dd61087ba836d1c170a7db3bb651feb2dc47775aca2c320fad60c4a3",
"md5": "7c42dbca6d8a73209d896650e7e77ae5",
"sha256": "b4fa0b7b65dee3f717f07b1dc94d5ae2a3a70cde5104f4db19595bdb082000f1"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "7c42dbca6d8a73209d896650e7e77ae5",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 10550333,
"upload_time": "2024-03-21T23:19:55",
"upload_time_iso_8601": "2024-03-21T23:19:55.404149Z",
"url": "https://files.pythonhosted.org/packages/48/28/6907dd61087ba836d1c170a7db3bb651feb2dc47775aca2c320fad60c4a3/cubature-0.18.6-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8bc907072439be871e23f1a0d170107b490d92d4465845221df835fc39df947b",
"md5": "4ba2c407db23ebd3c75d7c0e001fa4c1",
"sha256": "f24c5a0aec5871633b2bbbf03d215f9d25bfb8edfc9ecb649193a40888d1822a"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp39-cp39-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "4ba2c407db23ebd3c75d7c0e001fa4c1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 10582611,
"upload_time": "2024-03-21T23:47:58",
"upload_time_iso_8601": "2024-03-21T23:47:58.927839Z",
"url": "https://files.pythonhosted.org/packages/8b/c9/07072439be871e23f1a0d170107b490d92d4465845221df835fc39df947b/cubature-0.18.6-cp39-cp39-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2d81c8d16bb1c8d34f60e7d3ff60857f13616449d8b9c15a3a4b8efa8d0d6cb8",
"md5": "e41ad5dc3d45070434d80e20bca7ee01",
"sha256": "7581e37a33dadc7cc3c09d70d227c475bce73f3bb39f19a7f192aacfa1e2aa80"
},
"downloads": -1,
"filename": "cubature-0.18.6-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "e41ad5dc3d45070434d80e20bca7ee01",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 10550235,
"upload_time": "2024-03-21T23:19:49",
"upload_time_iso_8601": "2024-03-21T23:19:49.431125Z",
"url": "https://files.pythonhosted.org/packages/2d/81/c8d16bb1c8d34f60e7d3ff60857f13616449d8b9c15a3a4b8efa8d0d6cb8/cubature-0.18.6-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5ed86720cf88c3d886413449bbcbd235d7fe7feb24b9a1887b6f54cb6caba404",
"md5": "10bd04d8364a0135be597ade228e22a2",
"sha256": "8d2cad932c8e490a03fde608bc80c84c367f6c2bb8f51a29c1bb15aca1cddeee"
},
"downloads": -1,
"filename": "cubature-0.18.6.tar.gz",
"has_sig": false,
"md5_digest": "10bd04d8364a0135be597ade228e22a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15264760,
"upload_time": "2024-03-21T23:19:06",
"upload_time_iso_8601": "2024-03-21T23:19:06.307992Z",
"url": "https://files.pythonhosted.org/packages/5e/d8/6720cf88c3d886413449bbcbd235d7fe7feb24b9a1887b6f54cb6caba404/cubature-0.18.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-21 23:19:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "saullocastro",
"github_project": "cubature",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "cubature"
}