This package aims to provide a common template for building iterative solvers, those solver that approximate problem solutions with incremental steps (called “update” in this project). This template will over a minimal base for developing, tuning and using iterative solvers from the earliest protypting phase to the delivery of block box algorithm.
The interface between an (advanced) user and the iterative solver is decomposed into the following 4 main phases
set the solver controls and problem inputs before the next update;
reset the solver controls reset problem inputs after a update failure;
study any you want combaning the information from problem, unknows, and solver;
set when the solver has finished its job.
This decomposition is done via a Reverse Communication (RC) approach, an old style of programming used for example in the ARPACK library, combined with Python classes. We adopt this approach because it let the user work “manually” on the structures describing its problem instead of having to define in advance the procedure to handle the steps 1,2,3,4. This is particularly convient in early step of the algorithm development. A nicer and clenear function hiding the RC cycle to an user who wants a block-box solver can be easily build.
Free software: GNU Lesser General Public License v3 or later (LGPLv3+)
Installation
pip install reverse-communication-iterative-solver
You can also install the in-development version with:
pip install https://github.com/enricofacca/python-reverse_communication_iterative_solver/archive/master.zip
Documentation
https://python-reverse_communication_iterative_solver.readthedocs.io/
Development
To run all the tests run:
tox
Note, to combine the coverage data from all the tox environments run:
Windows |
set PYTEST_ADDOPTS=--cov-append tox |
|---|---|
Other |
PYTEST_ADDOPTS=--cov-append tox |
Changelog
0.0.1 (2021-12-30)
Updating the README to real package aim
0.0.0 (2021-12-29)
First release on PyPI.
Release files for reverse-communication-iterative-solver 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| reverse-communication-iterative-solver-0.0.1.tar.gz | 26.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reverse_communication_iterative_solver-0.0.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 45.8 kB
Release files / reverse-communication-iterative-solver-0.0.1.tar.gz
| Download URL | reverse-communication-iterative-solver-0.0.1.tar.gz |
|---|---|
| Size | 26.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2704e847eb87564baa5f81cccc87a4cc174118369188d092752b88fd634d96b7
|
|
BLAKE2b-256 checksum How to use checksums |
a394c514efae9b42337a63c5064184ba7b77f66a725685eaaa0aa46e0b61c8d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.14.0 pkginfo/1.8.2 requests/2.23.0 setuptools/46.1.3.post20200325 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.10
|
Release files / reverse_communication_iterative_solver-0.0.1-py2.py3-none-any.whl
| Download URL | reverse_communication_iterative_solver-0.0.1-py2.py3-none-any.whl |
|---|---|
| Size | 19.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
6748096bb66774a4355110424d5b17bcaea4ffa70dd4507df132ac0a757fbb74
|
|
BLAKE2b-256 checksum How to use checksums |
fb8a7a04a2bbecb610d9f7b416f55c4d5b0bb1895b70fef6548b81974172ba4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.14.0 pkginfo/1.8.2 requests/2.23.0 setuptools/46.1.3.post20200325 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.10
|