Software

Peter Benner - Software

The software retrievable from this page is usually archived in tar files that are compressed with gzip. If you have any problems downloading or uncompressing the files, please click here.



Fortran 77

[F8] HAPACK
Maintained and developed by Peter Benner and Daniel Kreßner.
HAPACK is an LAPACK-style software package for Hamiltonian and skew-Hamiltonian matrices. It provides subroutines for computing eigenvalues, eigenvectors, and invariant subspaces of Hamiltonian and skew-Hamiltonian matrices, as well as structured Schur forms and several orthogonal symplectic factorizations of such matrices. Mex files and Matlab interfaces are vailable as well, see also Matlab software below.

[F7] PLiCMR
Maintained and developed by
Peter Benner, Enrique S. Quintana-Ortí, and Gregorio Quintana-Ortí

The Parallel Library in Control: Model Reduction (PLiCMR) package contains subroutines for model reduction of linear dynamical systems in state-space form on parallel distributed computers. Currently it contains routines for balanced truncation, singular perturbation approximation, optimal Hankel norm approximation, and stochastic balancing for stable systems using dense matrix algebra.

The parallelization model is based on the approach used in ScaLAPACK. Numerical computations are based on ScaLAPACK as far as possible and communication is performed using the Basic Linear Algebra Communication Subroutines (BLACS) on top of a communication library such as PVM or MPI.

The documentation of the library is available on-line in HTML format and the routines can be remotely executed on a Liunx cluster with 32 Pentium processors in Castellón via a web interface.

For more information on PLiCMR, consult

which describes those routines of PLiCMR that have been integrated into the parallelized version of SLICOT, called PSLICOT.

[F6] SLICOT
The Subroutine Library in Control Theory (SLICOT) is developed and maintained by NICONET e.V. and is based on the results of the EU funded thematic network NICONET (Numerics In COntrol NETwork). Click here to see a list of all its former partners. SLICOT provides Fortran 77 implementations of numerical algorithms for computations in systems and control theory. Based on numerical linear algebra routines from the BLAS and LAPACK libraries, SLICOT provides methods for the design and analysis of control systems. At present, SLICOT contains 175 user-callable subroutines and 80 low-level subroutines.

SLICOT is organized in the following chapters:

The documentation of SLICOT is available on-line. It contains complete descriptions of each available subroutine. To see a sample documentation of a routine (AB01MD.f), click here.

For more information on SLICOT, consult

       Peter Benner, Volker Mehrmann, Vasile Sima, Sabine Van Huffel, and Andras Varga:
       SLICOT - A Subroutine Library in Systems and Control Theory.
       Applied and Computational Control, Signals, and Circuits, Vol. 1, pp. 499-539, 1999.
       The retrievable version appeared as NICONET Report 97-03, Working Group on Software, June 1997.

[F5] PLiC
Maintained and developed by
Peter Benner, Enrique S. Quintana-Ortí, and Gregorio Quintana-Ortí

The Parallel Library in Control (PLiC) contains subroutines for solving problems arising from the analysis and design of large-scale time-invariant linear control systems in state-space form on parallel distributed computers. Currently it contains more than 30 user-callable subroutines for solving linear and quadratic matrix equations (Lyapunov, Sylvester, Stein and algebraic Riccati equations), model reduction, partial stabilization, and some supporting routines. The parallelization model is based on the approach used in ScaLAPACK. Numerical computations are based on ScaLAPACK as far as possible and communication is performed using the Basic Linear Algebra Communication Subroutines (BLACS) on top of a communication library such as PVM or MPI. The documentation of the library is available on-line in HTML format. For an example (PDGECMBS.f), click here. For more information on PLiC, consult

The retrievable version is NICONET Report 1999-1, Working Group on Software, January 1999.

[F4] LAPACK based FORTRAN 77 subroutines corresponding to

Peter Benner, Ralph Byers, and Eric Barth:
Fortran 77 Subroutines for Computing the Eigenvalues of Hamiltonian Matrices I: The Square-Reduced Method

See the README file for a basic description of this software package.
This version dated September 1, 1998.
The slightly revised codes, corresponding to the article as it appeared in the ACM Transactions on Mathematical Software, can also be downloaded from the ACM Collected Algorithms (CALGO) homepage, file 800.

[F3] SYSP
Two Fortran 77 subroutines for compressing a symmetric or triangular matrix to packed storage mode or to unpack a packed array to full storage mode.
Packed storage mode can be used for symmetric or triangular matrices. Lower packed storage mode stores the lower triangle of such a matrix by columns whereas upper packed storage mode stores the upper triangle of the matrix by columns.
This version dated February 22, 1996.

[F2] DAREX
This compressed tar file contains a directory (named darex_f) with a LAPACK based FORTRAN 77 subroutine for generating all the benchmark examples of discrete-time algebraic Riccati equations corresponding to

Peter Benner, Alan Laub, and Volker Mehrmann:
A Collection of Benchmark Examples for the Numerical Solution of Algebraic Riccati Equations II: The Discrete-Time Case.
Preprint SPC 95-23, Forschergruppe `Scientific Parallel Computing', Fakultät für Mathematik, TU Chemnitz-Zwickau.

The directory darex_f includes a README file, source codes, several required data files, and a subdirectory with a sample program and corresponding input/output files.
This version dated February 28, 1996.

[F1] CAREX
This compressed tar file contains a directory (named carex_f) with a LAPACK based FORTRAN 77 subroutine for generating all the benchmark examples of continuous-time algebraic Riccati equations corresponding to

Peter Benner, Alan Laub, and Volker Mehrmann:
A Collection of Benchmark Examples for the Numerical Solution of Algebraic Riccati Equations I: The Continuous-Time Case.
Preprint SPC 95-22, Forschergruppe `Scientific Parallel Computing', Fakultät für Mathematik, TU Chemnitz-Zwickau.

The directory carex_f includes a README file, source codes, several required data files, and a subdirectory with a sample program and corresponding input/output files.
This version dated January 18, 1996.

Back to top.


MATLAB

[M6] MORLAB
MATLAB functions for modal and balanced truncation model reduction using spectral projection (sign and disk function) methods. Included are several balancing-related model reduction methods (not yet included: balanced stochastic truncation, positive-real balanced truncation, balancing-free variants).
Note: the provided functions are preliminary, not yet fully tested, and come without warranty.

[M5] BTMR
MATLAB functions for balanced truncation model reduction using spectral projection (sign function) methods used in [BC6] of my publication list.

[M4] HAPACK
Maintained and developed by Peter Benner and Daniel Kreßner.
MEX interfaces and Matlab gateway functions to some of the subroutines form the Fortran 77 library HAPACK.

[M3] HAMEIG
This compressed tar file contains a directory (named hameig) with a MATLAB function for computing the eigenvalues of Hamiltonian matrices and supporting files. This implementation corresponds to

Peter Benner, Ralph Byers, and Eric Barth:
Fortran 77 Subroutines for Computing the Eigenvalues of Hamiltonian Matrices I: The Square-Reduced Method

NOTE: For use under SUN Solaris only! Uses compiled MEX files. Source codes are provided, but their compilation requires the NAGWare Gateway Generator, LAPACK, BLAS, and SLICOT.

This version dated June 29, 1999.

[M2] DAREX
This compressed tar file contains a directory (named darex_m) with a MATLAB function for generating all the benchmark examples of discrete-time algebraic Riccati equations corresponding to

Peter Benner, Alan Laub, and Volker Mehrmann:
A Collection of Benchmark Examples for the Numerical Solution of Algebraic Riccati Equations II: The Discrete-Time Case.
Preprint SPC 95-23, Forschergruppe `Scientific Parallel Computing', Fakultät für Mathematik, TU Chemnitz-Zwickau.

The directory darex_m includes a README file and the necessary M-files.
This version dated February 28, 1996.

[M1] CAREX
This compressed tar file contains a directory (named carex_m) with a MATLAB function for generating all the benchmark examples of continuous-time algebraic Riccati equations corresponding to

Peter Benner, Alan Laub, and Volker Mehrmann:
A Collection of Benchmark Examples for the Numerical Solution of Algebraic Riccati Equations I: The Continuous-Time Case.
Preprint SPC 95-22, Forschergruppe `Scientific Parallel Computing', Fakultät für Mathematik, TU Chemnitz-Zwickau.

The directory carex_m includes a README file and the necessary M-files.
This version dated February 28, 1996.

Back to top.