Contents

function DEMO_RI_GE_DAE2(istest)
% Computes the solution of the Hinf Riccati equation for a random generated
% DAE index-2 system. The computations are done first time with the Newton
% method and the second time with the RADI. Afterwards, the explicitly
% projected equations is used to verify the results.
%
% Input:
% istest  decides whether the function runs as an interactive demo or a
%         continuous integration test. (optional; defaults to 0, i.e.
%         interactive demo)
%

%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program; if not, see <http://www.gnu.org/licenses/>.
%
% Copyright (C) Jens Saak, Martin Koehler, Peter Benner and others
%               2009-2020
%
if nargin<1, istest=0; end

Construction of system data.

if exist('OCTAVE_VERSION', 'builtin')
    rand('seed', 1.0); %#ok<RAND>
    A = rand(500) - 250 * eye(500);
    rand('seed', 2.0); %#ok<RAND>
    M = rand(500);
    M = M' * M;
    rand('seed', 3.0); %#ok<RAND>
    J = rand(100, 500);

    rand('seed', 4.0); %#ok<RAND>
    eqn.B2 = rand(500, 2);
    rand('seed', 5.0); %#ok<RAND>
    eqn.B1 = rand(500, 2);

    rand('seed', 6.0); %#ok<RAND>
    eqn.C2 = rand(3, 500);
    rand('seed', 7.0); %#ok<RAND>
    eqn.C1 = rand(3, 500);
else
    rng(1.0);
    A = rand(500) - 250 * eye(500);
    rng(2.0);
    M = rand(500);
    M = M' * M;
    rng(3.0);
    J = rand(100, 500);

    rng(4.0);
    eqn.B2 = rand(500, 2);
    rng(5.0);
    eqn.B1 = rand(500, 2);

    rng(6.0);
    eqn.C2 = rand(3, 500);
    rng(7.0);
    eqn.C1 = rand(3, 500);
end

eqn.A_ = sparse([A, J'; J, zeros(100)]);
eqn.E_ = sparse(blkdiag(M, zeros(100)));
st     = 500;
eqn.st = 500;

gam    = 5;
eqn.B1 = 1/gam * eqn.B1;

eqn.type  = 'T';
eqn.haveE = 1;

Set operator.

oper = operatormanager('dae_2');

Construction of options struct.

ADI settings.

opts.adi.maxiter          = 200;
opts.adi.res_tol           = 1.0e-14;
opts.adi.rel_diff_tol            = 0;
opts.adi.info             = 1;
opts.adi.compute_sol_fac  = 1;
opts.adi.accumulateK      = 0;
opts.adi.accumulateDeltaK = 0;

% Shift options.
opts.shifts.num_desired     = 5;
opts.shifts.method = 'projection';

% % NM settings.
opts.nm.maxiter       = 50;
opts.nm.res_tol        = 1.0e-12;
opts.nm.rel_diff_tol         = 1.0e-12;
opts.nm.info          = 1;
opts.nm.linesearch    = 0;
opts.nm.accumulateRes = 1;

% NM projection settings.
opts.nm.projection      = [];
opts.nm.projection.freq = 0;
opts.nm.res.maxiter     = 10;
opts.nm.res.tol         = 1.0e-06;
opts.nm.res.orth        = 1;

% RI settings.
opts.ri.riccati_solver = 'newton';
opts.ri.maxiter        = 10;
opts.ri.res_tol         = 1.0e-09;
opts.ri.rel_diff_tol          = 1.0e-16;
opts.ri.compres_tol    = 1.0e-16;
opts.ri.info           = 1;

% global options
opts.norm           = 2;

% %% Call Riccati iteration with Newton solver.
tic;
[outnm, eqn, opts, oper] = mess_lrri(eqn, opts, oper);
toc;
ADI step:    1 normalized residual: 1.339649e+00 
		normalized outer residual: 1.339642e+00
ADI step:    2 normalized residual: 2.143968e-01 
		normalized outer residual: 2.143944e-01
ADI step:    3 normalized residual: 1.304956e+00 
		normalized outer residual: 1.304938e+00
ADI step:    4 normalized residual: 1.721221e-01 
		normalized outer residual: 1.721066e-01
ADI step:    5 normalized residual: 5.402476e-01 
		normalized outer residual: 5.402240e-01
ADI step:    6 normalized residual: 2.389509e-02 
		normalized outer residual: 2.387994e-02
ADI step:    7 normalized residual: 1.620097e-01 
		normalized outer residual: 1.619847e-01
ADI step:    8 normalized residual: 6.239615e-03 
		normalized outer residual: 6.229358e-03
ADI step:    9 normalized residual: 7.261427e-02 
		normalized outer residual: 7.258902e-02
ADI step:   10 normalized residual: 1.449955e-02 
		normalized outer residual: 1.447768e-02
ADI step:   11 normalized residual: 1.068565e-03 
		normalized outer residual: 1.044431e-03
ADI step:   12 normalized residual: 2.073536e-04 
		normalized outer residual: 1.916060e-04
ADI step:   13 normalized residual: 4.825953e-04 
		normalized outer residual: 4.587690e-04
ADI step:   14 normalized residual: 1.740280e-04 
		normalized outer residual: 1.541251e-04
ADI step:   15 normalized residual: 2.340790e-05 
		normalized outer residual: 5.897985e-05
ADI step:   16 normalized residual: 6.096615e-08 
		normalized outer residual: 6.385196e-05
ADI step:   17 normalized residual: 1.682841e-07 
		normalized outer residual: 6.380660e-05
ADI step:   18 normalized residual: 1.653981e-08 
		normalized outer residual: 6.385685e-05
ADI step:   19 normalized residual: 1.852262e-08 
		normalized outer residual: 6.385556e-05
ADI step:   20 normalized residual: 1.071171e-09 
		normalized outer residual: 6.386198e-05
ADI step:   21 normalized residual: 2.992547e-10 
		normalized outer residual: 6.386216e-05
ADI step:   22 normalized residual: 6.375751e-11 
		normalized outer residual: 6.386221e-05
ADI step:   23 normalized residual: 4.938465e-11 
		normalized outer residual: 6.386220e-05
ADI step:   24 normalized residual: 3.597639e-11 
		normalized outer residual: 6.386221e-05
ADI step:   25 normalized residual: 3.432524e-11 
		normalized outer residual: 6.386221e-05
ADI step:   26 normalized residual: 2.657770e-13 
		normalized outer residual: 6.386221e-05
ADI step:   27 normalized residual: 2.369729e-13 
		normalized outer residual: 6.386221e-05
ADI step:   28 normalized residual: 6.988738e-14 
		normalized outer residual: 6.386221e-05
ADI step:   29 normalized residual: 4.025035e-14 
		normalized outer residual: 6.386221e-05
ADI step:   30 normalized residual: 3.529721e-14 
		normalized outer residual: 6.386221e-05
ADI step:   31 normalized residual: 4.622850e-16 
		normalized outer residual: 6.386221e-05

NM step:    1  normalized residual: 6.386221e-05
               relative change in K: 1.000000e+00
               number of ADI steps: 31 

ADI step:    1 normalized residual: 1.339647e+00 
		normalized outer residual: 1.339641e+00
ADI step:    2 normalized residual: 2.143929e-01 
		normalized outer residual: 2.143925e-01
ADI step:    3 normalized residual: 1.304959e+00 
		normalized outer residual: 1.304958e+00
ADI step:    4 normalized residual: 1.621254e-01 
		normalized outer residual: 1.621254e-01
ADI step:    5 normalized residual: 3.181539e-01 
		normalized outer residual: 3.181539e-01
ADI step:    6 normalized residual: 4.549598e-03 
		normalized outer residual: 4.549597e-03
ADI step:    7 normalized residual: 5.102056e-02 
		normalized outer residual: 5.102056e-02
ADI step:    8 normalized residual: 4.589406e-03 
		normalized outer residual: 4.589406e-03
ADI step:    9 normalized residual: 2.820698e-02 
		normalized outer residual: 2.820698e-02
ADI step:   10 normalized residual: 1.087359e-02 
		normalized outer residual: 1.087359e-02
ADI step:   11 normalized residual: 4.249825e-05 
		normalized outer residual: 4.249825e-05
ADI step:   12 normalized residual: 4.650247e-06 
		normalized outer residual: 4.650247e-06
ADI step:   13 normalized residual: 3.662481e-06 
		normalized outer residual: 3.662481e-06
ADI step:   14 normalized residual: 1.972957e-06 
		normalized outer residual: 1.972957e-06
ADI step:   15 normalized residual: 1.995074e-06 
		normalized outer residual: 1.995074e-06
ADI step:   16 normalized residual: 4.333767e-07 
		normalized outer residual: 4.333766e-07
ADI step:   17 normalized residual: 3.772039e-07 
		normalized outer residual: 3.772039e-07
ADI step:   18 normalized residual: 2.275047e-08 
		normalized outer residual: 2.275045e-08
ADI step:   19 normalized residual: 1.030370e-08 
		normalized outer residual: 1.030370e-08
ADI step:   20 normalized residual: 1.011223e-08 
		normalized outer residual: 1.011222e-08
ADI step:   21 normalized residual: 2.175006e-09 
		normalized outer residual: 2.174969e-09
ADI step:   22 normalized residual: 2.035337e-09 
		normalized outer residual: 2.035296e-09
ADI step:   23 normalized residual: 6.271233e-11 
		normalized outer residual: 6.269426e-11
ADI step:   24 normalized residual: 4.747078e-11 
		normalized outer residual: 4.744490e-11
ADI step:   25 normalized residual: 8.731731e-12 
		normalized outer residual: 8.674488e-12
ADI step:   26 normalized residual: 7.410949e-12 
		normalized outer residual: 7.364278e-12
ADI step:   27 normalized residual: 7.457673e-13 
		normalized outer residual: 7.213207e-13

NM step:    2  normalized residual: 7.213207e-13
               relative change in K: 9.689275e-05
               number of ADI steps: 27 

RI step:    1  normalized residual: 1.245840e-06 relative change in Z: 1.000000e+00
               number of Newton steps:    2

ADI step:    1 normalized residual: 3.133075e-01 
		normalized outer residual: 3.133075e-01
ADI step:    2 normalized residual: 3.251683e-01 
		normalized outer residual: 3.251683e-01
ADI step:    3 normalized residual: 1.652151e-01 
		normalized outer residual: 1.652151e-01
ADI step:    4 normalized residual: 1.516587e-01 
		normalized outer residual: 1.516587e-01
ADI step:    5 normalized residual: 4.453176e-02 
		normalized outer residual: 4.453176e-02
ADI step:    6 normalized residual: 1.794791e-02 
		normalized outer residual: 1.794791e-02
ADI step:    7 normalized residual: 9.868838e-03 
		normalized outer residual: 9.868837e-03
ADI step:    8 normalized residual: 1.857722e-03 
		normalized outer residual: 1.857722e-03
ADI step:    9 normalized residual: 2.021635e-04 
		normalized outer residual: 2.021631e-04
ADI step:   10 normalized residual: 4.302513e-04 
		normalized outer residual: 4.302510e-04
ADI step:   11 normalized residual: 1.559834e-04 
		normalized outer residual: 1.559831e-04
ADI step:   12 normalized residual: 3.318308e-04 
		normalized outer residual: 3.318305e-04
ADI step:   13 normalized residual: 2.481264e-05 
		normalized outer residual: 2.481223e-05
ADI step:   14 normalized residual: 4.978637e-06 
		normalized outer residual: 4.978347e-06
ADI step:   15 normalized residual: 3.037340e-06 
		normalized outer residual: 3.037052e-06
ADI step:   16 normalized residual: 3.042004e-06 
		normalized outer residual: 3.041713e-06
ADI step:   17 normalized residual: 2.695571e-06 
		normalized outer residual: 2.695276e-06
ADI step:   18 normalized residual: 2.543533e-08 
		normalized outer residual: 2.512830e-08
ADI step:   19 normalized residual: 2.447271e-08 
		normalized outer residual: 2.416783e-08
ADI step:   20 normalized residual: 7.410737e-09 
		normalized outer residual: 7.103841e-09
ADI step:   21 normalized residual: 7.217968e-09 
		normalized outer residual: 6.910914e-09
ADI step:   22 normalized residual: 5.060170e-09 
		normalized outer residual: 4.752348e-09
ADI step:   23 normalized residual: 2.518307e-10 
		normalized outer residual: 3.740879e-10
ADI step:   24 normalized residual: 2.439288e-10 
		normalized outer residual: 3.766145e-10
ADI step:   25 normalized residual: 3.168426e-11 
		normalized outer residual: 4.650267e-10
ADI step:   26 normalized residual: 6.838829e-13 
		normalized outer residual: 4.785896e-10
ADI step:   27 normalized residual: 1.871468e-13 
		normalized outer residual: 4.789451e-10
ADI step:   28 normalized residual: 1.668548e-13 
		normalized outer residual: 4.789607e-10
ADI step:   29 normalized residual: 1.852048e-14 
		normalized outer residual: 4.790758e-10
ADI step:   30 normalized residual: 1.353294e-14 
		normalized outer residual: 4.790794e-10
ADI step:   31 normalized residual: 6.871061e-17 
		normalized outer residual: 4.790895e-10

NM step:    1  normalized residual: 4.790895e-10
               relative change in K: 1.000000e+00
               number of ADI steps: 31 

ADI step:    1 normalized residual: 3.133075e-01 
		normalized outer residual: 3.133075e-01
ADI step:    2 normalized residual: 3.251683e-01 
		normalized outer residual: 3.251683e-01
ADI step:    3 normalized residual: 1.339176e-01 
		normalized outer residual: 1.339176e-01
ADI step:    4 normalized residual: 3.881261e-02 
		normalized outer residual: 3.881261e-02
ADI step:    5 normalized residual: 2.096598e-02 
		normalized outer residual: 2.096598e-02
ADI step:    6 normalized residual: 8.302229e-03 
		normalized outer residual: 8.302229e-03
ADI step:    7 normalized residual: 6.118319e-03 
		normalized outer residual: 6.118319e-03
ADI step:    8 normalized residual: 7.401265e-03 
		normalized outer residual: 7.401265e-03
ADI step:    9 normalized residual: 4.798838e-04 
		normalized outer residual: 4.798838e-04
ADI step:   10 normalized residual: 8.404597e-05 
		normalized outer residual: 8.404597e-05
ADI step:   11 normalized residual: 4.461497e-05 
		normalized outer residual: 4.461497e-05
ADI step:   12 normalized residual: 3.802641e-05 
		normalized outer residual: 3.802641e-05
ADI step:   13 normalized residual: 1.863877e-05 
		normalized outer residual: 1.863877e-05
ADI step:   14 normalized residual: 2.302393e-06 
		normalized outer residual: 2.302393e-06
ADI step:   15 normalized residual: 2.685541e-07 
		normalized outer residual: 2.685541e-07
ADI step:   16 normalized residual: 2.040413e-07 
		normalized outer residual: 2.040413e-07
ADI step:   17 normalized residual: 1.976502e-07 
		normalized outer residual: 1.976502e-07
ADI step:   18 normalized residual: 1.129325e-07 
		normalized outer residual: 1.129325e-07
ADI step:   19 normalized residual: 1.121053e-07 
		normalized outer residual: 1.121053e-07
ADI step:   20 normalized residual: 2.356809e-10 
		normalized outer residual: 2.356809e-10
ADI step:   21 normalized residual: 2.055177e-10 
		normalized outer residual: 2.055177e-10
ADI step:   22 normalized residual: 1.976302e-10 
		normalized outer residual: 1.976302e-10
ADI step:   23 normalized residual: 4.773305e-11 
		normalized outer residual: 4.773305e-11
ADI step:   24 normalized residual: 4.690083e-11 
		normalized outer residual: 4.690083e-11
ADI step:   25 normalized residual: 3.097680e-12 
		normalized outer residual: 3.097680e-12
ADI step:   26 normalized residual: 2.766703e-12 
		normalized outer residual: 2.766703e-12
ADI step:   27 normalized residual: 5.082400e-14 
		normalized outer residual: 5.082400e-14

NM step:    2  normalized residual: 5.082400e-14
               relative change in K: 4.079711e-10
               number of ADI steps: 27 

RI step:    2  normalized residual: 2.584524e-17 relative change in Z: 2.606653e-07
               number of Newton steps:    2

Elapsed time is 2.092608 seconds.

Setup RADI structure.

opts.radi.maxiter = opts.adi.maxiter;
opts.radi.res_tol  = opts.nm.res_tol;
opts.radi.rel_diff_tol   = 1.0e-16;
opts.radi.info    = 1;

opts.ri.riccati_solver = 'radi';

Call Riccati iteration with RADI solver.

tic;
[out, eqn, opts, ~] = mess_lrri(eqn, opts, oper);
toc;
RADI step:    1 pc: -2.755481e+01 + 0.000000e+00i normalized residual: 3.599401e-01 relative change in Z: 1.000000e+00
RADI step:    2 pc: -1.702458e+01 + 0.000000e+00i normalized residual: 5.760350e-02 relative change in Z: 4.360899e-01
RADI step:    3 pc: -5.326950e+00 + 0.000000e+00i normalized residual: 3.506218e-01 relative change in Z: 2.231453e-01
RADI step:    4 pc: -1.684672e+01 + 0.000000e+00i normalized residual: 4.624332e-02 relative change in Z: 2.613185e-01
RADI step:    5 pc: -1.430305e+02 + 0.000000e+00i normalized residual: 1.451546e-01 relative change in Z: 3.854626e-01
RADI step:    6 pc: -3.470423e+00 + 0.000000e+00i normalized residual: 6.418922e-03 relative change in Z: 4.022809e-02
RADI step:    7 pc: -9.734268e+01 + 0.000000e+00i normalized residual: 4.353209e-02 relative change in Z: 1.205510e-01
RADI step:    8 pc: -3.756199e+00 + 0.000000e+00i normalized residual: 1.676128e-03 relative change in Z: 1.830831e-02
RADI step:    9 pc: -5.371376e+01 + 0.000000e+00i normalized residual: 1.925769e-02 relative change in Z: 5.680637e-02
RADI step:   10 pc: -1.351929e+00 + 0.000000e+00i normalized residual: 3.948084e-03 relative change in Z: 8.151683e-03
RADI step:   11 pc: -4.163639e+02 + 0.000000e+00i normalized residual: 2.257934e-04 relative change in Z: 6.922578e-02
RADI step:   12 pc: -6.970850e+00 + 0.000000e+00i normalized residual: 6.120973e-05 relative change in Z: 2.180819e-03
RADI step:   13 pc: -1.631436e+02 + 0.000000e+00i normalized residual: 1.314353e-04 relative change in Z: 7.176444e-03
RADI step:   14 pc: -1.050420e+01 + 0.000000e+00i normalized residual: 3.464516e-05 relative change in Z: 1.094079e-03
RADI step:   15 pc: -5.325929e+02 + 0.000000e+00i normalized residual: 6.134010e-05 relative change in Z: 3.573300e-03
RADI step:   16 pc: -9.401285e-01 + 0.000000e+00i normalized residual: 3.287335e-08 relative change in Z: 2.392614e-04
RADI step:   17 pc: -6.682743e+01 + 0.000000e+00i normalized residual: 3.158296e-08 relative change in Z: 2.662578e-04
RADI step:   18 pc: -2.613826e+00 + 0.000000e+00i normalized residual: 1.347867e-08 relative change in Z: 5.368852e-05
RADI step:   19 pc: -2.226987e+01 + 0.000000e+00i normalized residual: 1.510802e-08 relative change in Z: 1.078810e-04
RADI step:   20 pc: -5.332338e+02 + 0.000000e+00i normalized residual: 2.140146e-09 relative change in Z: 1.767152e-04
RADI step:   21 pc: -9.334568e-01 + 0.000000e+00i normalized residual: 1.086764e-09 relative change in Z: 6.900800e-06
RADI step:   22 pc: -9.591050e+01 + 0.000000e+00i normalized residual: 2.077084e-10 relative change in Z: 4.363760e-05
RADI step:   23 pc: -2.691889e+00 + 0.000000e+00i normalized residual: 2.256385e-10 relative change in Z: 5.007281e-06
RADI step:   24 pc: -3.586654e+01 + 0.000000e+00i normalized residual: 1.319925e-10 relative change in Z: 1.556406e-05
RADI step:   25 pc: -1.266449e+00 + 0.000000e+00i normalized residual: 1.312647e-10 relative change in Z: 2.562475e-06
RADI step:   26 pc: -3.653866e+02 + 0.000000e+00i normalized residual: 2.109177e-12 relative change in Z: 1.937142e-05
RADI step:   27 pc: -4.803561e+00 + 0.000000e+00i normalized residual: 2.042577e-12 relative change in Z: 5.820484e-07
RADI step:   28 pc: -2.301496e+02 + 0.000000e+00i normalized residual: 8.874801e-15 relative change in Z: 2.120909e-06
RI step:    1  normalized residual: 1.245840e-06 relative change in Z: 1.000000e+00
               number of RADI steps:   28

RADI step:    1 pc: -7.495495e+00 + 0.000000e+00i normalized residual: 3.133075e-01 relative change in Z: 1.000000e+00
RADI step:    2 pc: -5.411341e+00 + 0.000000e+00i normalized residual: 3.251683e-01 relative change in Z: 3.525528e-01
RADI step:    3 pc: -1.927071e+01 + 0.000000e+00i normalized residual: 1.652151e-01 relative change in Z: 2.651589e-01
RADI step:    4 pc: -1.393704e+01 + 0.000000e+00i normalized residual: 1.516587e-01 relative change in Z: 1.362335e-01
RADI step:    5 pc: -3.515920e+00 + 0.000000e+00i normalized residual: 4.453176e-02 relative change in Z: 7.421613e-02
RADI step:    6 pc: -3.094045e+00 + 0.000000e+00i normalized residual: 1.794791e-02 relative change in Z: 4.931647e-02
RADI step:    7 pc: -1.399933e+01 + 0.000000e+00i normalized residual: 1.000276e-02 relative change in Z: 8.636871e-02
RADI step:    8 pc: -1.193825e+00 + 0.000000e+00i normalized residual: 1.757156e-03 relative change in Z: 2.324628e-02
RADI step:    9 pc: -1.304027e+02 + 0.000000e+00i normalized residual: 1.814427e-04 relative change in Z: 1.322323e-01
RADI step:   10 pc: -3.267728e+00 + 0.000000e+00i normalized residual: 3.951490e-04 relative change in Z: 1.053755e-02
RADI step:   11 pc: -3.603277e+01 + 0.000000e+00i normalized residual: 1.538619e-04 relative change in Z: 2.950788e-02
RADI step:   12 pc: -1.809300e+01 + 0.000000e+00i normalized residual: 2.969095e-04 relative change in Z: 1.698401e-02
RADI step:   13 pc: -9.337938e-01 + 0.000000e+00i normalized residual: 1.834699e-04 relative change in Z: 3.644892e-03
RADI step:   14 pc: -3.340116e+02 + 0.000000e+00i normalized residual: 3.777388e-06 relative change in Z: 3.520210e-02
RADI step:   15 pc: -4.633888e+00 + 0.000000e+00i normalized residual: 3.577477e-06 relative change in Z: 1.245047e-03
RADI step:   16 pc: -6.189463e+01 + 0.000000e+00i normalized residual: 2.273063e-06 relative change in Z: 3.660730e-03
RADI step:   17 pc: -2.841858e+01 + 0.000000e+00i normalized residual: 1.884792e-06 relative change in Z: 1.903459e-03
RADI step:   18 pc: -9.326911e-01 + 0.000000e+00i normalized residual: 1.880459e-06 relative change in Z: 3.218131e-04
RADI step:   19 pc: -5.105207e+02 + 0.000000e+00i normalized residual: 1.265785e-08 relative change in Z: 3.662007e-03
RADI step:   20 pc: -2.692849e+00 + 0.000000e+00i normalized residual: 1.186640e-08 relative change in Z: 7.632332e-05
RADI step:   21 pc: -1.368925e+02 + 0.000000e+00i normalized residual: 9.745261e-10 relative change in Z: 3.267813e-04
RADI step:   22 pc: -4.477300e+01 + 0.000000e+00i normalized residual: 6.077948e-10 relative change in Z: 6.930616e-05
RADI step:   23 pc: -9.326890e-01 + 0.000000e+00i normalized residual: 6.040714e-10 relative change in Z: 8.361385e-06
RADI step:   24 pc: -5.329693e+02 + 0.000000e+00i normalized residual: 2.476820e-11 relative change in Z: 7.393452e-05
RADI step:   25 pc: -3.370921e+00 + 0.000000e+00i normalized residual: 2.378849e-11 relative change in Z: 4.806989e-06
RADI step:   26 pc: -1.307287e+02 + 0.000000e+00i normalized residual: 2.540965e-12 relative change in Z: 1.912788e-05
RADI step:   27 pc: -3.603365e+01 + 0.000000e+00i normalized residual: 1.430388e-12 relative change in Z: 4.300070e-06
RADI step:   28 pc: -1.183862e+00 + 0.000000e+00i normalized residual: 1.395920e-12 relative change in Z: 6.720566e-07
RADI step:   29 pc: -5.343008e+02 + 0.000000e+00i normalized residual: 1.720255e-13 relative change in Z: 4.822292e-06
RI step:    2  normalized residual: 2.584524e-17 relative change in Z: 2.606653e-07
               number of RADI steps:   29

Elapsed time is 1.011316 seconds.

Test of the solution.

Partitioning of the system.

A = eqn.A_(1:st,1:st);
J = eqn.A_(1:st,st+1:end);
G = eqn.A_(st+1:end,1:st);
E = eqn.E_(1:st,1:st);
B1 = eqn.B1;
B2 = eqn.B2;
C1 = eqn.C1;

% Compute projection matrices (not recommended for large-scale case).
Pi_l = eye(st) - J*((G*(E\J))\(G/E));
Pi_r = eye(st) - (E\J)*((G*(E\J))\G);

% Explicit projection.
A_p  = Pi_l * A * Pi_r;
M_p  = Pi_l * E * Pi_r;
C1_p = C1 * Pi_r;
B1_p = Pi_l * B1;
B2_p = Pi_l * B2;

% Compute the actual errors.
abserrnm = norm(A_p' * (outnm.Z * outnm.Z') * M_p ...
    + M_p' * (outnm.Z * outnm.Z') * A_p ...
    + M_p' * (outnm.Z * outnm.Z') * (B1_p * B1_p' ...
    - B2_p * B2_p') * (outnm.Z * outnm.Z') * M_p + C1_p' * C1_p, 2);
relerrnm = abserrnm / norm(C1_p * C1_p', 2);
fprintf(1, '\nNewton -> set tolerance vs. real residual: %e | %e\n', ...
    opts.ri.res_tol, relerrnm);

abserrradi = norm(A_p' * (out.Z * out.Z') * M_p ...
    + M_p' * (out.Z * out.Z') * A_p ...
    + M_p' * (out.Z * out.Z') * (B1_p * B1_p' ...
    - B2_p * B2_p') * (out.Z * out.Z') * M_p + C1_p' * C1_p, 2);
relerrradi = abserrradi / norm(C1_p * C1_p', 2);
fprintf(1, 'RADI   -> set tolerance vs. real residual: %e | %e\n', ...
    opts.ri.res_tol, relerrradi);

if istest
    assert(relerrnm < opts.ri.res_tol, ...
        'MESS:TEST:accuracy','unexpectedly inaccurate result');
    assert(relerrradi < opts.ri.res_tol, ...
        'MESS:TEST:accuracy','unexpectedly inaccurate result');
end
Newton -> set tolerance vs. real residual: 1.000000e-09 | 1.284143e-11
RADI   -> set tolerance vs. real residual: 1.000000e-09 | 1.408992e-11