This is the home page for the -analytic
development branch of
ore_algebra
, an implementation of
Ore algebras
for the
SageMath
computer algebra system written by
Manuel Kauers,
Maximilian Jaroschek
and
Fredrik Johansson.
The -analytic
branch extends ore_algebra with symbolic-numeric
features such as the computation of values of univariate D-finite functions,
and connection matrices between regular points of univariate differential
operators. Most of the new code resides in a submodule called
ore_algebra.analytic
. The branch also adds a few methods to
univariate differential operators in order to make the main features of the
submodule easily accessible.
Please note that this software is intended both for “end users” interested in performing symbolic-numeric computations with D-finite functions, and as a playground for experimenting with algorithms doing such computations. As a consequence, some features may be undocumented and/or very experimental.
A short introduction to the features most likely to be of interest to casual users can be found in this article.
Comments, bug reports and feature requests are always welcome.
Starting with version
0.3
of ore_algebra, the analytic
submodule is part of the
ore_algebra release
downloadable from Manuel Kauers' home page.
More recent development versions of the -analytic
branch are
available in a public git repository that you can clone with
git clone http://marc.mezzarobba.net/code/ore_algebra-analytic.git/
SageMath version 7.5 or later is recommended to use
ore_algebra
0.3, though at least some
features should work with earlier versions.
The tip of the -analytic
branch usually requires the latest
stable release of SageMath.
No installation is necessary: to test the package, simply run
Sage from the src/
directory of the ore_algebra source tree,
and import
the classes or functions you want to use.
$ cd ore_algebra/src ore_algebra/src$ sage ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 7.3.beta3, Release Date: 2016-06-05 │ │ Type "notebook()" for the browser-based notebook interface. │ │ Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Warning: this is a prerelease version, and it may be unstable. ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ sage: from ore_algebra import * sage: DiffOps, x, Dx = DifferentialOperators() sage: (Dx - 1).numerical_solution(ini=[1], path=[0,1]) [2.7182818284590452 +/- 3.66e-17]
Alternatively, launch Sage from anywhere and add the src/
directory to the Python search path with something like
sage: import sys sage: sys.path.append("path/ore_algebra/src")
(You might want to add these commands to your
~/.sage/init.sage
.)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.