• No results found

Runge-Kutta Munthe-Kaas methods and the design of Python packages are both vast subjects, and this thesis has only scratched the surface of both. One obvious extension of PyLie would be to extend it to work for a greater number of problems, evolving on different manifolds and formulated using different Lie groups. Another is to increase the number of code tests in order to create even greater confidence in the correctness of the methods.

Another limitation is that all currently implemented methods are explicit.

Implicit methods would be an interesting next step, but would require great care in how they are implemented. A possibly easier intermediary step would be to look beyond Runge-Kutta-coefficients to more modern developments.

Examples include commutator-free methods and embedded pairs of coeffi-cients reusing exponentials as explored in [7]. Implementing variable step-size methods in order to more efficiently find numerical solutions of a suitable accuracy is also highly relevant.

Bibliography

[1] Ralph Abraham, Jerrold E. Marsden, and Tudor Ratiu.Manifolds, Tensor Analysis, and Applications. Applied Mathematical Sciences. Springer, New York, NY, 1988.isbn: 978-0-387-96790-5.doi:10.1007/978-1-4612-1029-0. url:https://doi.org/10.1007/978-1-4612-1029-0.

[2] Elena Celledoni, Håkon Marthinsen, and Brynjulf Owren. “An in-troduction to Lie group integrators - basics, new developments and applications”. In:Journal of Computational Physics257, Part B (Jan. 2014), pp. 1040–1061.doi:10.1016/j.jcp.2012.12.031.

[3] Elena Celledoni and Brynjulf Owren. “Lie group methods for rigid body dynamics and time integration on manifolds”. In:Computer Methods in Applied Mechanics and Engineering192.3 (2003), pp. 421–438.issn: 0045-7825.doi:https://doi.org/10.1016/S0045-7825(02)00520-0.url:https:

//www.sciencedirect.com/science/article/pii/S0045782502005200. [4] Elena Celledoni et al.Lie Group integrators for mechanical systems. 2021.

arXiv:2102.12778 [math.NA].

[5] The SciPy community.NumPy API Reference. Machine limits for floating point types. Jan. 2021. url: https://numpy.org/doc/stable/reference/

generated/numpy.finfo.html.

[6] Lawrence Conlon.Differentiable Manifolds. Birkhäuser Boston, 1993.doi: 10.1007/978- 1- 4757- 2284- 0.url: https://doi.org/10.1007/978- 1-4757-2284-0.

[7] Charles Curry and Brynjulf Owren. “Variable step size commutator free Lie group integrators”. In:Numerical Algorithms 82.4 (Jan. 2019), pp. 1359–1376.doi:10.1007/s11075-019-00659-0.url:https://doi.org/

10.1007/s11075-019-00659-0.

[8] J.R. Dormand and P.J. Prince. “A family of embedded Runge-Kutta formulae”. In:Journal of Computational and Applied Mathematics6.1 (1980), pp. 19–26.issn: 0377-0427.doi:https://doi.org/10.1016/0771-050X(80) 90013- 3. url: https://www.sciencedirect.com/science/article/pii/

0771050X80900133.

[9] K. Engø and A. Marthinsen. “A Note on the Numerical Solution of the Heavy Top Equations”. In:Multibody System Dynamics5.4 (May 2001), pp. 387–397.issn: 1573-272X.doi:10.1023/A:1011459217639.

[10] Kenth Engø, Arne Marthinsen, and Hans Z. Munthe-Kaas. “DiffMan:

An object-oriented MATLAB toolbox for solving differential equations on manifolds”. In:Applied Numerical Mathematics39.3 (2001). Themes in Geometric Integration, pp. 323–347.issn: 0168-9274.doi:https://doi.

org/10.1016/S0168-9274(00)00042-8.url:https://www.sciencedirect.

com/science/article/pii/S0168927400000428.

[11] The Python Software Foundation.Python 3.9.5 documentation. Classes.

June 2021.url:https://docs.python.org/3/tutorial/classes.html. [12] The Python Software Foundation.Python 3.9.5 documentation. Modules.

June 2021.url:https://docs.python.org/3/tutorial/modules.html. [13] The Python Software Foundation.The Python Standard Library.unittest

– Unit testing framework. June 2021. url:https://docs.python.org/3/

library/unittest.html.

[14] E. Hairer. “Geometric Integration of Ordinary Differential Equations on Manifolds”. In:BIT Numerical Mathematics41.5 (Dec. 2001), pp. 996–1007.

issn: 1572-9125.doi:10.1023/A:1021989212020.url:https://doi.org/

10.1023/A:1021989212020.

[15] Ernst Hairer.Solving Differential Equations on Manifolds. Lecture notes from “Équations difféntielles sur des sous-variétés”. Univserité de Genève, Section de mathématiques, 2-4 rue du Lièvre, CP64, CH-1211 Genève 4, June 2011.url:https://www.unige.ch/~hairer/poly- sde-mani.pdf.

[16] Ernst Hairer, Syvert P. Nørsett, and Gerhard Wanner.Solving Ordinary Differential Equations I. Nonstiff Problems. Springer Series in Computational Mathematics. Berlin, Heidelberg: Springer-Verlag, 1993.isbn: 978-3-642-08158-3.doi:10.1007/978-3-540-78862-1.

[17] Ernst Hairer and Gerhard Wanner. “Runge–Kutta Methods, Explicit, Implicit”. In:Encyclopedia of Applied and Computational Mathematics. Ed. by Björn Engquist. Berlin, Heidelberg: Springer Berlin Heidelberg, 2015, pp. 1282–1285.isbn: 978-3-540-70529-1.doi: 10.1007/978-3-540-70529-1_144.url:https://doi.org/10.1007/978-3-540-70529-1_144.

[18] Ernst Hairer, Gerhard Wanner, and Christian Lubich. “Non-Canonical Hamiltonian Systems”. In: Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations. Berlin, Heidel-berg: Springer Berlin Heidelberg, 2006, pp. 237–302. isbn: 978-3-540-30666-5.doi:10.1007/3-540-30666-8_7.url:https://doi.org/10.1007/

3-540-30666-8_7.

Bibliography [19] Brian C. Hall.Lie Groups, Lie Algebras, and Representations. An Elementary Introduction. Graduate Texts in Mathematics. Springer International Publishing, 2015. isbn: 978-3-319-37433-8. doi: 10 . 1007 / 978 3 319 -13467-3.url:https://doi.org/10.1007/978-3-319-13467-3.

[20] Charles R. Harris et al. “Array programming with NumPy”. In:Nature 585.7825 (Sept. 2020), pp. 357–362.doi:10.1038/s41586-020-2649-2.url: https://doi.org/10.1038/s41586-020-2649-2.

[21] Darryl D Holm. “Geometric Mechanics. Part II: Rotating, Translating and Rolling”. In: IMPERIAL COLLEGE PRESS, Apr. 2008. Chap. 8.doi: 10.1142/p549.url:https://doi.org/10.1142/p549.

[22] Arieh Iserles et al. “Lie-group methods”. In: Acta Numerica 9 (2000), pp. 215–365.doi:10.1017/S0962492900002154.

[23] Erik André Jakobsen.PyLie. A Python package for solving ordinary differential equations evolving on non-linear manifolds. GitHub repository. 2021.url: https://github.com/jakobsen/pylie/.

[24] Erik André Jakobsen.PyLie. A Python package for solving ordinary differential equations evolving on non-linear manifolds. Python Package Index project.

2021.url:https://pypi.org/project/pylie/.

[25] Serge Lang.Introduction to Differential Manifolds. 2nd ed. New York, NY:

Springer-Verlag, 2002.doi:10.1007/b97450. url:https://doi.org/10.

1007/b97450.

[26] Taeyoung Lee, Melvin Leok, and N. Harris McClamroch.Global Formu-lations of Lagrangian and Hamiltonian Dynamics on Manifolds. Springer International Publishing, 2018.doi:10.1007/978-3-319-56953-6.url: https://doi.org/10.1007/978-3-319-56953-6.

[27] Awad Al-Mohy and Nicholas Higham. “A New Scaling and Squaring Algorithm for the Matrix Exponential”. In: SIAM Journal on Matrix Analysis and Applications31 (Jan. 2009).doi:10.1137/09074721X.

[28] Hans Munthe-Kaas. “High order Runge-Kutta methods on manifolds”.

In:Applied Numerical Mathematics29.1 (1999). Proceedings of the NSF/CBMS Regional Conference on Numerical Analysis of Hamiltonian Differential Equations, pp. 115–127.issn: 0168-9274.doi:https://doi.org/10.1016/

S0168-9274(98)00030-0.url:https://www.sciencedirect.com/science/

article/pii/S0168927498000300.

[29] Hans Munthe-Kaas. “Lie-Butcher theory for Runge-Kutta methods”. In:

BIT Numerical Mathematics35.4 (Dec. 1995), pp. 572–587.issn: 1572-9125.

doi:10.1007/BF01739828.url:https://doi.org/10.1007/BF01739828. [30] Hans Munthe-Kaas. “Runge-Kutta methods on Lie groups”. In: BIT

Numerical Mathematics38.1 (Mar. 1998), pp. 92–111.issn: 1572-9125.doi: 10.1007/BF02510919.url:https://doi.org/10.1007/BF02510919.

[31] Hans Munthe-Kaas and Antonella Zanna. “Numerical Integration of Differential Equations on Homogeneous Manifolds”. In:Foundations of Computational Mathematics. Ed. by Felipe Cucker and Michael Shub.

Berlin, Heidelberg: Springer Berlin Heidelberg, 1997, pp. 305–315.isbn: 978-3-642-60539-0.

[32] Peter J. Olver.Applications of Lie Groups to Differential Equations. Springer US, 1986.doi:10.1007/978- 1- 4684- 0274- 2.url:https://doi.org/10.

1007/978-1-4684-0274-2.

[33] Brynjulf Owren. “Analytic functions on the ad-operator in𝔰𝔢(3)”. Un-published note. Nov. 2020.

[34] Brynjulf Owren.Lie group integrators. Slides from a lecture given to the THREAD European Training Network. Norwegian University of Science and Technology, Trondheim, Feb. 2021.url:https://wiki.math.ntnu.

no/_media/thread/s-manifolds-final.pdf.

[35] William H. Press et al.Numerical Recipes 3rd Edition: The Art of Scien-tific Computing. 3rd ed. USA: Cambridge University Press, 2007. isbn: 0521880688.url:http://www.numerical.recipes/.

[36] Springer Verlag GmbH, European Mathematical Society.Cayley-Hamilton theorem. Encyclopedia of Mathematics.url:https://encyclopediaofmath.

org/wiki/Cayley-Hamilton_theorem.

[37] J. Stoer and R. Bulirsch.Introduction to Numerical Analysis. 1st ed. New York: Springer-Verlag.isbn: 978-0-387-90420-7.doi: 10.1007/978-1-4757-5592-3.

[38] Loring W. Tu.An Introduction to Manifolds. New York, NY: Springer New York, 2008, pp. 47–55.isbn: 978-0-387-48101-2.doi: 10.1007/978-0-387-48101-2_5.url:https://doi.org/10.1007/978-0-387-48101-2_5.

[39] Pauli Virtanen et al. “SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python”. In:Nature Methods17 (2020), pp. 261–272.doi: 10.1038/s41592-019-0686-2.

[40] Eric W. Weisstein.Bernoulli Number. From MathWorld—A Wolfram Web Resource.url:https://mathworld.wolfram.com/BernoulliNumber.html. [41] Eric W. Weisstein.Chaos. From MathWorld—A Wolfram Web Resource.

url:https://mathworld.wolfram.com/Chaos.html.

[42] Menelaos Zikidis.Homogeneous Spaces. Lecture notes from Heidelberg University. 2016. url: https : / / www . mathi . uni - heidelberg . de / ~lee / MenelaosSS16.pdf.

Appendix A

Solving an equation on 𝑆 2 with