1. usefulness of algorithms;The current version of SLICOT consists of about 400 user-callable and computational routines in various domains of systems and control. Almost all of these routines have associated on-line documentation. About 200 routines have associated example programs, data and results. New routines are still in preparation. Due to the use of Fortran 77, reusability of the software is obtained, so SLICOT can serve as the core for various existing and future CACSD platforms and production quality software. SLICOT routines can be linked to MATLAB through a gateway compiler, e.g. the NAG Gateway Generator.
2. robustness, algorithms must either return reliable results or an error or warning indicator;3. numerical stability and accuracy: the results are as good as can be expected when working at a given precision. If possible an estimate of the achieved accuracy should be given;4. performance with respect to speed and memory requirements. Although important because of ever increasing complexity of control problems, this objective may never be met at cost of the two previous ones;5. portability and reusability the library should be independent of platforms;6. standardisation based on rigorous programming and documentation standards;7. benchmarking, i.e., a standardised set of examples that allows an evaluation of the performance of a method as well as the implementation with respect to correctness, accuracy, and speed. Benchmarking gives also insight in the behaviour of the method and its implementation in extreme situations, i.e. for problems where the limit of the possible accuracy is reached.
The use of Fortran 77 allows to exploit the structural features of the underlying computational problem and the use of appropriate data structures. This is advantageous for speed of computation and required memory. As the complexity of systems and related control solutions is ever increasing, the issue of speed and memory remains a valid one. As a comparison, MATLAB uses the dense complex matrix as the main data structure, which does not allow to exploit structural aspects. The performance of the library has been assessed with respect to numerical quality, computational speed, and memory requirements for a variety of examples. Comparisons indicate that SLICOT routines usually outperform equivalent MATLAB functions, often by orders of magnitude; see Benner e.a. (1997).
Future developments of SLICOT proceed within the EU thematic network NICONET. Special emphasis will be given to further extensions of the library, to extending accompanying library of benchmarks, to integration of the library in a user friendly environment (e.g. MATLAB), and to development of a parallel version of SLICOT for distributed memory computing environments.
More detailed information on SLICOT can be found in:
Benner, P., Mehrmann, V., Sima, V., Van Huffel, S., and A. Varga: "SLICOT - A Subroutine Library in Systems and Control Theory", June 1997, NICONET Report 97-3; also in "Applied and Computational Control, Signal and Circuits" (Biswa N. Datta, Ed.), Birkauser, vol. 1, ch. 10, pp. 499-539, 1999, ISBN 0-8176-3954-2, 3-7643-3954-3, ISSN 1522-8363.
The freeware SLICOT library is organised as the SLICOT Manual. Each chapter can be identified by a single letter. In the ftp distribution of SLICOT this corresponds to one directory with the same name. The following chapters are included:
- A : Analysis Routines
- B : Benchmark and Test Problems
- C : Adaptive Control
- D : Data Analysis
- F : Filtering
- I : Identification
- M : Mathematical routines
- N : Nonlinear Systems
- S : Synthesis Routines
- T : Transformation Routines
- U : Utility Routines
http://www.icm.tu-bs.de/NICONET/slicot.html
http://slicot.org/
https://github.com/KTH-AC/slicot
Python wrapper for SLICOT - https://github.com/python-control/Slycot
No comments:
Post a Comment