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