next up previous Next: Interval evaluation in ALIAS-Maple Up: ALIAS-Maple Previous: ALIAS-Maple

  • La page de J-P. Merlet
  • J-P. Merlet home page
  • La page Présentation de HEPHAISTOS
  • HEPHAISTOS home page
  • La page "Présentation" de l'INRIA
  • INRIA home page

    Subsections


    Introduction

    Preliminaries

    The ALIAS-C++ manual has introduced the ALIAS C++ library. When using this library to solve a particular system it is necessary to write the C++ code that allows to deal with the system at hand.

    The primary purpose of the ALIAS-Maple library was to allow the automatic generation of the C++ code being given the Maple description of an equations system and then to compile and run the generated code in order to get the result within the Maple session. But when developing this library it appears that the use of symbolic computation may allow to increase the efficiency of the C++ solving procedure. Hence the procedures available in the ALIAS-Maple library may be divided into two categories:

    The ALIAS-Maple library ALIAS.m has initially been developed by Didier Bondyfalat. ALIAS-Maple is compiled for Maple V.5 and 9.5 and this version has 49356 lines of code.

    In this package there are numerous Maple procedures that may be used to solve or to help to solve a specific problem. The behavior of these procedures may be modified by changing the values of some Maple variables (that will correspond to the parameters of the ALIAS-C++ procedures). An ALIAS-Maple variable is always defined using the following syntax:

     
    `ALIAS/XX`
    
    The use of some of these variables may need an understanding of the algorithms of ALIAS-C++.

    The C++ procedures created by ALIAS-Maple procedures have usually a fixed name (e.g. _GS_ for the general purpose solving procedures) but this behavior may be changed for some of them if the string variable `ALIAS/ID` is defined (and on the long term it is planned that all ALIAS-Maple procedures will propose this possibility): in that case all files created by a procedure have the `ALIAS/ID` string appended to their name.

    Before explaining how to use this package very important remarks have to be done:

    The reader interested only in the solving procedures available in ALIAS-Maple may skip to chapter 3. But the concept of simplification procedures explained in chapter 4 are worth considering afterward as they may drastically improve the efficiency of the algorithms.

    This manual describes the use of the ALIAS Maple library both for version 5.5 and for version 9.5, with minor difference when loading the library. This interface is intended to be used through a command line and not a worksheet.


    Installing the Maple library

    It is assumed here that you have installed the ALIAS-C++ library together with the Profil for example, in the directory /u/ALIAS. To install the MAPLE library you need first to copy the library ALIAS.m and the sub-directory ALIAS in some specific directory, say /u/ALIAS-MAPLE. You end up with:

    To use the ALIAS MAPLE library you must first update your libname variable by:
    libname:=libname,"/u/ALIAS-MAPLE":
    
    Then you will have to indicate where the ALIAS-C++ libraries are located. This is done by:
    `ALIAS/profil`:="/u/ALIAS/Profil":
    `ALIAS/lib`:="/u/ALIAS/Lib":
    
    You must also indicate the full path of your C++ compiler using the variable `ALIAS/gpp_sun` (if you are using a SUN computer) or `ALIAS/make_linux` (for a Linux computer).

    Note that if you are planning to use the parallel implementation of the algorithms (see the corresponding chapter) on a network of heterogeneous machines (PC's and SUN), then you must indicate the locations of the Profil and ALIAS libraries for the machines whose architecture is different from the machine that you are using with the variable `ALIAS/libN` and `ALIAS/profilN`.

    Thus a typical Maple file for using the ALIAS-Maple library with Maple 5.5 on a SUN computer will begin with:

    libname:=libname,"/u/ALIAS-MAPLE":
    with(ALIAS):
    `ALIAS/profil`:="/u/ALIAS/Profil":
    `ALIAS/lib`:="/u/ALIAS/Lib":
    `ALIAS/gpp_sun`:="/usr/local/bin/g++":
    
    Alternatively you may choose to initialize these variables in your .mapleinit file. The only difference when using Maple9.5 is that you cannot use the Maple command with for compatibility problem with Maple 5.5. For Maple9.5 and a linux workstation loading and starting the library is done as follows:
    libname:=libname,"/u/ALIAS-MAPLE":
    read "Start_ALIAS.maple"
    `ALIAS/profil`:="/u/ALIAS/Profil":
    `ALIAS/lib`:="/u/ALIAS/Lib":
    `ALIAS/gpp_linux`:="/usr/local/bin/g++":
    
    The Maple version is given in the global variable `ALIAS/maple_version`. Beside this loading difference there is no other difference between the use of ALIAS version 5.5 and version 9.5 (apart of the fact that linear algebra in the procedure uses the linalg package instead of the newer LinearAlgebra which is much less efficient for the operations involved in the procedure).

    On-line help and ALIAS-On-Line

    Most of the procedures of ALIAS-Maple have a built-in help. This help is obtained using the classical Maple syntax, with a ? followed by the name of the procedure. For example:

     
    ?ALIAS
    
    will give the names of all the available procedures of ALIAS-Maple. Help for a particular procedure is obtained by:
     
    ?ALIAS,name
    
    where name is the name of the procedure or equivalently by
     
    ?ALIAS,name
    
    except for the Parameters procedure.

    Interval valuation of expression

    There are few exceptions for which an interval evaluation of an expression cannot be computed for some ranges of the unknowns that appear in the expression. Namely the following problems may occur when intervals are involved:

    In that case the BIAS/Profil interval arithmetic package will issue a fatal error. Hence attention should be paid to these evaluation problems. ALIAS-Maple offers strategies to deal with these problems, see sections 2.1.4,2.1.5.


    next up previous Next: Interval evaluation in ALIAS-Maple Up: ALIAS-Maple Previous: ALIAS-Maple
  • J-P. Merlet home page
  • La page Présentation de HEPHAISTOS
  • HEPHAISTOS home page
  • La page "Présentation" de l'INRIA
  • INRIA home page

    jean-pierre merlet
    2018-07-25