A Julia package for the symbolic manipulation of flows of nonlinear evolution equations
Julia Perl
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples implemented normalize_lie_products Apr 25, 2016
perl
src improved substitute part 2: LieExpressions Apr 26, 2016
LICENSE.md Create LICENSE.md Sep 24, 2016
README.md Update README.md Oct 1, 2016

README.md

Flows.jl

A Julia package for the symbolic manipulation of flows of nonlinear evolution equations.

Version 2.0 of Flows.jl additionally implements symbolic manipulations of Lie derivatives and exponentials of Lie derivatives. It allows to transform Lie calculus expressions into corresponding expressions consisting only of (Fréchet derivatives of) vector fields and flows, see the examples below.

Flows.jl (version 1.1 without Lie calculus stuff) was presented at the CASC 2016 workshop (=>Slides of the Talk) and is descibed in the paper

W. Auzinger, H. Hofstätter, O. Koch, Symbolic Manipulation of Flows of Nonlinear Evolution Equations, with Application in the Analysis of Split-Step Time Integrators, Proceedings of CASC 2016, Lecture Notes in Computer Science 9890, pp. 43-57.

Flows.jl (or a predecessor written in Perl) was used to carry out and verify the symbolic manipulations needed for the analysis of error estimators for splitting methods, which is described in the paper

W. Auzinger, H. Hofstätter, O. Koch, M. Thalhammer, Defect-based local error estimators for splitting methods, with application to Schrödinger equations, Part III. The nonlinear case, J. Comput. and Appl. Math. 273 (2015), pp. 182-204.

Flows.jl consists of ~2500 lines of Julia code and is fully self-contained, of course with the (very relevant!) exception that it depends on the Julia standard library (but not on additional Julia packages).

Installation

In a Julia notebook type

Pkg.clone("https://github.com/HaraldHofstaetter/Flows.jl")

Examples

To get easy access to the examples, copy them into the home directory:

cp(joinpath(homedir(), ".julia/v0.4/Flows/examples/"), joinpath(homedir(), "Flows_examples"), remove_destination=true)

Then 'Flows_examples' will be listed in the JuliaBox home screen. The examples contain among others