pedro-ricardo / Slicot

SLICOT - A Fortran subroutines library for systems and control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SLICOT Library Root Directory

SLICOT - Subroutine Library In COntrol Theory - is a general purpose basic mathematical library for control theoretical computations. The library provides tools to perform essential system analysis and synthesis tasks. The main emphasis in SLICOT is on numerical reliability of implemented algorithms and the numerical robustness and efficiency of routines. Providing algorithmic flexibility and the use of rigorous implementation and documentation standards are other SLICOT features.

The SLICOT Library is available as standard Fortran 77 code in double precision. Each user-callable subroutine for control computations is accompanied by an example program which illustrates the use of the subroutine and can act as a template for the user's own routines.

The SLICOT Library is organized by chapters, sections and subsections. The following chapters are currently included:

A : Analysis Routines

B : Benchmark and Test Problems

D : Data Analysis

F : Filtering

I : Identification

M : Mathematical Routines

N : Nonlinear Systems (not yet available, except for some auxiliary routines for Wiener systems)

S : Synthesis Routines

T : Transformation Routines

U : Utility Routines

SLICOT Library Root Directory contains few, basic files for the SLICOT Library distribution and generation. When distributed, SLICOT software comes with several filled-in subdirectories (benchmark_data, doc, examples, examples77, src, and src_aux), and five files in this root directory:

  • this file, readme,

  • the file Installation.txt, describing the SLICOT software installation,

  • the main SLICOT Library documentation index, libindex.html, and

  • two template files for building the object library and executable programs, make.inc and makefile,

The last two files might need few changes for being adapted to the specific platform used. Details about installing/updating the SLICOT software are given in the file Installation.txt.

After software installation, this directory will also contain the library file slicot.a or slicot.lib, for Unix or Windows platforms, respectively. The library file could then be linked in applications programs, as usual. Specific examples are contained in the directories examples and examples77. The on-line documentation of the SLICOT user's callable routines is accessible via the main SLICOT Library documentation index, libindex.html. This file also contains a link to the documentation of the lower-level, support routines.

The SLICOT Library is built on LAPACK (Linear Algebra PACKage) and BLAS (Basic Linear Algebra Subprograms) collections. Therefore, these packages should be available on the platform used.

Basic References:

  1. P. Benner, V. Mehrmann, V. Sima, S. Van Huffel, and A. Varga, "SLICOT - A Subroutine Library in Systems and Control Theory", Applied and Computational Control, Signals, and Circuits (Birkhauser), Vol. 1, Ch. 10, pp. 505-546, 1999.

  2. S. Van Huffel, V. Sima, A. Varga, S. Hammarling, and F. Delebecque, "Development of High Performance Numerical Software for Control", IEEE Control Systems Magazine, Vol. 24, Nr. 1, Feb., pp. 60-76, 2004.

Dependencies

Library Version
Slicot 5.7.0
Lapack <= 3.5.0
GCC >= 7.5.0

Lapack Instalation

The Lapack v3.5.0 library coud be installed with the following commands by just changing $LAPACK_INSTALL_FOLDER to the desired install location.

tar -xf lapack-3.5.0.tgz
cd lapack-3.5.0
mkdir mybuild
cd mybuild
cmake -DCMAKE_INSTALL_PREFIX=$LAPACK_INSTALL_FOLDER -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON ..
make -j 4
make install

Installation

To install Slicot library one could follow these steps and just change $LAPACK_INSTALL_FOLDER and $SLICOT_INSTALL_FOLDER to the desired locations.

git clone https://github.com/pedro-ricardo/Slicot.git
cd Slicot
mkdir mybuild
cd mybuild
cmake -DBLAS_LIBRARIES=$LAPACK_INSTALL_FOLDER/lib/libblas.so -DLAPACK_LIBRARIES=$LAPACK_INSTALL_FOLDER/lib/liblapack.so -DCMAKE_INSTALL_PREFIX=$SLICOT_INSTALL_FOLDER ..
make -j 4
make install

About

SLICOT - A Fortran subroutines library for systems and control

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Fortran 99.5%Language:HTML 0.4%Language:CMake 0.1%