Contents

function [Er,Ar,Br,Cr] = IRKA_rail(k,r,istest)
% Computes a locally H2-optimal reduced order model of order r for
% the selective cooling of Steel profiles application described in
% [1,2,3] via the tangential IRKA method.
%
% Usage: IRKA_rail(k,r,istest)
%
% Inputs:
%
% k           refinement level of the model to use
%             (0 - 5, i.e. 109 - 79841 Dofs)
%             (optional, defaults to 2, i.e. 1357 Dofs)
%
% r           desired dimension of the reduced order model
%             (optional, defaults to 10)
%
% istest      flag to determine whether this demo runs as a CI test or
%             interactive demo
%             (optional, defaults to 0, i.e. interactive demo)
%
% References:
% [1] J. Saak, Effiziente numerische Lösung eines
%     Optimalsteuerungsproblems für die Abkühlung von Stahlprofilen,
%     Diplomarbeit, Fachbereich 3/Mathematik und Informatik, Universität
%     Bremen, D-28334 Bremen (Sep. 2003).
%     https://doi.org/10.5281/zenodo.1187040
%
% [2] P. Benner, J. Saak, A semi-discretized heat transfer model for
%     optimal cooling of steel profiles, in: P. Benner, V. Mehrmann, D.
%     Sorensen (Eds.), Dimension Reduction of Large-Scale Systems, Vol. 45
%     of Lect. Notes Comput. Sci. Eng., Springer-Verlag, Berlin/Heidelberg,
%     Germany, 2005, pp. 353–356. https://doi.org/10.1007/3-540-27909-1_19
%
% [3] J. Saak, Efficient numerical solution of large scale algebraic matrix
%     equations in PDE control and model order reduction, Dissertation,
%     Technische Universität Chemnitz, Chemnitz, Germany (Jul. 2009).
%     URL http://nbn-resolving.de/urn:nbn:de:bsz:ch1-200901642
%
% [4] S. Gugercin, A. C. Antoulas, C. Beattie, H2 model reduction
%     for large-scale linear dynamical systems, SIAM J. Matrix
%     Anal. Appl. 30 (2) (2008) pp. 609–638.
%     https://doi.org/10.1137/060666123

%
% This file is part of the M-M.E.S.S. project
% (http://www.mpi-magdeburg.mpg.de/projects/mess).
% Copyright © 2009-2022 Jens Saak, Martin Koehler, Peter Benner and others.
% All rights reserved.
% License: BSD 2-Clause License (see COPYING)
%

Load matrix data

if nargin<1
    k=2;
end
eqn = mess_get_linear_rail(k);

register corresponding usfs

oper = operatormanager('default');

collect IRKA parameters

if nargin<2
    opts.irka.r = 20;
else
    opts.irka.r = r;
end

if nargin < 3
    istest = 0;
end
opts.irka.maxiter =100;
opts.irka.shift_tol = 1e-3;
opts.irka.h2_tol = 1e-6;
if istest
    opts.irka.info = 1;
else
    opts.irka.info = 3;
end
opts.irka.init = 'logspace';

Run IRKA

[Er,Ar,Br,Cr] = mess_tangential_irka(eqn, opts, oper);

if istest
    [~, ID] = lastwarn;
    lastwarn('');
    if strcmp(ID,'MESS:IRKA:convergence')
        error('IRKA converged unexpectedly slow');
    end
end

if exist('sparss','class')
    sys = sparss(eqn.A_, eqn.B, eqn.C, [], eqn.E_);
    [Er,Ar,Br,Cr] = mess_tangential_irka(sys,opts);
    if istest
    [~, ID] = lastwarn;
    lastwarn('');
        if strcmp(ID,'MESS:IRKA:convergence')
            error('IRKA converged unexpectedly slow');
        end
    end
end
Warning: IRKA step 1 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   1, rel. chg. shifts = 1.466613e+02 , rel. H2-norm chg. ROM = 1.000000e+00
Warning: IRKA step 2 : 2 non-stable reduced eigenvalues detected.
 
IRKA step   2, rel. chg. shifts = 1.822055e+03 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 3 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   3, rel. chg. shifts = 6.280324e+01 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 4 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   4, rel. chg. shifts = 5.642539e+00 , rel. H2-norm chg. ROM = Inf
IRKA step   5, rel. chg. shifts = 9.017783e+00 , rel. H2-norm chg. ROM = Inf
IRKA step   6, rel. chg. shifts = 6.886421e+00 , rel. H2-norm chg. ROM = 1.726136e-01
IRKA step   7, rel. chg. shifts = 5.602410e+01 , rel. H2-norm chg. ROM = 2.890137e-01
IRKA step   8, rel. chg. shifts = 4.752392e+00 , rel. H2-norm chg. ROM = 6.865068e-02
Warning: IRKA step 9 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   9, rel. chg. shifts = 4.937011e+01 , rel. H2-norm chg. ROM = Inf
IRKA step  10, rel. chg. shifts = 2.900032e+02 , rel. H2-norm chg. ROM = 6.323034e-02
IRKA step  11, rel. chg. shifts = 1.390184e+00 , rel. H2-norm chg. ROM = 3.265683e-02
IRKA step  12, rel. chg. shifts = 1.529164e+01 , rel. H2-norm chg. ROM = 2.877978e-02
IRKA step  13, rel. chg. shifts = 8.828485e+00 , rel. H2-norm chg. ROM = 2.233436e-02
IRKA step  14, rel. chg. shifts = 6.394496e+01 , rel. H2-norm chg. ROM = 2.069950e-02
Warning: IRKA step 15 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  15, rel. chg. shifts = 5.778572e+01 , rel. H2-norm chg. ROM = Inf
IRKA step  16, rel. chg. shifts = 1.519369e+01 , rel. H2-norm chg. ROM = 5.844751e-02
Warning: IRKA step 17 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  17, rel. chg. shifts = 4.711225e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  18, rel. chg. shifts = 3.897068e+02 , rel. H2-norm chg. ROM = 4.204387e-02
Warning: IRKA step 19 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  19, rel. chg. shifts = 6.249422e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  20, rel. chg. shifts = 1.233692e+01 , rel. H2-norm chg. ROM = 2.322628e-02
Warning: IRKA step 21 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  21, rel. chg. shifts = 3.312523e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  22, rel. chg. shifts = 1.072041e+00 , rel. H2-norm chg. ROM = 2.203301e-02
Warning: IRKA step 23 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  23, rel. chg. shifts = 1.787796e+01 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 24 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  24, rel. chg. shifts = 3.121030e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  25, rel. chg. shifts = 3.502610e+01 , rel. H2-norm chg. ROM = 2.006740e-02
Warning: IRKA step 26 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  26, rel. chg. shifts = 3.323900e+00 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 27 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  27, rel. chg. shifts = 4.197663e+02 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 28 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  28, rel. chg. shifts = 1.444383e+01 , rel. H2-norm chg. ROM = Inf
IRKA step  29, rel. chg. shifts = 3.763672e+00 , rel. H2-norm chg. ROM = 1.011194e-01
IRKA step  30, rel. chg. shifts = 3.736885e+00 , rel. H2-norm chg. ROM = 7.804086e-02
IRKA step  31, rel. chg. shifts = 9.157203e+00 , rel. H2-norm chg. ROM = 4.195266e-02
IRKA step  32, rel. chg. shifts = 3.568281e+00 , rel. H2-norm chg. ROM = 2.956314e-02
IRKA step  33, rel. chg. shifts = 1.086653e-01 , rel. H2-norm chg. ROM = 2.434783e-02
IRKA step  34, rel. chg. shifts = 1.962402e-01 , rel. H2-norm chg. ROM = 1.350349e-02
IRKA step  35, rel. chg. shifts = 1.210196e-01 , rel. H2-norm chg. ROM = 7.828472e-03
IRKA step  36, rel. chg. shifts = 9.670155e+01 , rel. H2-norm chg. ROM = 6.040303e-03
IRKA step  37, rel. chg. shifts = 1.785820e-01 , rel. H2-norm chg. ROM = 6.441283e-03
IRKA step  38, rel. chg. shifts = 2.692214e-01 , rel. H2-norm chg. ROM = 5.358345e-03
IRKA step  39, rel. chg. shifts = 1.117715e+01 , rel. H2-norm chg. ROM = 5.246648e-03
IRKA step  40, rel. chg. shifts = 1.851457e-01 , rel. H2-norm chg. ROM = 5.190250e-03
IRKA step  41, rel. chg. shifts = 8.957171e-02 , rel. H2-norm chg. ROM = 5.139455e-03
IRKA step  42, rel. chg. shifts = 1.014407e-01 , rel. H2-norm chg. ROM = 5.154813e-03
IRKA step  43, rel. chg. shifts = 6.534359e-02 , rel. H2-norm chg. ROM = 5.132784e-03
IRKA step  44, rel. chg. shifts = 4.742445e-02 , rel. H2-norm chg. ROM = 4.847910e-03
IRKA step  45, rel. chg. shifts = 3.341427e-02 , rel. H2-norm chg. ROM = 4.415675e-03
IRKA step  46, rel. chg. shifts = 2.597584e-02 , rel. H2-norm chg. ROM = 3.824924e-03
IRKA step  47, rel. chg. shifts = 1.485318e-02 , rel. H2-norm chg. ROM = 3.208998e-03
IRKA step  48, rel. chg. shifts = 1.893867e-02 , rel. H2-norm chg. ROM = 2.610692e-03
IRKA step  49, rel. chg. shifts = 8.889384e-03 , rel. H2-norm chg. ROM = 2.086134e-03
IRKA step  50, rel. chg. shifts = 1.127285e-02 , rel. H2-norm chg. ROM = 1.644853e-03
IRKA step  51, rel. chg. shifts = 5.238606e-03 , rel. H2-norm chg. ROM = 1.285527e-03
IRKA step  52, rel. chg. shifts = 5.608026e-03 , rel. H2-norm chg. ROM = 1.000867e-03
IRKA step  53, rel. chg. shifts = 3.093888e-03 , rel. H2-norm chg. ROM = 7.753566e-04
IRKA step  54, rel. chg. shifts = 2.960968e-03 , rel. H2-norm chg. ROM = 6.009653e-04
IRKA step  55, rel. chg. shifts = 1.835191e-03 , rel. H2-norm chg. ROM = 4.640285e-04
IRKA step  56, rel. chg. shifts = 1.627322e-03 , rel. H2-norm chg. ROM = 3.591596e-04
IRKA step  57, rel. chg. shifts = 1.092269e-03 , rel. H2-norm chg. ROM = 2.769905e-04
IRKA step  58, rel. chg. shifts = 9.167929e-04 , rel. H2-norm chg. ROM = 2.143245e-04
IRKA terminated due to relative change of shifts criterion.

Computing TFMs of original and reduced order systems and MOR errors
 Step  10 / 100 Step  20 / 100 Step  30 / 100 Step  40 / 100 Step  50 / 100 Step  60 / 100 Step  70 / 100 Step  80 / 100 Step  90 / 100 Step 100 / 100

Warning: IRKA step 1 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   1, rel. chg. shifts = 1.466613e+02 , rel. H2-norm chg. ROM = 1.000000e+00
Warning: IRKA step 2 : 2 non-stable reduced eigenvalues detected.
 
IRKA step   2, rel. chg. shifts = 1.822055e+03 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 3 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   3, rel. chg. shifts = 6.280324e+01 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 4 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   4, rel. chg. shifts = 5.642539e+00 , rel. H2-norm chg. ROM = Inf
IRKA step   5, rel. chg. shifts = 9.017783e+00 , rel. H2-norm chg. ROM = Inf
IRKA step   6, rel. chg. shifts = 6.886421e+00 , rel. H2-norm chg. ROM = 1.726136e-01
IRKA step   7, rel. chg. shifts = 5.602410e+01 , rel. H2-norm chg. ROM = 2.890137e-01
IRKA step   8, rel. chg. shifts = 4.752392e+00 , rel. H2-norm chg. ROM = 6.865068e-02
Warning: IRKA step 9 : 1 non-stable reduced eigenvalues detected.
 
IRKA step   9, rel. chg. shifts = 4.937011e+01 , rel. H2-norm chg. ROM = Inf
IRKA step  10, rel. chg. shifts = 2.900032e+02 , rel. H2-norm chg. ROM = 6.323034e-02
IRKA step  11, rel. chg. shifts = 1.390184e+00 , rel. H2-norm chg. ROM = 3.265683e-02
IRKA step  12, rel. chg. shifts = 1.529164e+01 , rel. H2-norm chg. ROM = 2.877978e-02
IRKA step  13, rel. chg. shifts = 8.828485e+00 , rel. H2-norm chg. ROM = 2.233436e-02
IRKA step  14, rel. chg. shifts = 6.394496e+01 , rel. H2-norm chg. ROM = 2.069950e-02
Warning: IRKA step 15 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  15, rel. chg. shifts = 5.778572e+01 , rel. H2-norm chg. ROM = Inf
IRKA step  16, rel. chg. shifts = 1.519369e+01 , rel. H2-norm chg. ROM = 5.844751e-02
Warning: IRKA step 17 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  17, rel. chg. shifts = 4.711225e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  18, rel. chg. shifts = 3.897068e+02 , rel. H2-norm chg. ROM = 4.204387e-02
Warning: IRKA step 19 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  19, rel. chg. shifts = 6.249422e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  20, rel. chg. shifts = 1.233692e+01 , rel. H2-norm chg. ROM = 2.322628e-02
Warning: IRKA step 21 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  21, rel. chg. shifts = 3.312523e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  22, rel. chg. shifts = 1.072041e+00 , rel. H2-norm chg. ROM = 2.203301e-02
Warning: IRKA step 23 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  23, rel. chg. shifts = 1.787796e+01 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 24 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  24, rel. chg. shifts = 3.121030e+00 , rel. H2-norm chg. ROM = Inf
IRKA step  25, rel. chg. shifts = 3.502610e+01 , rel. H2-norm chg. ROM = 2.006740e-02
Warning: IRKA step 26 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  26, rel. chg. shifts = 3.323900e+00 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 27 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  27, rel. chg. shifts = 4.197663e+02 , rel. H2-norm chg. ROM = Inf
Warning: IRKA step 28 : 1 non-stable reduced eigenvalues detected.
 
IRKA step  28, rel. chg. shifts = 1.444383e+01 , rel. H2-norm chg. ROM = Inf
IRKA step  29, rel. chg. shifts = 3.763672e+00 , rel. H2-norm chg. ROM = 1.011194e-01
IRKA step  30, rel. chg. shifts = 3.736885e+00 , rel. H2-norm chg. ROM = 7.804086e-02
IRKA step  31, rel. chg. shifts = 9.157203e+00 , rel. H2-norm chg. ROM = 4.195266e-02
IRKA step  32, rel. chg. shifts = 3.568281e+00 , rel. H2-norm chg. ROM = 2.956314e-02
IRKA step  33, rel. chg. shifts = 1.086653e-01 , rel. H2-norm chg. ROM = 2.434783e-02
IRKA step  34, rel. chg. shifts = 1.962402e-01 , rel. H2-norm chg. ROM = 1.350349e-02
IRKA step  35, rel. chg. shifts = 1.210196e-01 , rel. H2-norm chg. ROM = 7.828472e-03
IRKA step  36, rel. chg. shifts = 9.670155e+01 , rel. H2-norm chg. ROM = 6.040303e-03
IRKA step  37, rel. chg. shifts = 1.785820e-01 , rel. H2-norm chg. ROM = 6.441283e-03
IRKA step  38, rel. chg. shifts = 2.692214e-01 , rel. H2-norm chg. ROM = 5.358345e-03
IRKA step  39, rel. chg. shifts = 1.117715e+01 , rel. H2-norm chg. ROM = 5.246648e-03
IRKA step  40, rel. chg. shifts = 1.851457e-01 , rel. H2-norm chg. ROM = 5.190250e-03
IRKA step  41, rel. chg. shifts = 8.957171e-02 , rel. H2-norm chg. ROM = 5.139455e-03
IRKA step  42, rel. chg. shifts = 1.014407e-01 , rel. H2-norm chg. ROM = 5.154813e-03
IRKA step  43, rel. chg. shifts = 6.534359e-02 , rel. H2-norm chg. ROM = 5.132784e-03
IRKA step  44, rel. chg. shifts = 4.742445e-02 , rel. H2-norm chg. ROM = 4.847910e-03
IRKA step  45, rel. chg. shifts = 3.341427e-02 , rel. H2-norm chg. ROM = 4.415675e-03
IRKA step  46, rel. chg. shifts = 2.597584e-02 , rel. H2-norm chg. ROM = 3.824924e-03
IRKA step  47, rel. chg. shifts = 1.485318e-02 , rel. H2-norm chg. ROM = 3.208998e-03
IRKA step  48, rel. chg. shifts = 1.893867e-02 , rel. H2-norm chg. ROM = 2.610692e-03
IRKA step  49, rel. chg. shifts = 8.889384e-03 , rel. H2-norm chg. ROM = 2.086134e-03
IRKA step  50, rel. chg. shifts = 1.127285e-02 , rel. H2-norm chg. ROM = 1.644853e-03
IRKA step  51, rel. chg. shifts = 5.238606e-03 , rel. H2-norm chg. ROM = 1.285527e-03
IRKA step  52, rel. chg. shifts = 5.608026e-03 , rel. H2-norm chg. ROM = 1.000867e-03
IRKA step  53, rel. chg. shifts = 3.093888e-03 , rel. H2-norm chg. ROM = 7.753566e-04
IRKA step  54, rel. chg. shifts = 2.960968e-03 , rel. H2-norm chg. ROM = 6.009653e-04
IRKA step  55, rel. chg. shifts = 1.835191e-03 , rel. H2-norm chg. ROM = 4.640285e-04
IRKA step  56, rel. chg. shifts = 1.627322e-03 , rel. H2-norm chg. ROM = 3.591596e-04
IRKA step  57, rel. chg. shifts = 1.092269e-03 , rel. H2-norm chg. ROM = 2.769905e-04
IRKA step  58, rel. chg. shifts = 9.167929e-04 , rel. H2-norm chg. ROM = 2.143245e-04
IRKA terminated due to relative change of shifts criterion.

Computing TFMs of original and reduced order systems and MOR errors
 Step  10 / 100 Step  20 / 100 Step  30 / 100 Step  40 / 100 Step  50 / 100 Step  60 / 100 Step  70 / 100 Step  80 / 100 Step  90 / 100 Step 100 / 100


ans =

  Columns 1 through 13

     1     0     0     0     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0     0     0     0
     0     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0     0
     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     0     0     0     0     0     1     0
     0     0     0     0     0     0     0     0     0     0     0     0     1
     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0

  Columns 14 through 20

     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     1     0     0     0     0     0     0
     0     1     0     0     0     0     0
     0     0     1     0     0     0     0
     0     0     0     1     0     0     0
     0     0     0     0     1     0     0
     0     0     0     0     0     1     0
     0     0     0     0     0     0     1