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.
The main development tree of ore_algebra is now
on github.
I currently recommend the latest git master
branch
for general use, or the
analytic
branch if you need a more recent version of the numerical evaluation
code.
The analytic
submodule is part of the
ore_algebra releases
downloadable
from Manuel Kauers' home page
starting with version 0.3.
Sage 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 Sage, and may work better with the latest beta.
Depending on your Sage setup, you should be able to install the git
master
version with
$ sage -pip install --user git+https://github.com/mkauers/ore_algebra.git
or the analytic
branch using
$ sage -pip install --user git+https://github.com/mkauers/ore_algebra.git@analytic
See the relevant section of the Python Packaging User Guide for details.
No installation is strictly necessary, though:
to test the package, you can 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.