PyIntegral


NamePyIntegral JSON
Version 0.0.11 PyPI version JSON
download
home_pagehttps://github.com/neutrinomuon/PyIntegral
SummaryIntegrate arrays, functions numerically using different methods in Python. Original Fortran 2003+ legacy routines date back to 2003-2004. Read the LICENSE.txt file.
upload_time2023-06-07 13:25:37
maintainer
docs_urlNone
authorJean Gomes
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ### PyIntegral
####  A Fortran legacy package to easy integrate numerically
email: [antineutrinomuon@gmail.com](mailto:antineutrinomuon@gmail.com), [jean@astro.up.pt](mailto:jean@astro.up.pt)

© Copyright ®

J.G. - Jean Gomes

last stable version: 0.0.11

<hr>

![My Skills](https://skillicons.dev/icons?i=python,fortran,c,numpy&theme=light)<br>
[![python3](https://img.shields.io/pypi/pyversions/PyIntegral)](https://img.shields.io/pypi/pyversions/PyIntegral)
[![badgetlicense](https://anaconda.org/neutrinomuon/PyIntegral/badges/license.svg)](https://anaconda.org/neutrinomuon/PyIntegral/badges/license.svg)

<hr>

<div align="center">
<img src='https://github.com/neutrinomuon/PyIntegral/blob/main/tutorials/Definite_Integral.png?raw=true' width="50%">
</div>

<hr>

#### <b>RESUME</b>

Integrate arrays, functions numerically using different
methods. Original Fortran 2003+ routines date back to 2003-2004. Read the
<a href='https://github.com/neutrinomuon/PyIntegral/blob/main/LICENSE.txt'>LICENSE.txt</a> file. Definite integrals are mathematical calculations that allow
us to find the area under a curve between two defined points on the x-axis. In
other words, they give us the total accumulated value of a function over an
interval. Definite integrals are used in various fields, such as physics,
engineering, and finance, to solve real-world problems, such as calculating
the total distance travelled by a moving object or the total profit of a
company over a certain period.

There are various techniques for computing definite integrals, including
analytical methods (e.g., antiderivatives) and numerical methods (e.g., using
quadrature or Monte Carlo). The choice of method depends on the type of
function being integrated, the desired accuracy, and the computational
resources available. Some commonly used numerical integration techniques
include the trapezoidal rule, Simpson's rule, and Gaussian quadrature.

In computer programming, definite integrals can be calculated using
specialized libraries and routines that provide numerical integration
algorithms. These routines typically take as input the function to be
integrated, the interval over which to integrate, and the desired level of
accuracy. The output of the routine is an approximation of the definite
integral.

<hr>

#### <b>INSTALLATION</b>

You can easily install <a href=https://pypi.org/project/PyIntegral/>PyIntegral</a> by using pip - <a href='https://pypi.org/'>PyPI - The Python Package Index</a>:
<pre>
<code>
pip install PyIntegral
</code>
</pre>
or by using a generated conda repository <a href='https://anaconda.org/neutrinomuon/PyIntegral'>https://anaconda.org/neutrinomuon/PyIntegral</a>:

[![badgetanaconda](https://anaconda.org/neutrinomuon/PyIntegral/badges/version.svg)](https://anaconda.org/neutrinomuon/PyIntegral/badges/version.svg)
[![badgetreleasedate](https://anaconda.org/neutrinomuon/PyIntegral/badges/latest_release_date.svg)](https://anaconda.org/neutrinomuon/PyIntegral/badges/latest_release_date.svg)
[![badgetplatforms](https://anaconda.org/neutrinomuon/PyIntegral/badges/platforms.svg
)](https://anaconda.org/neutrinomuon/PyIntegral/badges/platforms.svg)
<pre>
<code>
conda install -c neutrinomuon PyIntegral
</code>
</pre>
OBS.: Linux, OS-X ad Windows pre-compilations available in conda.

You can also clone the repository and install by yourself in your machine:
<pre>
<code>
git clone https://github.com/neutrinomuon/PyIntegral
python setup.py install
</code>
</pre>

<hr>

#### <b>METHODS</b>

The methods are given by Int_Type and may be summarized bellow:

<table>
<tr><td>Int_Type</td><td>Type</td><td>Description</td></tr>
<tr><td>0<td>R</td><td>Right rectangle Integral  </td></tr>
<tr><td>1<td>L</td><td>Left rectangle Integral   </td></tr>
<tr><td>2<td>T</td><td>Trapezoidal rule          </td></tr>
<tr><td>3<td>S</td><td>Simple Integral           </td></tr>
<tr><td>4<td>M</td><td>Median rectangle Integral </td></tr>
<tr><td>5<td>I</td><td>Simpsonregel's rule       </td></tr>
<tr><td>6<td>G</td><td>Gauss-Legendre Quadrature </td></tr>
</table>

<hr>

#### <b>REFERENCES</b>

<ol><il> William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian
P. Flannery. Numerical Recipes: The Art of Scientific Computing. William ISBN:
978-0521880688. Link: <a
href='https://www.nr.com/'>https://www.nr.com/</a></il> </ol>

<hr>

#### <b>STRUCTURE</b>

The main structure of the directories and files are:

<pre>
<code>
PyIntegral
├── PyIntegral
├── dist
│   └── PyIntegral-0.0.10.tar.gz
├── README.md
├── showdown.min.js
├── scripts
│   └── update_readme.py
├── index.html
├── LICENSE.txt
├── setup.py
├── PyIntegral.egg-info
│   ├── PKG-INFO
│   ├── dependency_links.txt
│   ├── SOURCES.txt
│   ├── top_level.txt
│   └── requires.txt
├── tutorials
│   ├── Definite_Integral.png
│   ├── Definite_Integral.py
│   ├── .ipynb_checkpoints
│   │   ├── Example1 - pyintegralall-checkpoint.ipynb
│   │   └── Example1 - IntegralALL-checkpoint.ipynb
│   └── Example1 - pyintegralall.ipynb
├── src
│   ├── python
│   │   ├── __init__.py
│   │   └── PyIntegralALL.py
│   └── fortran
│       ├── LINinterpol.cpython-39-darwin.so
│       ├── GaussLegendreQuadrature.cpython-311-darwin.so
│       ├── IntegralALL.compile
│       ├── IntegralALL.f90
│       ├── IntegralALL.cpython-39-darwin.so
│       ├── IntegralALL.cpython-39-x86_64-linux-gnu.so
│       ├── IntegralALL.cpython-310-darwin.so
│       ├── IntegralALL.cpython-310-x86_64-linux-gnu.so
│       ├── GaussLegendreQuadrature.cpython-38-x86_64-linux-gnu.so
│       ├── IntegralALL.cpython-311-darwin.so
│       ├── DataTypes.f90
│       ├── GaussLegendreQuadrature.cpython-39-x86_64-linux-gnu.so
│       ├── GaussLegendreQuadrature.cpython-310-darwin.so
│       ├── LINinterpol.cpython-311-darwin.so
│       ├── IntegralALL.cpython-38-x86_64-linux-gnu.so
│       ├── LINinterpol.cpython-38-x86_64-linux-gnu.so
│       ├── GaussLegendreQuadrature.cpython-310-x86_64-linux-gnu.so
│       ├── LINinterpol.cpython-310-darwin.so
│       ├── LINinterpol.compile
│       ├── GaussLegendreQuadrature.f90
│       ├── README.txt
│       ├── LINinterpol.cpython-39-x86_64-linux-gnu.so
│       ├── GaussLegendreQuadrature.cpython-39-darwin.so
│       ├── LINinterpol.cpython-310-x86_64-linux-gnu.so
│       ├── LINinterpol.f90
│       └── GaussLegendreQuadrature.compile
├── version.txt
└── build
    └── src.linux-x86_64-3.9
        ├── pyintegralall
        ├── PyIntegral
        └── build

14 directories, 46 files
</code>
</pre>

PyIntegral.py is a python wrapper to the library in Fortran called
pyintegral.flib. The Fortran directory can be compiled separately for each
individual subroutine.

<hr>

#### <b>LICENSE</b>

This software is provided "AS IS" (see DISCLAIMER below). Permission to use,
for non-commercial purposes is granted. Permission to modify for personal or
internal use is granted, provided this copyright and disclaimer are included
in ALL copies of the software. All other rights are reserved. In particular,
redistribution of the code is not allowed without explicit permission by the
author.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/neutrinomuon/PyIntegral",
    "name": "PyIntegral",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Jean Gomes",
    "author_email": "antineutrinomuon@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/58/f4/30644e00607b94c641e92e4ea835fde4aaac677f381f5bfa3be352bdb49c/PyIntegral-0.0.11.tar.gz",
    "platform": null,
    "description": "### PyIntegral\n####  A Fortran legacy package to easy integrate numerically\nemail: [antineutrinomuon@gmail.com](mailto:antineutrinomuon@gmail.com), [jean@astro.up.pt](mailto:jean@astro.up.pt)\n\n\u00a9 Copyright \u00ae\n\nJ.G. - Jean Gomes\n\nlast stable version: 0.0.11\n\n<hr>\n\n![My Skills](https://skillicons.dev/icons?i=python,fortran,c,numpy&theme=light)<br>\n[![python3](https://img.shields.io/pypi/pyversions/PyIntegral)](https://img.shields.io/pypi/pyversions/PyIntegral)\n[![badgetlicense](https://anaconda.org/neutrinomuon/PyIntegral/badges/license.svg)](https://anaconda.org/neutrinomuon/PyIntegral/badges/license.svg)\n\n<hr>\n\n<div align=\"center\">\n<img src='https://github.com/neutrinomuon/PyIntegral/blob/main/tutorials/Definite_Integral.png?raw=true' width=\"50%\">\n</div>\n\n<hr>\n\n#### <b>RESUME</b>\n\nIntegrate arrays, functions numerically using different\nmethods. Original Fortran 2003+ routines date back to 2003-2004. Read the\n<a href='https://github.com/neutrinomuon/PyIntegral/blob/main/LICENSE.txt'>LICENSE.txt</a> file. Definite integrals are mathematical calculations that allow\nus to find the area under a curve between two defined points on the x-axis. In\nother words, they give us the total accumulated value of a function over an\ninterval. Definite integrals are used in various fields, such as physics,\nengineering, and finance, to solve real-world problems, such as calculating\nthe total distance travelled by a moving object or the total profit of a\ncompany over a certain period.\n\nThere are various techniques for computing definite integrals, including\nanalytical methods (e.g., antiderivatives) and numerical methods (e.g., using\nquadrature or Monte Carlo). The choice of method depends on the type of\nfunction being integrated, the desired accuracy, and the computational\nresources available. Some commonly used numerical integration techniques\ninclude the trapezoidal rule, Simpson's rule, and Gaussian quadrature.\n\nIn computer programming, definite integrals can be calculated using\nspecialized libraries and routines that provide numerical integration\nalgorithms. These routines typically take as input the function to be\nintegrated, the interval over which to integrate, and the desired level of\naccuracy. The output of the routine is an approximation of the definite\nintegral.\n\n<hr>\n\n#### <b>INSTALLATION</b>\n\nYou can easily install <a href=https://pypi.org/project/PyIntegral/>PyIntegral</a> by using pip - <a href='https://pypi.org/'>PyPI - The Python Package Index</a>:\n<pre>\n<code>\npip install PyIntegral\n</code>\n</pre>\nor by using a generated conda repository <a href='https://anaconda.org/neutrinomuon/PyIntegral'>https://anaconda.org/neutrinomuon/PyIntegral</a>:\n\n[![badgetanaconda](https://anaconda.org/neutrinomuon/PyIntegral/badges/version.svg)](https://anaconda.org/neutrinomuon/PyIntegral/badges/version.svg)\n[![badgetreleasedate](https://anaconda.org/neutrinomuon/PyIntegral/badges/latest_release_date.svg)](https://anaconda.org/neutrinomuon/PyIntegral/badges/latest_release_date.svg)\n[![badgetplatforms](https://anaconda.org/neutrinomuon/PyIntegral/badges/platforms.svg\n)](https://anaconda.org/neutrinomuon/PyIntegral/badges/platforms.svg)\n<pre>\n<code>\nconda install -c neutrinomuon PyIntegral\n</code>\n</pre>\nOBS.: Linux, OS-X ad Windows pre-compilations available in conda.\n\nYou can also clone the repository and install by yourself in your machine:\n<pre>\n<code>\ngit clone https://github.com/neutrinomuon/PyIntegral\npython setup.py install\n</code>\n</pre>\n\n<hr>\n\n#### <b>METHODS</b>\n\nThe methods are given by Int_Type and may be summarized bellow:\n\n<table>\n<tr><td>Int_Type</td><td>Type</td><td>Description</td></tr>\n<tr><td>0<td>R</td><td>Right rectangle Integral  </td></tr>\n<tr><td>1<td>L</td><td>Left rectangle Integral   </td></tr>\n<tr><td>2<td>T</td><td>Trapezoidal rule          </td></tr>\n<tr><td>3<td>S</td><td>Simple Integral           </td></tr>\n<tr><td>4<td>M</td><td>Median rectangle Integral </td></tr>\n<tr><td>5<td>I</td><td>Simpsonregel's rule       </td></tr>\n<tr><td>6<td>G</td><td>Gauss-Legendre Quadrature </td></tr>\n</table>\n\n<hr>\n\n#### <b>REFERENCES</b>\n\n<ol><il> William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian\nP. Flannery. Numerical Recipes: The Art of Scientific Computing. William ISBN:\n978-0521880688. Link: <a\nhref='https://www.nr.com/'>https://www.nr.com/</a></il> </ol>\n\n<hr>\n\n#### <b>STRUCTURE</b>\n\nThe main structure of the directories and files are:\n\n<pre>\n<code>\nPyIntegral\n\u251c\u2500\u2500 PyIntegral\n\u251c\u2500\u2500 dist\n\u2502   \u2514\u2500\u2500 PyIntegral-0.0.10.tar.gz\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 showdown.min.js\n\u251c\u2500\u2500 scripts\n\u2502   \u2514\u2500\u2500 update_readme.py\n\u251c\u2500\u2500 index.html\n\u251c\u2500\u2500 LICENSE.txt\n\u251c\u2500\u2500 setup.py\n\u251c\u2500\u2500 PyIntegral.egg-info\n\u2502   \u251c\u2500\u2500 PKG-INFO\n\u2502   \u251c\u2500\u2500 dependency_links.txt\n\u2502   \u251c\u2500\u2500 SOURCES.txt\n\u2502   \u251c\u2500\u2500 top_level.txt\n\u2502   \u2514\u2500\u2500 requires.txt\n\u251c\u2500\u2500 tutorials\n\u2502   \u251c\u2500\u2500 Definite_Integral.png\n\u2502   \u251c\u2500\u2500 Definite_Integral.py\n\u2502   \u251c\u2500\u2500 .ipynb_checkpoints\n\u2502   \u2502   \u251c\u2500\u2500 Example1 - pyintegralall-checkpoint.ipynb\n\u2502   \u2502   \u2514\u2500\u2500 Example1 - IntegralALL-checkpoint.ipynb\n\u2502   \u2514\u2500\u2500 Example1 - pyintegralall.ipynb\n\u251c\u2500\u2500 src\n\u2502   \u251c\u2500\u2500 python\n\u2502   \u2502   \u251c\u2500\u2500 __init__.py\n\u2502   \u2502   \u2514\u2500\u2500 PyIntegralALL.py\n\u2502   \u2514\u2500\u2500 fortran\n\u2502       \u251c\u2500\u2500 LINinterpol.cpython-39-darwin.so\n\u2502       \u251c\u2500\u2500 GaussLegendreQuadrature.cpython-311-darwin.so\n\u2502       \u251c\u2500\u2500 IntegralALL.compile\n\u2502       \u251c\u2500\u2500 IntegralALL.f90\n\u2502       \u251c\u2500\u2500 IntegralALL.cpython-39-darwin.so\n\u2502       \u251c\u2500\u2500 IntegralALL.cpython-39-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 IntegralALL.cpython-310-darwin.so\n\u2502       \u251c\u2500\u2500 IntegralALL.cpython-310-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 GaussLegendreQuadrature.cpython-38-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 IntegralALL.cpython-311-darwin.so\n\u2502       \u251c\u2500\u2500 DataTypes.f90\n\u2502       \u251c\u2500\u2500 GaussLegendreQuadrature.cpython-39-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 GaussLegendreQuadrature.cpython-310-darwin.so\n\u2502       \u251c\u2500\u2500 LINinterpol.cpython-311-darwin.so\n\u2502       \u251c\u2500\u2500 IntegralALL.cpython-38-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 LINinterpol.cpython-38-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 GaussLegendreQuadrature.cpython-310-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 LINinterpol.cpython-310-darwin.so\n\u2502       \u251c\u2500\u2500 LINinterpol.compile\n\u2502       \u251c\u2500\u2500 GaussLegendreQuadrature.f90\n\u2502       \u251c\u2500\u2500 README.txt\n\u2502       \u251c\u2500\u2500 LINinterpol.cpython-39-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 GaussLegendreQuadrature.cpython-39-darwin.so\n\u2502       \u251c\u2500\u2500 LINinterpol.cpython-310-x86_64-linux-gnu.so\n\u2502       \u251c\u2500\u2500 LINinterpol.f90\n\u2502       \u2514\u2500\u2500 GaussLegendreQuadrature.compile\n\u251c\u2500\u2500 version.txt\n\u2514\u2500\u2500 build\n    \u2514\u2500\u2500 src.linux-x86_64-3.9\n        \u251c\u2500\u2500 pyintegralall\n        \u251c\u2500\u2500 PyIntegral\n        \u2514\u2500\u2500 build\n\n14 directories, 46 files\n</code>\n</pre>\n\nPyIntegral.py is a python wrapper to the library in Fortran called\npyintegral.flib. The Fortran directory can be compiled separately for each\nindividual subroutine.\n\n<hr>\n\n#### <b>LICENSE</b>\n\nThis software is provided \"AS IS\" (see DISCLAIMER below). Permission to use,\nfor non-commercial purposes is granted. Permission to modify for personal or\ninternal use is granted, provided this copyright and disclaimer are included\nin ALL copies of the software. All other rights are reserved. In particular,\nredistribution of the code is not allowed without explicit permission by the\nauthor.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Integrate arrays, functions numerically using different methods in Python. Original Fortran 2003+ legacy routines date back to 2003-2004. Read the LICENSE.txt file.",
    "version": "0.0.11",
    "project_urls": {
        "Homepage": "https://github.com/neutrinomuon/PyIntegral"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58f430644e00607b94c641e92e4ea835fde4aaac677f381f5bfa3be352bdb49c",
                "md5": "7a9b7c9fadeaf49d9ced61ba879c8945",
                "sha256": "febe8796484b5d629d1fbf36d53c3e60888cf6d0451b49b18bfccb5e3735eaf7"
            },
            "downloads": -1,
            "filename": "PyIntegral-0.0.11.tar.gz",
            "has_sig": false,
            "md5_digest": "7a9b7c9fadeaf49d9ced61ba879c8945",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14826,
            "upload_time": "2023-06-07T13:25:37",
            "upload_time_iso_8601": "2023-06-07T13:25:37.732744Z",
            "url": "https://files.pythonhosted.org/packages/58/f4/30644e00607b94c641e92e4ea835fde4aaac677f381f5bfa3be352bdb49c/PyIntegral-0.0.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-07 13:25:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "neutrinomuon",
    "github_project": "PyIntegral",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pyintegral"
}
        
Elapsed time: 0.08257s