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 file is part of the M-M.E.S.S. project
% (http://www.mpi-magdeburg.mpg.de/projects/mess).
% Copyright (c) 2009-2025 Jens Saak, Martin Koehler, Peter Benner and others.
% All rights reserved.
% License: BSD 2-Clause License (see COPYING)
%
if nargin < 1
    istest = false;
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)));
eqn.manifold_dim = 500;
one = 1:eqn.manifold_dim;
two = eqn.manifold_dim + 1:size(eqn.A_, 1);

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

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

Set operator.

opts = struct();
[oper, opts] = operatormanager(opts, '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  = true;
opts.adi.accumulateK      = false;
opts.adi.accumulateDeltaK = false;

% 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    = false;
opts.nm.accumulateRes = true;

% 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        = true;

% 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.
t_mess_lrri = tic;
[outnm, eqn, opts, oper] = mess_lrri(eqn, opts, oper);
t_elapsed1 = toc(t_mess_lrri);
mess_fprintf(opts, 'mess_lrri took %6.2f seconds \n', t_elapsed1);
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.988733e-14   
		 normalized outer residual: 6.386221e-05  
ADI step:   29 normalized residual: 4.025037e-14   
		 normalized outer residual: 6.386221e-05  
ADI step:   30 normalized residual: 3.529719e-14   
		 normalized outer residual: 6.386221e-05  
ADI step:   31 normalized residual: 4.622932e-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.820700e-02   
		 normalized outer residual: 2.820700e-02  
ADI step:   10 normalized residual: 1.087360e-02   
		 normalized outer residual: 1.087360e-02  
ADI step:   11 normalized residual: 4.249818e-05   
		 normalized outer residual: 4.249818e-05  
ADI step:   12 normalized residual: 4.650212e-06   
		 normalized outer residual: 4.650212e-06  
ADI step:   13 normalized residual: 3.662480e-06   
		 normalized outer residual: 3.662480e-06  
ADI step:   14 normalized residual: 1.972935e-06   
		 normalized outer residual: 1.972935e-06  
ADI step:   15 normalized residual: 1.995052e-06   
		 normalized outer residual: 1.995052e-06  
ADI step:   16 normalized residual: 4.333719e-07   
		 normalized outer residual: 4.333718e-07  
ADI step:   17 normalized residual: 3.771989e-07   
		 normalized outer residual: 3.771989e-07  
ADI step:   18 normalized residual: 2.275008e-08   
		 normalized outer residual: 2.275006e-08  
ADI step:   19 normalized residual: 1.030354e-08   
		 normalized outer residual: 1.030354e-08  
ADI step:   20 normalized residual: 1.011207e-08   
		 normalized outer residual: 1.011206e-08  
ADI step:   21 normalized residual: 2.174963e-09   
		 normalized outer residual: 2.174927e-09  
ADI step:   22 normalized residual: 2.035303e-09   
		 normalized outer residual: 2.035262e-09  
ADI step:   23 normalized residual: 6.271127e-11   
		 normalized outer residual: 6.269320e-11  
ADI step:   24 normalized residual: 4.747106e-11   
		 normalized outer residual: 4.744518e-11  
ADI step:   25 normalized residual: 8.731844e-12   
		 normalized outer residual: 8.674600e-12  
ADI step:   26 normalized residual: 7.410972e-12   
		 normalized outer residual: 7.364300e-12  
ADI step:   27 normalized residual: 7.457647e-13   
		 normalized outer residual: 7.213182e-13  
  
 NM step:    2 normalized residual: 	7.213182e-13  
               relative change in K: 	9.689275e-05  
               number of ADI steps: 	27   
  
RI step:    1 normalized residual: 4.636841e-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.838828e-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.871068e-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.339160e-01   
		 normalized outer residual: 1.339160e-01  
ADI step:    4 normalized residual: 3.881213e-02   
		 normalized outer residual: 3.881213e-02  
ADI step:    5 normalized residual: 2.096533e-02   
		 normalized outer residual: 2.096533e-02  
ADI step:    6 normalized residual: 8.301902e-03   
		 normalized outer residual: 8.301902e-03  
ADI step:    7 normalized residual: 6.118017e-03   
		 normalized outer residual: 6.118017e-03  
ADI step:    8 normalized residual: 7.401026e-03   
		 normalized outer residual: 7.401026e-03  
ADI step:    9 normalized residual: 4.798828e-04   
		 normalized outer residual: 4.798828e-04  
ADI step:   10 normalized residual: 8.403919e-05   
		 normalized outer residual: 8.403919e-05  
ADI step:   11 normalized residual: 4.461467e-05   
		 normalized outer residual: 4.461467e-05  
ADI step:   12 normalized residual: 3.802447e-05   
		 normalized outer residual: 3.802447e-05  
ADI step:   13 normalized residual: 1.863861e-05   
		 normalized outer residual: 1.863861e-05  
ADI step:   14 normalized residual: 2.302050e-06   
		 normalized outer residual: 2.302050e-06  
ADI step:   15 normalized residual: 2.685555e-07   
		 normalized outer residual: 2.685555e-07  
ADI step:   16 normalized residual: 2.040465e-07   
		 normalized outer residual: 2.040465e-07  
ADI step:   17 normalized residual: 1.976553e-07   
		 normalized outer residual: 1.976553e-07  
ADI step:   18 normalized residual: 1.129430e-07   
		 normalized outer residual: 1.129430e-07  
ADI step:   19 normalized residual: 1.121158e-07   
		 normalized outer residual: 1.121158e-07  
ADI step:   20 normalized residual: 2.357504e-10   
		 normalized outer residual: 2.357504e-10  
ADI step:   21 normalized residual: 2.055726e-10   
		 normalized outer residual: 2.055726e-10  
ADI step:   22 normalized residual: 1.976829e-10   
		 normalized outer residual: 1.976829e-10  
ADI step:   23 normalized residual: 4.773778e-11   
		 normalized outer residual: 4.773778e-11  
ADI step:   24 normalized residual: 4.690547e-11   
		 normalized outer residual: 4.690547e-11  
ADI step:   25 normalized residual: 3.097929e-12   
		 normalized outer residual: 3.097929e-12  
ADI step:   26 normalized residual: 2.766984e-12   
		 normalized outer residual: 2.766984e-12  
ADI step:   27 normalized residual: 5.083144e-14   
		 normalized outer residual: 5.083144e-14  
  
 NM step:    2 normalized residual: 	5.083144e-14  
               relative change in K: 	4.079285e-10  
               number of ADI steps: 	27   
  
RI step:    2 normalized residual: 9.619236e-17 relative change in Z: 2.606653e-07  
               number of Newton steps:    2  
  
mess_lrri took   6.56 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.

t_mess_lrri = tic;
[out, eqn, opts, ~] = mess_lrri(eqn, opts, oper);
t_elapsed2 = toc(t_mess_lrri);
mess_fprintf(opts, 'mess_lrri took %6.2f seconds \n', t_elapsed2);
RADI step:    1 pc: -2.949891e+01 + 0.000000e+00i normalized residual: 1.367822e+00 relative change in Z: 1.000000e+00  
RADI step:    2 pc: -1.806237e+01 + 0.000000e+00i normalized residual: 2.138753e-01 relative change in Z: 4.337631e-01  
RADI step:    3 pc: -5.497231e+00 + 0.000000e+00i normalized residual: 1.316995e+00 relative change in Z: 2.227786e-01  
RADI step:    4 pc: -1.745645e+01 + 0.000000e+00i normalized residual: 1.614942e-01 relative change in Z: 2.542126e-01  
RADI step:    5 pc: -1.475179e+02 + 0.000000e+00i normalized residual: 5.332963e-01 relative change in Z: 3.744294e-01  
RADI step:    6 pc: -3.532981e+00 + 0.000000e+00i normalized residual: 1.829156e-02 relative change in Z: 4.056707e-02  
RADI step:    7 pc: -1.001036e+02 + 0.000000e+00i normalized residual: 1.602762e-01 relative change in Z: 1.154291e-01  
RADI step:    8 pc: -3.826466e+00 + 0.000000e+00i normalized residual: 4.557826e-03 relative change in Z: 1.765230e-02  
RADI step:    9 pc: -5.244362e+01 + 0.000000e+00i normalized residual: 7.123442e-02 relative change in Z: 5.294890e-02  
RADI step:   10 pc: -1.392239e+00 + 0.000000e+00i normalized residual: 1.241795e-02 relative change in Z: 7.932451e-03  
RADI step:   11 pc: -4.202935e+02 + 0.000000e+00i normalized residual: 9.836905e-04 relative change in Z: 6.592878e-02  
RADI step:   12 pc: -7.170597e+00 + 0.000000e+00i normalized residual: 3.040621e-04 relative change in Z: 2.073538e-03  
RADI step:   13 pc: -1.645406e+02 + 0.000000e+00i normalized residual: 5.821948e-04 relative change in Z: 6.711727e-03  
RADI step:   14 pc: -9.886868e+00 + 0.000000e+00i normalized residual: 1.804123e-04 relative change in Z: 9.917149e-04  
RADI step:   15 pc: -5.328698e+02 + 0.000000e+00i normalized residual: 2.869270e-04 relative change in Z: 3.308892e-03  
RADI step:   16 pc: -9.408190e-01 + 0.000000e+00i normalized residual: 1.034411e-07 relative change in Z: 2.640874e-04  
RADI step:   17 pc: -6.720344e+01 + 0.000000e+00i normalized residual: 1.160447e-07 relative change in Z: 2.513812e-04  
RADI step:   18 pc: -2.574280e+00 + 0.000000e+00i normalized residual: 4.249571e-08 relative change in Z: 5.282381e-05  
RADI step:   19 pc: -1.815519e+01 + 0.000000e+00i normalized residual: 5.483114e-08 relative change in Z: 9.294723e-05  
RADI step:   20 pc: -5.332399e+02 + 0.000000e+00i normalized residual: 8.103456e-09 relative change in Z: 1.718662e-04  
RADI step:   21 pc: -9.333080e-01 + 0.000000e+00i normalized residual: 3.650330e-09 relative change in Z: 6.546430e-06  
RADI step:   22 pc: -8.826733e+01 + 0.000000e+00i normalized residual: 8.228052e-10 relative change in Z: 4.103932e-05  
RADI step:   23 pc: -2.607340e+00 + 0.000000e+00i normalized residual: 8.835002e-10 relative change in Z: 5.009073e-06  
RADI step:   24 pc: -3.332515e+01 + 0.000000e+00i normalized residual: 5.360374e-10 relative change in Z: 1.546609e-05  
RADI step:   25 pc: -1.150575e+00 + 0.000000e+00i normalized residual: 5.325012e-10 relative change in Z: 2.542785e-06  
RADI step:   26 pc: -3.652409e+02 + 0.000000e+00i normalized residual: 7.900598e-12 relative change in Z: 2.023381e-05  
RADI step:   27 pc: -4.788423e+00 + 0.000000e+00i normalized residual: 7.753466e-12 relative change in Z: 5.966322e-07  
RADI step:   28 pc: -2.288054e+02 + 0.000000e+00i normalized residual: 3.892969e-14 relative change in Z: 2.181354e-06  
RI step:    1 normalized residual: 4.636841e-06 relative change in Z: 1.000000e+00  
               number of RADI steps:   28  
  
RADI step:    1 pc: -7.688741e+00 + 0.000000e+00i normalized residual: 3.181174e-01 relative change in Z: 1.000000e+00  
RADI step:    2 pc: -5.580018e+00 + 0.000000e+00i normalized residual: 3.319889e-01 relative change in Z: 3.550507e-01  
RADI step:    3 pc: -1.954643e+01 + 0.000000e+00i normalized residual: 1.724826e-01 relative change in Z: 2.626078e-01  
RADI step:    4 pc: -1.414668e+01 + 0.000000e+00i normalized residual: 1.571876e-01 relative change in Z: 1.360868e-01  
RADI step:    5 pc: -3.544179e+00 + 0.000000e+00i normalized residual: 4.696063e-02 relative change in Z: 7.570594e-02  
RADI step:    6 pc: -3.113386e+00 + 0.000000e+00i normalized residual: 1.870108e-02 relative change in Z: 4.901522e-02  
RADI step:    7 pc: -1.413676e+01 + 0.000000e+00i normalized residual: 1.060852e-02 relative change in Z: 8.547286e-02  
RADI step:    8 pc: -1.205275e+00 + 0.000000e+00i normalized residual: 1.762168e-03 relative change in Z: 2.309101e-02  
RADI step:    9 pc: -1.318703e+02 + 0.000000e+00i normalized residual: 1.850820e-04 relative change in Z: 1.309452e-01  
RADI step:   10 pc: -3.286629e+00 + 0.000000e+00i normalized residual: 4.058840e-04 relative change in Z: 1.037635e-02  
RADI step:   11 pc: -3.654591e+01 + 0.000000e+00i normalized residual: 1.467600e-04 relative change in Z: 2.914022e-02  
RADI step:   12 pc: -1.806297e+01 + 0.000000e+00i normalized residual: 3.017488e-04 relative change in Z: 1.662654e-02  
RADI step:   13 pc: -9.338250e-01 + 0.000000e+00i normalized residual: 1.783422e-04 relative change in Z: 3.576103e-03  
RADI step:   14 pc: -3.349619e+02 + 0.000000e+00i normalized residual: 3.586247e-06 relative change in Z: 3.457103e-02  
RADI step:   15 pc: -4.423508e+00 + 0.000000e+00i normalized residual: 3.404342e-06 relative change in Z: 1.192779e-03  
RADI step:   16 pc: -6.225008e+01 + 0.000000e+00i normalized residual: 2.185598e-06 relative change in Z: 3.601887e-03  
RADI step:   17 pc: -2.709216e+01 + 0.000000e+00i normalized residual: 1.827849e-06 relative change in Z: 1.827931e-03  
RADI step:   18 pc: -9.326921e-01 + 0.000000e+00i normalized residual: 1.824198e-06 relative change in Z: 3.175920e-04  
RADI step:   19 pc: -5.108341e+02 + 0.000000e+00i normalized residual: 1.266186e-08 relative change in Z: 3.614215e-03  
RADI step:   20 pc: -2.653194e+00 + 0.000000e+00i normalized residual: 1.186828e-08 relative change in Z: 7.460783e-05  
RADI step:   21 pc: -1.367315e+02 + 0.000000e+00i normalized residual: 9.404712e-10 relative change in Z: 3.219098e-04  
RADI step:   22 pc: -4.371259e+01 + 0.000000e+00i normalized residual: 5.939735e-10 relative change in Z: 6.824308e-05  
RADI step:   23 pc: -9.326882e-01 + 0.000000e+00i normalized residual: 5.902466e-10 relative change in Z: 8.363559e-06  
RADI step:   24 pc: -5.329753e+02 + 0.000000e+00i normalized residual: 2.471687e-11 relative change in Z: 7.369497e-05  
RADI step:   25 pc: -3.099004e+00 + 0.000000e+00i normalized residual: 2.382874e-11 relative change in Z: 4.635439e-06  
RADI step:   26 pc: -1.276391e+02 + 0.000000e+00i normalized residual: 2.767832e-12 relative change in Z: 1.918254e-05  
RADI step:   27 pc: -3.620489e+01 + 0.000000e+00i normalized residual: 1.543843e-12 relative change in Z: 4.479469e-06  
RADI step:   28 pc: -1.145505e+00 + 0.000000e+00i normalized residual: 1.509754e-12 relative change in Z: 6.861210e-07  
RADI step:   29 pc: -5.342974e+02 + 0.000000e+00i normalized residual: 1.868621e-13 relative change in Z: 5.003293e-06  
RI step:    2 normalized residual: 9.619236e-17 relative change in Z: 2.606653e-07  
               number of RADI steps:   29  
  
mess_lrri took   2.77 seconds   

Test of the solution.

Partitioning of the system.

A = eqn.A_(one, one);
J = eqn.A_(one, two);
G = eqn.A_(two, one);
E = eqn.E_(one, one);
B1 = eqn.B1;
B2 = eqn.B2;
C1 = eqn.C1;

% Compute projection matrices (not recommended for large-scale case).
Pi_l = eye(eqn.manifold_dim) - J * ((G * (E \ J)) \ (G / E));
Pi_r = eye(eqn.manifold_dim) - (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);
mess_fprintf(opts, '\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);
mess_fprintf(opts, 'RADI   -> set tolerance vs. real residual: %e | %e\n', ...
             opts.ri.res_tol, relerrradi);

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