SLICOT / SLICOT-Reference

SLICOT - A Fortran subroutines library for systems and control
BSD 3-Clause "New" or "Revised" License
45 stars 20 forks source link

Can I use slicot to solve this particular problem? #9

Open gabrielfougeron opened 1 year ago

gabrielfougeron commented 1 year ago

Here is my numerical problem: I want to compute a Hamiltonian square root of a given skew-Hamiltonian matrix.

The following article Structure-Preserving Schur Methods for Computing Square Roots of Real Skew-Hamiltonian Matrices by Zhongyun Liu, Yulin Zhang, Carla Ferreira, and Rui Ralha proposes an algorithm involving the following steps:

  1. A Paige / van Loan decomposition of the initial skew-Hamiltonian matrix
  2. Transformation of the above into a symplectic schur decomposition of the initial matrix.
  3. Schur decomposition of the top-left block
  4. Solution of a Sylvester equation

I think I can use Lapack to deal with 3. and 4. My question is: can I use SLICOT to deal with 1. and/or 2. ? I see in the doc that there is a subroutine for the Paige/Van Loan form of a Hamiltonian matrix MB04PB, but I don't see anything for the skew-Hamiltonian case.

Any tips would be greatly appreciated

gabrielfougeron commented 1 year ago

PS: I apologize if this is not the right place to ask this kind of questions.

peterbenner67 commented 1 year ago

It is ok to ask this question. I wrote the first version of MB04PB 25 years ago. I did have a version for skew-Hamiltonians, that might be a lower-level support function or never made it into SLICOT. I will check my files, but this might take a few days.

gabrielfougeron commented 1 year ago

Wow this is great, thank you very much!

VasileSima4 commented 1 year ago

Currently, SLICOT does not include a routine for computing the PVL form of a skew-Hamiltonian matrix. We do have one for skew-Hamiltonian/Hamiltonian pencils. An appropriate routine for item 1 above could be DSHPVB from HAPACK package. It might be possible to include its adaptation into SLICOT Library in the near future.
I don't know now an answer for item 2.

gabrielfougeron commented 1 year ago

Sounds great! I had never heard of HAPACK before. A quick google search leads me to believe the project home page is https://www.tu-chemnitz.de/mathematik/industrie_technik/software/hapack.php?lang=en . The download links are all down though :-(

peterbenner67 commented 1 year ago

Maybe a project for your next visit?

Best regards,

Peter

On Wed, Feb 08, 2023 at 11:01:27PM -0800, VasileSima4 wrote:

Currently, SLICOT does not include a routine for computing the PVL form of a skew-Hamiltonian matrix. We do have one for skew-Hamiltonian/Hamiltonian pencils. An appropriate routine for item 1 above could be DSHPVB from HAPACK package. It might be possible to include its adaptation into SLICOT Library in the near future.
I don't know now an answer for item 2.

-- Reply to this email directly or view it on GitHub: https://github.com/SLICOT/SLICOT-Reference/issues/9#issuecomment-1423725848 You are receiving this because you commented.

Message ID: @.***>


Upcoming:

25-27 September 2023 / Heidelberg, Germany: European Conference on Computational Optimization (EUCCO) https://scoop.iwr.uni-heidelberg.de/events/2023_eucco/


Prof. Dr. Peter Benner

Co-Chair "BiGmax - the Max Planck research network on big-data-driven materials science", https://www.bigmax.mpg.de/

Professor, Research group "Mathematics in Industry and Technology" Fakultät für Mathematik, TU Chemnitz

Honorarprofessor, Fakultät für Mathematik Otto-von-Guericke Universität Magdeburg

VasileSima4 commented 1 year ago

Maybe a project for your next visit? Best regards, Peter On Wed, Feb 08, 2023 at 11:01:27PM -0800, VasileSima4 wrote: Currently, SLICOT does not include a routine for computing the PVL form of a skew-Hamiltonian matrix. We do have one for skew-Hamiltonian/Hamiltonian pencils. An appropriate routine for item 1 above could be DSHPVB from HAPACK package. It might be possible to include its adaptation into SLICOT Library in the near future. I don't know now an answer for item 2. -- Reply to this email directly or view it on GitHub: #9 (comment) You are receiving this because you commented. Message ID: @.> ____ Upcoming: 25-27 September 2023 / Heidelberg, Germany: European Conference on Computational Optimization (EUCCO) https://scoop.iwr.uni-heidelberg.de/events/2023_eucco/ ____ Prof. Dr. Peter Benner - Director - Max Planck Institute for Dynamics of Complex Technical Systems Sandtorstr. 1, 39106 Magdeburg (Germany) +49 391-6110-450 @. | www.mpi-magdeburg.mpg.de/benner zoom: peterbenner | webex: benner | skype: peter_benner BigBlueButton: bbba.mpi-magdeburg.mpg.de/b/pet-gjq-xek Co-Chair "BiGmax - the Max Planck research network on big-data-driven materials science", https://www.bigmax.mpg.de/ Professor, Research group "Mathematics in Industry and Technology" Fakultät für Mathematik, TU Chemnitz Honorarprofessor, Fakultät für Mathematik Otto-von-Guericke Universität Magdeburg

Sure! Most HAPACK routines are already integrated into SLICOT. From the six routines you sent, two are already there, under the names MB01MD and MB01ND.