RKkit 0.1.4__tar.gz → 0.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rkkit-0.1.4 → rkkit-0.1.6}/Notebooks/GoodAndBad.ipynb +1 -1
- {rkkit-0.1.4 → rkkit-0.1.6}/PKG-INFO +4 -4
- {rkkit-0.1.4 → rkkit-0.1.6}/PythonExamples/AllProperties.py +1 -2
- {rkkit-0.1.4 → rkkit-0.1.6}/PythonExamples/Example.py +1 -2
- {rkkit-0.1.4 → rkkit-0.1.6}/PythonExamples/Gaussian.py +2 -4
- {rkkit-0.1.4 → rkkit-0.1.6}/PythonExamples/GoodAndBad.py +3 -2
- {rkkit-0.1.4 → rkkit-0.1.6}/PythonExamples/RadauByCollocation.py +1 -1
- {rkkit-0.1.4 → rkkit-0.1.6}/PythonExamples/Tchebychev.py +3 -2
- {rkkit-0.1.4 → rkkit-0.1.6}/PythonExamples/Test.py +3 -4
- {rkkit-0.1.4 → rkkit-0.1.6}/README.md +3 -3
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/RKformula.py +1 -1
- {rkkit-0.1.4 → rkkit-0.1.6}/pyproject.toml +1 -1
- {rkkit-0.1.4 → rkkit-0.1.6}/tests/test.py +4 -1
- {rkkit-0.1.4 → rkkit-0.1.6}/.gitignore +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/AUTHORS +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/LICENSE +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/Notebooks/AllProperties.ipynb +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/Notebooks/Example.ipynb +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/Notebooks/Gaussian.ipynb +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/Notebooks/RadauByCollocation.ipynb +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/Notebooks/Tchebychev.ipynb +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/Notebooks/Test.ipynb +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/README.md +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/RKExceptions.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/RKPolutilities.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/RKRungeKutta.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/RKTrees.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/RKcolloc.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/RKplot.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/__init__.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/RKkit/formulas.py +0 -0
- {rkkit-0.1.4 → rkkit-0.1.6}/TODO.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: RKkit
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: Playing with Runge-Kutta methods
|
|
5
5
|
Project-URL: Homepage, https://github.com/Thierry-Dumont/RKkit
|
|
6
6
|
Project-URL: Issues, https://github.com/Thierry-Dumont/RKkit/issues
|
|
@@ -109,7 +109,7 @@ here](https://members.loria.fr/PZimmermann/sagebook/english.html) and
|
|
|
109
109
|
|
|
110
110
|
* __First__, you must define a Runge--Kutta method. To do this you
|
|
111
111
|
must write a (simple) python _class_: have a look at _formulas.py_
|
|
112
|
-
in
|
|
112
|
+
in RKkit/ to better undestand what to do.
|
|
113
113
|
|
|
114
114
|
The class must derive from the "RungeKutta" class and include a
|
|
115
115
|
constructor.
|
|
@@ -124,7 +124,7 @@ The constructor must:
|
|
|
124
124
|
|
|
125
125
|
3- Call the base RungeKutta class constructor.
|
|
126
126
|
|
|
127
|
-
Remember that the "formula.py" file in
|
|
127
|
+
Remember that the "formula.py" file in RKkit/ gives examples of such classes.
|
|
128
128
|
|
|
129
129
|
__Be careful:__ The coefficients of A and B *must* be algebraic numbers
|
|
130
130
|
(AA or QQbar) or rational numbers (QQ). This is not absolutely trivial
|
|
@@ -134,7 +134,7 @@ since, in sage:
|
|
|
134
134
|
is a Python intrinsic, and cannot be avoided. So as you need to enter
|
|
135
135
|
an algebraic (real) number or a rational, you _must_ write QQ(2/3) or
|
|
136
136
|
AA(2/3) or 2/QQ(3) or 2/AA(3) instead of 2/3. Again, have a look at
|
|
137
|
-
|
|
137
|
+
RKkit/formula.py.
|
|
138
138
|
|
|
139
139
|
Have a look at "GoodAndBad.ipynb": this notebook shows this more in
|
|
140
140
|
details.
|
|
@@ -7,12 +7,11 @@
|
|
|
7
7
|
#
|
|
8
8
|
# Let us, for axample compute "all" the properties of a Gauss formula.
|
|
9
9
|
|
|
10
|
-
import sage.all
|
|
11
10
|
#
|
|
11
|
+
import passagemath_flint
|
|
12
12
|
from sage.functions.orthogonal_polys import legendre_P
|
|
13
13
|
from sage.rings.qqbar import *
|
|
14
14
|
#
|
|
15
|
-
|
|
16
15
|
from RKkit import *
|
|
17
16
|
#
|
|
18
17
|
R = AA["x"]
|
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
# coding: utf-8
|
|
3
3
|
|
|
4
4
|
# ### Gaussian formulae ###
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import sage.all
|
|
8
5
|
#
|
|
9
|
-
|
|
6
|
+
import passagemath_flint
|
|
10
7
|
from sage.rings.qqbar import *
|
|
11
8
|
from sage.functions.orthogonal_polys import legendre_P
|
|
9
|
+
from RKkit import *
|
|
12
10
|
# We must compute in exact numbers, generally algebraic numbers (AA if real, QQbar else).
|
|
13
11
|
|
|
14
12
|
R = AA["x"]#PolynomialRing(AA,"x")
|
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
#
|
|
6
6
|
# Remember that we must use exact sets of number, namely (real) algebraic nubers (AA or QQbar) or rationals (QQ) when defining Runge-Kutta methods.
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import passagemath_flint
|
|
9
|
+
from sage.rings.qqbar import *
|
|
9
10
|
#
|
|
10
11
|
from RKkit import *
|
|
11
12
|
from RKkit.RKRungeKutta import *
|
|
12
13
|
from RKkit.formulas import *
|
|
13
|
-
|
|
14
|
+
|
|
14
15
|
|
|
15
16
|
# A "good" initialization (this the classical explicit RK4 mathod).
|
|
16
17
|
#
|
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
# Here we use Tchemychev polynomials.
|
|
8
8
|
# The formulas does not present any interesting application !
|
|
9
9
|
|
|
10
|
-
import
|
|
10
|
+
import passagemath_flint
|
|
11
|
+
from sage.functions.orthogonal_polys import chebyshev_T
|
|
11
12
|
#
|
|
12
13
|
|
|
13
14
|
from RKkit import *
|
|
14
15
|
from sage.rings.qqbar import *
|
|
15
|
-
|
|
16
|
+
|
|
16
17
|
|
|
17
18
|
# We must compute in exact numbers, generally algebraic numbers (AA if real, QQbar else).
|
|
18
19
|
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
# coding: utf-8
|
|
3
3
|
|
|
4
4
|
# ## Test: can we compute all properties for all coded formulas? ##
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import passagemath_flint
|
|
6
|
+
from sage.rings.qqbar import *
|
|
7
|
+
import sage.rings.qqbar
|
|
7
8
|
#
|
|
8
9
|
from RKkit import *
|
|
9
10
|
from RKkit.formulas import *
|
|
10
11
|
from RKkit.RKcolloc import *
|
|
11
|
-
from sage.rings.qqbar import *
|
|
12
|
-
import sage.rings.qqbar
|
|
13
12
|
|
|
14
13
|
cformulas=[Radau5(),Gauss4(),Radau2a(),RK4(),SDIRK5(),Lobatto4()]
|
|
15
14
|
|
|
@@ -86,7 +86,7 @@ here](https://members.loria.fr/PZimmermann/sagebook/english.html) and
|
|
|
86
86
|
|
|
87
87
|
* __First__, you must define a Runge--Kutta method. To do this you
|
|
88
88
|
must write a (simple) python _class_: have a look at _formulas.py_
|
|
89
|
-
in
|
|
89
|
+
in RKkit/ to better undestand what to do.
|
|
90
90
|
|
|
91
91
|
The class must derive from the "RungeKutta" class and include a
|
|
92
92
|
constructor.
|
|
@@ -101,7 +101,7 @@ The constructor must:
|
|
|
101
101
|
|
|
102
102
|
3- Call the base RungeKutta class constructor.
|
|
103
103
|
|
|
104
|
-
Remember that the "formula.py" file in
|
|
104
|
+
Remember that the "formula.py" file in RKkit/ gives examples of such classes.
|
|
105
105
|
|
|
106
106
|
__Be careful:__ The coefficients of A and B *must* be algebraic numbers
|
|
107
107
|
(AA or QQbar) or rational numbers (QQ). This is not absolutely trivial
|
|
@@ -111,7 +111,7 @@ since, in sage:
|
|
|
111
111
|
is a Python intrinsic, and cannot be avoided. So as you need to enter
|
|
112
112
|
an algebraic (real) number or a rational, you _must_ write QQ(2/3) or
|
|
113
113
|
AA(2/3) or 2/QQ(3) or 2/AA(3) instead of 2/3. Again, have a look at
|
|
114
|
-
|
|
114
|
+
RKkit/formula.py.
|
|
115
115
|
|
|
116
116
|
Have a look at "GoodAndBad.ipynb": this notebook shows this more in
|
|
117
117
|
details.
|
|
@@ -215,7 +215,7 @@ class RKformula(SageObject):
|
|
|
215
215
|
m2n = generic_power(m2NR,2)+generic_power(m2NI,2)
|
|
216
216
|
m2d = RIaxeD*conj(RIaxeD)
|
|
217
217
|
|
|
218
|
-
# strange ! sometimes (
|
|
218
|
+
# strange ! sometimes (actually with SDIRK3), the following
|
|
219
219
|
# instruction produces a FLINT exception.
|
|
220
220
|
# Excecuting again solves the problem.
|
|
221
221
|
# A bug in FLINT ?
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|