Documentation of the computer program used in the paper entitled "Existence of globally attracting solutions for one-dimensional viscous Burgers equation with nonautonomous forcing - a computer assisted proof"

J. Cyranka, P. Zgliczyński

Updated: 27 Mar 2014

contact addresses: jacek.cyranka (at), umzglicz (at)
www: J. Cyranka home page, P. Zgliczyński home page

Download files

Software package
Detailed numerical data from the proofs
Supplementary material (pdf file with some formulas used in the program, that were excluded from the paper)

Compile instructions

The program has been written in C++ programming language. It includes some portion of CAPD library available under GNU GPL.
We included version tested to be compatible with our software package, available at the CAPD webpage on 24 Jul 2013. Preferred compiler is GCC (tested to be compatible with versions 4.7.3).
The program was tested on a Linux operating system, it is possible to compile it under Windows operating system, using the MinGW environment is highly recommended.

1. Compile part of included CAPD libraries

In the directory extracted from the package, enter the capd directory.

Being in the capd directory call the following instructions


The configure script checks system configuration and generates Makefiles with proper parameters for compilation (from files). For our purposes, to avoid compiling sparse libraries, we recommend to call configure with the following parameters

./configure --with-filib --without-covrel --without-geomset --without-poincare --without-krak --without-facade --without-multiPrec


Call make to compile CAPD libraries.

2. Compile the Nonautonomous Burgers program package.

After the CAPD has been properly compiled, the program package performing the proof can be compiled and linked.

First enter the main directory of files that were extracted from the archive.

Being in the main directory call


Running instructions

  • Linux
  • change current directory into the bin directory. Under the terminal write ./proof "input data file name",
    for example ./proof paper_example.txt,
  • Windows
  • change current directory into the bin directory. Under the command line ( Start→Run… : cmd ) write proof.exe "input data file name",
    for example proof.exe paper_example.txt,
where "input data file name" is the input data file name.

Input file structure

Refer the paper for the exact meaning of the input parameters. All the numbers should be entered explicitly, using the exponential notation, for instance 1e-02 is allowed.
  • m - symmetric Galerkin projection dimension, the projection will contain modes a_k such that |k| <= m.
  • M - the so-called near tail dimension, the modes a_k in tail such that m < |k| <= M are going to be stored explicitely.
  • nu - viscosity constant of the Burgers equation, should be positive, refer (1) in the article for the exact meaning. One may extend a single value to an interval by setting the next value nonzero.
  • nu_interval_right_bound - a nonnegative value. The interval nu+[0,nu_interval_right_bound] defines a set of the viscosity constant values for which the algorithm will attempt to perform the proof. If one likes to obtain a result for a single value of the viscosity constant, this parameter should equal to 0.
  • s - order of polynomial decay of coefficients that is required from the constructed bounds and trapping regions, have to be an integer satisfying s ≥ 4.
  • order - order of the Taylor method used by C0 Lohner algorithm.
  • step - step size of the Taylor method used by C0 Lohner algorithm, a lot of attention should be given to the proper choice of the step size, especially at high nu values step size should be decreased, because the system is becoming stiff and blow ups may result.
  • a_0 - value of the zero indexed mode (it is constant).
  • consider_all_blocks_2D_for_logarithmic_norm - if all blocks in the block decomposition of the space H (infinite number of blocks) should be considered two-dimensional, otherwise they are considered one-dimensional. Two-dimensional blocks have some advantages for logarithmic norm computations, consult the paper and the attached supplement for the details.
  • forcing_perturbation_diam - diameter (diam) of the uniform forcing perturbation, namely the interval [-diam/2, diam/2] is added to each forcing mode appearing in the list that follows.
  • forcing - list of the floating point numbers indicating forcing function that is used.
    Values corresponds to the modes in ascending order starting at a_1, each mode is defined by two consecutive values,
    first is the value of the real part of the mode, second is the value of the complex part of the mode. Number of elements in this list should be less or equal 2m.
  • nonautonomous_forcing - list of the floating point numbers describing the nonautonomous forcing function that is used.
    Values corresponds to the modes in ascending order starting at a_1, each mode is defined by two consecutive values,
    first is the value of the real part of the mode, second is the value of the complex part of the mode. This is the autonomous part, each mode is multiplied by sin(t) function, and the obtained function is used as the nonautonomous forcing. Number of elements in this list should be less or equal 2m.
Note that only reasonable values should be used, refer Table 1 and Table 2 in the paper for the example sets of parameters for which the algorithm completes successfully. For certain values a blow up during the integration process may occur, if so, a proper message is being outputted. More specific technical parameters can be changed by editing the config.h file and recompiling the program. In the main directory there can be found some examples (in the included files named example1.txt, example2.txt, example3.txt, example4.txt, example5.txt, example6.txt, example7.txt, paper_example.txt).

The output

The program saves the output data from the proofs into four output files. When the proof is complete four files appear in the bin directory. The numeration used in the name of the files structure (part1, part2, part3) refers to the steps of the main algorithm presented in the Section 7.1 in the paper. The files are as follows
  • forcing.txt - contains the nonautonomous forcing function that was used in the proof.
  • proof_part1_lipshitz_constant.txt - contains estimates for the Lipshitz constant of the Poincare map.
  • proof_part1_trapping_region.txt - contains the calculated set W_0 in which the Poincare map \Theta is the contraction.
  • proof_part2_absorbing_set.txt - contains the calculated globally attracting absorbing set A.
  • proof_part3_basin_of_attraction_of_trapping_region.txt - contains the record from the numerical verification if the absorbing set presented in part2 actually is mapped by the Poincare map \Theta into the set W_0.
  • a collection of files named num_integration_data_the_2pi_Map^n(set_0).txt, where n is a number. These files stores the numerical integration data. Each single file contains a record from the single computation of the Poincare map \Theta image. The data presented in the files is a numerical representation of the set, outputted each 10th time step.


This program is an open research software dedicated for performing computer assisted proof
Copyright (C) 2010-2013 Jacek Cyranka

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 3 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
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .

Please consult the webpage,
or contact me on jcyranka (at) for further details.