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