IntegrableConnections 

   A Maple package for computing closed form solutions of integrable connections

   
Authors: M. Barkatou, T. Cluzeau, C. El Bacha and J.-A. Weil (Université de Limoges ; CNRS ; XLIM UMR 6172 ; DMI)
   

I - Content

This web page is dedicated to a Maple package called IntegrableConnections which contains implementations of the algorithms developed in the paper
Computing Closed Form Solutions of Integrable Connections 
by M. Barkatou, T. Cluzeau, C. El Bacha and J.-A. Weil.

This package contains three main procedures for computing respectively rational solutions, eigenrings and hyperexponential solutions of integrable connections. We illustrate
how to use them in some examples in Section III below.

Note that for the computation of rational, respectively exponential, solutions of ordinary linear differential systems, we have updated the code written for the package ISOLDE
by M. Barkatou and E. Pfluegel. We thank them for their help and collaboration.
 

II - Download and installation

Our package is available for download: IntegrableConnections.m

To install it, you must proceed as follows:
  1. Copy the previous .m file in a directory called "IntegrableConnections"
  2. Add this directory to your libname, for example by performing the two following steps:

  3. Type

    with(IntegrableConnections);


    You must get the list of the functions contained in the package. If you do obtain an error message, then you have probably done something wrong in Step 2.
If you do not manage to install the package, then contact us.

Note that if you want to use our procedures for handling a D-finite partial differential system which is not written as a connection, you may need a procedure to
write it explicitely as an integrable connection. To achieve this, you can dowload the OreModules package and use its procedure called Connection (see also the
examples below).

III - Examples of calculations

We illustrate here our three main procedures on some examples:
  1. RationalSolutions and Polynomial Solutions

    Input: a list containing the matrices of the connection, a list containing the names of the variables and (optional) a list of the form ['rhs',B] or
    ['param',Alpha], ['rhs',B,'param',Alpha] where B is a list of right-hand sides and Alpha a list of parameters.


          
    Output: a matrix whose columns form a basis of the non-zero rational (resp. polynomial) solutions of the integrable connection or {} if no rational solution exists. In the
    inhomogeneous case, the ouput contains a matrix whose columns form a basis of rational solutions of the homogeneous integrable connection and a vector which is a particular
    solution of the inhomogeneous integrable connection (see Example BrycLetacAllCases below).  

    Example files: BrycLetacRationalSolutions.mwBrycLetacRationalSolutions.pdf
                            LiSchwarzTsarevRationalSolutions.mw, LiSchwarzTsarevRationalSolutions.pdf

  2. Eigenring

    Input: a list containing the matrices of the connection, a list containing the names of the variables and (optional) a list containing the names of the parameters
    appearing in the system.
          
    Output: a basis of the eigenring of the system

    Example file: EigenringExample.mw, EigenringExample.pdf

  3. HyperexponentialSolutions

    Input: a list containing the matrices of the connection, a list containing the names of the variables and (optional) a list containing the names of the parameters
    appearing in the system.
          
    Output: a matrix whose columns form a basis of the non-zero hyperexponential solutions of the integrable connection or {} if no hyperexponential solution exists.

    Example files: BrycLetacHyperexponentialSolutions.mw, BrycLetacHyperexponentialSolutions.pdf
                           LiSchwarzTsarevHyperexponentialSolutions.mw, LiSchwarzTsarevHyperexponentialSolutions.pdf


More examples

BrycLetacAllCases.mw
, BrycLetacAllCases.pdf
Examples with right-hand side: RightHandSideExample.mw, RightHandSideExample.pdf



IV - Bug reports

You can now run your own examples. Note that, before applying our procedures, you can check that a connection is integrable using the procedure TestIntegrabilityConditions.
If you have any problem with the package, find a bug or want to ask questions, then contact us.
In case of an error in IntegrableConnections, please attach to your e-mail a Maple worksheet which documents the error on a particular example.

V - References