Published January 3, 2024 | Version v1
Software Open

Low-rank Sylvester ADI Implementations

  • 1. ROR icon Leipzig University of Applied Sciences

Description

Low-rank Sylvester ADI Implementations (v1.0)

This package contains implementations of the the low-rank Sylvester ADI iteration (LR-ADI) to approximately solve large-scale Sylvester equations

 A*X*C + M*X*B = -f*g'

with n x n matrices A,M,  m x m matrices B,C, and f is n x r, g is m x r with  r<<min(n,m). M,C can be identity matrices for standard Sylvester equations.
The spectra (A,M), (B,C) should not intercect and have eigenvalues only in the left or right half plane.. 

Getting Started

Dependencies

MATLAB R2017b and above with the System Control Toolbox. Or Octave 4.0.0 and above with the Control Package. 
The data-files of one demo can be downloaded at mor-wiki.
The M-M.E.S.S. package (https://www.mpi-magdeburg.mpg.de/projects/mess) is not required but can be used to generate some matrices from scratch.

Installation

For using this software, you have to add the folder containing this file to the MATLAB/Octave search path.

Usage

  • The main routine is lr_adi_sylv.m which implements the (inexact) low-rank Sylvester ADI iteration.  It has several settings to stear the iterative solution process of the arising linear system (which solver/preconditioner, how to set stopping criteria,....).
  • lr_adi_sylv_ex_cpx.m is a much simpler ['exact'] version which only uses direct linear solves with the backslash '\'. These two methods will generate complex low-rank factors, if some of the ADI shift parameters were complex.
  • lr_adi_sylv_ex_real.m also uses direct linear solves only, but generates real low-rank factors (provided the sets of shifts are in a suitable ordering). Note the sign-changes in the equation! This version does not yet support inexact linear solves.
  • 'demo0.m' shows the basic usage of all the Sylvester ADI versions on an example.
    'demo1.m' illustrates some for finer settings for the inexact solves.
    'demo2.m' to 'demo4.m' run further examples for (generalized) Sylvester equations. 'demo4.m' requires a dataset from https://zenodo.org/records/10017861
  • The other '*.m' files contain further routines needed to run the main algorithms. This includes routines for basic ADI shift generation strategies and basic Arnoldi-routines for Ritz value generation.

Please see the comments / help texts for 'lr_adi_sylv.m, lr_adi_sylv_ex_clx.m, lr_adi_sylv_ex_real.m' plus the demos on the usage and possible input parameters.

Authors

Patrick Kürschner

  • affiliation: University of Applied Sciences Leipzig (HTWK Leipzig)
  • email: patrick.kuerschner@htwk-leipzig.de
  • orcid: 0000-0002-6114-8821

License

Copyright (C) 2024 Patrick Kürschner

The software is licensed under the BSD-2-Clause License. See COPYING for a copy of the license.

Citation

DOI

The DOI for version 1.0 is  10.5281/zenodo.10454177

BibTeX

@MISC{Kuersch_Sylvester_ADI,
  author = {K{\"u}rschner, P.},
  title  = {Low-rank Sylvester ADI Implementations (v1.0)},
  year   = 2024,
  doi    = {10.5281/zenodo.10454177}
}

Acknowledgements

Earlier parts of the development of this work (esp. the exact ADI) was supported by Max Planck Society during the time of the author's affiliation with the Max Planck Institute for Dynamics of Complex Technical System, Magdeburg, Germany; 

 

Files

Files (41.1 MB)

Name Size Download all
md5:90f2254cb0cbe2a6a51b6b59089261ef
1.6 kB Download
md5:ed193f2c9f8e979e7d99c5b8ab8c9c62
1.1 kB Download
md5:a70386344b4811628c2135e1283fdabd
1.7 kB Download
md5:facefb396b01c4776f0177d5cba84cb7
1.8 kB Download
md5:fe2741650d4bebf4ea526d22f0012fb1
6.0 kB Download
md5:6c658d47b8dc986a12f43d24a253712d
1.8 MB Download
md5:d8113b1a0218eaf9e35a6b179e31fef6
5.8 kB Download
md5:62dc3b5375a786247f359abd73f03270
7.7 MB Download
md5:7020f6217a86529a6ecc2210aea431e7
5.3 kB Download
md5:47af847a61bb6e2e29d6951146e2830b
24.3 MB Download
md5:0bcc8153c4b24a7d81f7c58553debc94
4.6 kB Download
md5:8d51295eb01349ff655fbcdc026d11de
7.3 MB Download
md5:028199d802486436422652fe6f8812b5
5.8 kB Download
md5:17479e61820c24c43a5bfa1eaf3b0352
12.2 kB Download
md5:c2836b4a1395ee04ce40acbba67db30a
4.4 kB Download
md5:7ecaf6a7a77cdb558aea8bdd94e417bf
6.1 kB Download
md5:98398d01237732e66755b667f8110c97
815 Bytes Download
md5:5c41f69caf8e21818330cb3b36bcfa27
1.6 kB Download
md5:56996929512329f2e488d7edf9ae8c80
1.6 kB Download
md5:a18a9c48f4c0ef82b20dc12b3fb9f11c
8.5 kB Download
md5:8701009f8285c2c1443e385e8c3ab210
2.6 kB Download

Additional details

Related works

Continues
Publication: 10.1016/j.camwa.2014.03.004 (DOI)
Publication: 10.1016/j.cam.2009.08.108 (DOI)
Is described by
Publication: 10.1553/etna_vol62s119 (DOI)

Software

Programming language
MATLAB

References

  • P. Kürschner: INEXACT LINEAR SOLVES IN THE LOW-RANK ADI ITERATION FOR LARGE SYLVESTER EQUATIONS PATRICK KÜRSCHNER, ETNA, 62:119-137 2024