Skip to content
This repository was archived by the owner on Dec 23, 2025. It is now read-only.

Commit 89acc7b

Browse files
authored
v1.1.0 prep (#38)
* add change log entry for #35 * resolve #25 * bump to v1.1.0 * fix up * remove old codecov.yml * explicitly list source dirs in .coveragerc * more settings in .coveragerc * add pypi badge
1 parent ff3fe05 commit 89acc7b

File tree

7 files changed

+42
-29
lines changed

7 files changed

+42
-29
lines changed

.coveragerc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
[run]
2+
3+
source =
4+
idesolver
5+
tests
6+
27
branch = True
38

49
[report]
10+
511
exclude_lines =
612
pragma: no cover
713
pragma: unreachable
@@ -12,3 +18,6 @@ exclude_lines =
1218
if 0:
1319
if False:
1420
if __name__ == .__main__.:
21+
22+
skip_empty = True
23+
show_missing = True

README.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ idesolver
77
.. image:: https://readthedocs.org/projects/idesolver/badge/?version=latest
88
:target: https://idesolver.readthedocs.io/en/latest/?badge=latest
99

10+
.. image:: https://img.shields.io/pypi/v/idesolver :alt: PyPI
11+
1012
.. image:: https://codecov.io/gh/JoshKarpel/idesolver/branch/master/graph/badge.svg
1113
:target: https://codecov.io/gh/JoshKarpel/idesolver
1214

codecov.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

docs/source/changelog.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ Change Log
33

44
.. currentmodule:: idesolver
55

6+
v1.1.0
7+
------
8+
* Add support for multidimensional IDEs (PR :pr:`35` resolves :issue:`28`, thanks `nbrucy <https://github.com/nbrucy>`_!)
9+
610
v1.0.5
711
------
812
* Relaxes dependency version restrictions in advance of changes to ``pip``.

docs/source/conf.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"sphinx.ext.githubpages",
4444
"sphinx.ext.napoleon",
4545
"sphinx_rtd_theme",
46+
"sphinx_issues",
4647
]
4748

4849
# Add any paths that contain templates here, relative to this directory.
@@ -210,3 +211,6 @@
210211

211212
autodoc_member_order = "bysource"
212213
autoclass_content = "both"
214+
215+
# sphinx-issues config
216+
issues_github_path = "JoshKarpel/idesolver"

idesolver/idesolver.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,19 @@ class IDESolver:
8484
Attributes
8585
----------
8686
x : :class:`numpy.ndarray`
87-
The positions where the solution is calculated (i.e., where `y` is evaluated).
87+
The positions where the solution is calculated (i.e., where :math:`y` is evaluated).
8888
y : :class:`numpy.ndarray`
89-
The solution :math:`y(x)`. ``None`` until :meth:`IDESolver.solve` is finished.
89+
The solution :math:`y(x)`.
90+
``None`` until :meth:`IDESolver.solve` is finished.
9091
global_error : :class:`float`
91-
The final global error estimate. ``None`` until :meth:`IDESolver.solve` is finished.
92+
The final global error estimate.
93+
``None`` until :meth:`IDESolver.solve` is finished.
9294
iteration : :class:`int`
93-
The current iteration. ``None`` until :meth:`IDESolver.solve` starts.
95+
The current iteration.
96+
``None`` until :meth:`IDESolver.solve` starts.
9497
y_intermediate :
95-
The intermediate solutions. Only exists if `store_intermediate_y` is ``True``.
98+
The intermediate solutions.
99+
Only exists if ``store_intermediate_y`` is ``True``.
96100
97101
"""
98102

@@ -122,31 +126,40 @@ def __init__(
122126
Parameters
123127
----------
124128
x : :class:`numpy.ndarray`
125-
The array of :math:`x` values to find the solution :math:`y(x)` at. Generally something like ``numpy.linspace(a, b, num_pts)``.
129+
The array of :math:`x` values to find the solution :math:`y(x)` at.
130+
Generally something like ``numpy.linspace(a, b, num_pts)``.
126131
y_0 : :class:`float` or :class:`complex` or :class:`numpy.ndarray`
127132
The initial condition, :math:`y_0 = y(a)` (can be multidimensional).
128133
c :
129134
The function :math:`c(y, x)`.
135+
Defaults to :math:`c(y, x) = 0`.
130136
d :
131137
The function :math:`d(x)`.
138+
Defaults to :math:`d(x) = 1`.
132139
k :
133140
The kernel function :math:`k(x, s)`.
141+
Defaults to :math:`k(x, s) = 1`.
134142
f :
135143
The function :math:`F(y)`.
144+
Defaults to :math:`f(y) = 0`.
136145
lower_bound :
137146
The lower bound function :math:`\\alpha(x)`.
147+
Defaults to the first element of ``x``.
138148
upper_bound :
139149
The upper bound function :math:`\\beta(x)`.
150+
Defaults to the last element of ``x``.
140151
global_error_tolerance : :class:`float`
141152
The algorithm will continue until the global errors goes below this or uses more than `max_iterations` iterations. If ``None``, the algorithm continues until hitting `max_iterations`.
142153
max_iterations : :class:`int`
143154
The maximum number of iterations to use. If ``None``, iteration will not stop unless the `global_error_tolerance` is satisfied. Defaults to ``None``.
144155
ode_method : :class:`str`
145156
The ODE solution method to use. As the `method` option of :func:`scipy.integrate.solve_ivp`. Defaults to ``'RK45'``, which is good for non-stiff systems.
146157
ode_atol : :class:`float`
147-
The absolute tolerance for the ODE solver. As the `atol` argument of :func:`scipy.integrate.solve_ivp`.
158+
The absolute tolerance for the ODE solver.
159+
As the `atol` argument of :func:`scipy.integrate.solve_ivp`.
148160
ode_rtol : :class:`float`
149-
The relative tolerance for the ODE solver. As the `rtol` argument of :func:`scipy.integrate.solve_ivp`.
161+
The relative tolerance for the ODE solver.
162+
As the `rtol` argument of :func:`scipy.integrate.solve_ivp`.
150163
int_atol : :class:`float`
151164
The absolute tolerance for the integration routine. As the `epsabs` argument of :func:`scipy.integrate.quad`.
152165
int_rtol : :class:`float`

setup.cfg

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = idesolver
3-
version = 1.0.5
3+
version = 1.1.0
44
description = A general purpose iterative numeric integro-differential equation (IDE) solver
55
long_description = file: README.rst
66
long_description_content_type = text/x-rst
@@ -36,6 +36,7 @@ python_requires = >=3.6
3636
[options.extras_require]
3737
docs =
3838
sphinx
39+
sphinx-issues
3940
sphinx_autodoc_typehints
4041
sphinx_rtd_theme
4142
tests =

0 commit comments

Comments
 (0)