Contents
function LQR_rail(k,shifts,inexact,Galerkin,istest)
% Computes the optimal feedback via the low-rank Newton-ADI [1] and RADI % [2] methods for the selective cooling of Steel profiles application % described in [3,4,5]. % % Usage: LQR_Rail(k,shifts,inexact,Galerkin,istest) % % Inputs: % % k refinement level of the model to use % (0 - 5, i.e. 109 - 79841 Dofs) % (optional, defaults to 2, i.e. 1357 Dofs) % % shifts ADI shift selection strategy. Possible values: % 'heur' Penzl's heuristic shifts % 'Wachspress' Wachspress shifts, optimally solving the dense % shift selection problem. % (optional, defaults to 'heur') % % inexact use inexact Newton method % (optional, defaults to 0, i.e. false) % % Galerkin activate Galerkin projection acceleration in Newton method. % This supersedes inexact Newton selection, i.e, disables it in % case both are on. % (optional, defaults to 0, i.e. no Galerkin acceleration) % % istest flag to determine whether this demo runs as a CI test or % interactive demo % (optional, defaults to 0, i.e. interactive demo) % % References: % [1] P. Benner, J.-R. Li, T. Penzl, Numerical solution of large-scale % Lyapunov equations, Riccati equations, and linear-quadratic optimal % control problems, Numer. Lin. Alg. Appl. 15 (9) (2008) 755–777. % https://doi.org/10.1002/nla.622 % % [2] P. Benner, Z. Bujanović, P. Kürschner, J. Saak, RADI: A low-rank % ADI-type algorithm for large scale algebraic Riccati equations, % Numer. Math. 138 (2) (2018) 301–330. % https://doi.org/10.1007/s00211-017-0907-5 % % [3] J. Saak, Effiziente numerische Lösung eines % Optimalsteuerungsproblems für die Abkühlung von Stahlprofilen, % Diplomarbeit, Fachbereich 3/Mathematik und Informatik, Universität % Bremen, D-28334 Bremen (Sep. 2003). % https://doi.org/10.5281/zenodo.1187040 % % [4] P. Benner, J. Saak, A semi-discretized heat transfer model for % optimal cooling of steel profiles, in: P. Benner, V. Mehrmann, D. % Sorensen (Eds.), Dimension Reduction of Large-Scale Systems, Vol. 45 % of Lect. Notes Comput. Sci. Eng., Springer-Verlag, Berlin/Heidelberg, % Germany, 2005, pp. 353–356. https://doi.org/10.1007/3-540-27909-1_19 % % [5] J. Saak, Efficient numerical solution of large scale algebraic matrix % equations in PDE control and model order reduction, Dissertation, % Technische Universität Chemnitz, Chemnitz, Germany (Jul. 2009). % URL http://nbn-resolving.de/urn:nbn:de:bsz:ch1-200901642 % % % This file is part of the M-M.E.S.S. project % (http://www.mpi-magdeburg.mpg.de/projects/mess). % Copyright © 2009-2022 Jens Saak, Martin Koehler, Peter Benner and others. % All rights reserved. % License: BSD 2-Clause License (see COPYING) %
narginchk(0,5); if nargin<1, k=2; end if nargin<2, shifts='heur'; end if nargin<3, inexact=0; end if nargin<4, Galerkin=0; end if nargin<5, istest=0; end
set operation
oper = operatormanager('default');
Problem data
eqn=mess_get_linear_rail(k);
First we run the Newton-ADI Method
% ADI tolerances and maximum iteration number opts.adi.maxiter = 100; opts.adi.res_tol = 1e-14; opts.adi.rel_diff_tol = 1e-16; opts.adi.info = 1; eqn.type = 'T';
%Heuristic shift parameters via basic Arnoldi opts.shifts.num_desired=25; opts.shifts.num_Ritz=50; opts.shifts.num_hRitz=25; n=oper.size(eqn, opts); opts.shifts.b0=ones(n,1); switch lower(shifts) case 'heur' opts.shifts.method = 'heur'; case 'wachspress' opts.shifts.method = 'wachspress'; opts.shifts.wachspress = 'T'; end
Newton tolerances and maximum iteration number
opts.nm.maxiter = 8; opts.nm.res_tol = 1e-10; opts.nm.rel_diff_tol = 1e-16; opts.nm.info = 1; opts.nm.accumulateRes = 1; opts.norm = 'fro'; if Galerkin opts.nm.linesearch = 0; opts.nm.inexact = 0; opts.nm.projection.freq=2; opts.nm.projection.ortho=1; elseif inexact opts.nm.linesearch = 1; opts.nm.inexact = 'quadratic'; opts.nm.projection.freq=0; opts.nm.projection.ortho=0; else opts.nm.linesearch = 0; opts.nm.inexact = 0; opts.nm.projection.freq=0; opts.nm.projection.ortho=0; end opts.nm.res=struct('maxiter',10,'tol',1e-6,'orth',0);
t_mess_lrnm = tic; outnm = mess_lrnm(eqn, opts, oper); t_elapsed1 = toc(t_mess_lrnm); fprintf(1,'mess_lrnm took %6.2f seconds \n' , t_elapsed1); if istest if min(outnm.res)>=opts.nm.res_tol error('MESS:TEST:accuracy','unexpectedly inaccurate result'); end else figure(1); disp(outnm.res); semilogy(outnm.res,'LineWidth',3); title('0= C^TC + A^T X M + M^TXA -M^TXBB^T X M'); xlabel('number of iterations'); ylabel('normalized residual norm'); pause(1); end disp('size outnm.Z:'); disp(size(outnm.Z));
ADI step: 1 normalized residual: 8.798717e-01 relative change in Z: 1.000000e+00 normalized outer residual: 8.798716e-01 ADI step: 2 normalized residual: 7.681639e-01 relative change in Z: 6.801309e-01 normalized outer residual: 7.681638e-01 ADI step: 3 normalized residual: 6.541966e-01 relative change in Z: 5.513119e-01 normalized outer residual: 6.541962e-01 ADI step: 4 normalized residual: 5.392809e-01 relative change in Z: 4.694506e-01 normalized outer residual: 5.392801e-01 ADI step: 5 normalized residual: 4.252802e-01 relative change in Z: 4.095090e-01 normalized outer residual: 4.252788e-01 ADI step: 6 normalized residual: 3.254585e-01 relative change in Z: 3.491357e-01 normalized outer residual: 3.254563e-01 ADI step: 7 normalized residual: 2.370696e-01 relative change in Z: 3.125751e-01 normalized outer residual: 2.370661e-01 ADI step: 8 normalized residual: 1.480505e-01 relative change in Z: 3.139988e-01 normalized outer residual: 1.480451e-01 ADI step: 9 normalized residual: 9.724878e-02 relative change in Z: 2.544873e-01 normalized outer residual: 9.724159e-02 ADI step: 10 normalized residual: 6.397794e-02 relative change in Z: 2.195765e-01 normalized outer residual: 6.396909e-02 ADI step: 11 normalized residual: 3.488421e-02 relative change in Z: 2.167150e-01 normalized outer residual: 3.487345e-02 ADI step: 12 normalized residual: 1.318338e-02 relative change in Z: 2.111119e-01 normalized outer residual: 1.317275e-02 ADI step: 13 normalized residual: 4.708713e-03 relative change in Z: 1.765635e-01 normalized outer residual: 4.702190e-03 ADI step: 14 normalized residual: 2.234807e-03 relative change in Z: 1.346802e-01 normalized outer residual: 2.230098e-03 ADI step: 15 normalized residual: 7.754380e-04 relative change in Z: 1.128388e-01 normalized outer residual: 7.724806e-04 ADI step: 16 normalized residual: 3.933989e-04 relative change in Z: 6.253186e-02 normalized outer residual: 3.932079e-04 ADI step: 17 normalized residual: 2.776729e-04 relative change in Z: 4.768086e-02 normalized outer residual: 2.793949e-04 ADI step: 18 normalized residual: 2.090779e-04 relative change in Z: 5.549394e-02 normalized outer residual: 2.115997e-04 ADI step: 19 normalized residual: 1.679729e-04 relative change in Z: 5.325733e-02 normalized outer residual: 1.707113e-04 ADI step: 20 normalized residual: 1.237168e-04 relative change in Z: 5.909578e-02 normalized outer residual: 1.267006e-04 ADI step: 21 normalized residual: 8.109693e-05 relative change in Z: 5.893471e-02 normalized outer residual: 8.492049e-05 ADI step: 22 normalized residual: 3.186350e-05 relative change in Z: 6.728979e-02 normalized outer residual: 4.460694e-05 ADI step: 23 normalized residual: 5.963682e-07 relative change in Z: 5.911083e-02 normalized outer residual: 3.956753e-05 ADI step: 24 normalized residual: 1.431414e-07 relative change in Z: 1.531810e-02 normalized outer residual: 3.962417e-05 ADI step: 25 normalized residual: 1.409976e-07 relative change in Z: 1.005224e-03 normalized outer residual: 3.962377e-05 ADI step: 26 normalized residual: 1.345585e-07 relative change in Z: 6.139024e-05 normalized outer residual: 3.962379e-05 ADI step: 27 normalized residual: 1.270898e-07 relative change in Z: 6.560745e-05 normalized outer residual: 3.962382e-05 ADI step: 28 normalized residual: 1.176820e-07 relative change in Z: 7.288393e-05 normalized outer residual: 3.962386e-05 ADI step: 29 normalized residual: 1.060327e-07 relative change in Z: 7.991251e-05 normalized outer residual: 3.962392e-05 ADI step: 30 normalized residual: 9.186680e-08 relative change in Z: 8.678308e-05 normalized outer residual: 3.962399e-05 ADI step: 31 normalized residual: 7.649342e-08 relative change in Z: 9.003189e-05 normalized outer residual: 3.962409e-05 ADI step: 32 normalized residual: 5.919861e-08 relative change in Z: 9.679658e-05 normalized outer residual: 3.962420e-05 ADI step: 33 normalized residual: 3.604682e-08 relative change in Z: 1.162086e-04 normalized outer residual: 3.962438e-05 ADI step: 34 normalized residual: 2.017143e-08 relative change in Z: 1.027865e-04 normalized outer residual: 3.962454e-05 ADI step: 35 normalized residual: 1.113342e-08 relative change in Z: 8.492447e-05 normalized outer residual: 3.962472e-05 ADI step: 36 normalized residual: 5.497048e-09 relative change in Z: 7.650150e-05 normalized outer residual: 3.962509e-05 ADI step: 37 normalized residual: 1.989369e-09 relative change in Z: 7.124317e-05 normalized outer residual: 3.962563e-05 ADI step: 38 normalized residual: 5.271695e-10 relative change in Z: 5.598915e-05 normalized outer residual: 3.962586e-05 ADI step: 39 normalized residual: 2.114299e-10 relative change in Z: 3.657037e-05 normalized outer residual: 3.962589e-05 ADI step: 40 normalized residual: 5.357956e-11 relative change in Z: 3.061995e-05 normalized outer residual: 3.962590e-05 ADI step: 41 normalized residual: 8.693504e-12 relative change in Z: 1.675816e-05 normalized outer residual: 3.962591e-05 ADI step: 42 normalized residual: 6.114539e-13 relative change in Z: 6.985059e-06 normalized outer residual: 3.962591e-05 ADI step: 43 normalized residual: 1.033099e-13 relative change in Z: 2.195184e-06 normalized outer residual: 3.962591e-05 ADI step: 44 normalized residual: 8.226569e-14 relative change in Z: 6.987444e-07 normalized outer residual: 3.962591e-05 ADI step: 45 normalized residual: 7.788207e-14 relative change in Z: 1.095378e-07 normalized outer residual: 3.962591e-05 ADI step: 46 normalized residual: 7.529463e-14 relative change in Z: 6.403615e-08 normalized outer residual: 3.962591e-05 ADI step: 47 normalized residual: 7.427213e-14 relative change in Z: 3.681614e-08 normalized outer residual: 3.962591e-05 ADI step: 48 normalized residual: 7.401907e-14 relative change in Z: 1.783548e-08 normalized outer residual: 3.962591e-05 ADI step: 49 normalized residual: 7.386120e-14 relative change in Z: 1.397683e-08 normalized outer residual: 3.962591e-05 ADI step: 50 normalized residual: 7.372336e-14 relative change in Z: 1.298795e-08 normalized outer residual: 3.962591e-05 ADI step: 51 normalized residual: 7.172884e-14 relative change in Z: 3.572976e-08 normalized outer residual: 3.962591e-05 ADI step: 52 normalized residual: 6.918064e-14 relative change in Z: 4.011973e-08 normalized outer residual: 3.962591e-05 ADI step: 53 normalized residual: 6.559292e-14 relative change in Z: 4.723484e-08 normalized outer residual: 3.962591e-05 ADI step: 54 normalized residual: 6.055569e-14 relative change in Z: 5.550548e-08 normalized outer residual: 3.962591e-05 ADI step: 55 normalized residual: 5.361378e-14 relative change in Z: 6.474854e-08 normalized outer residual: 3.962591e-05 ADI step: 56 normalized residual: 4.525978e-14 relative change in Z: 7.094517e-08 normalized outer residual: 3.962591e-05 ADI step: 57 normalized residual: 3.507972e-14 relative change in Z: 7.873134e-08 normalized outer residual: 3.962591e-05 ADI step: 58 normalized residual: 2.037117e-14 relative change in Z: 9.609922e-08 normalized outer residual: 3.962591e-05 ADI step: 59 normalized residual: 9.829623e-15 relative change in Z: 8.398273e-08 normalized outer residual: 3.962591e-05 NM step: 1 normalized residual: 3.962591e-05 relative change in K: 1.000000e+00 number of ADI steps: 59 ADI step: 1 normalized residual: 8.798824e-01 relative change in Z: 1.000000e+00 normalized outer residual: 8.798711e-01 ADI step: 2 normalized residual: 7.681736e-01 relative change in Z: 6.801311e-01 normalized outer residual: 7.681626e-01 ADI step: 3 normalized residual: 6.541850e-01 relative change in Z: 5.513449e-01 normalized outer residual: 6.541744e-01 ADI step: 4 normalized residual: 5.392443e-01 relative change in Z: 4.694744e-01 normalized outer residual: 5.392345e-01 ADI step: 5 normalized residual: 4.253226e-01 relative change in Z: 4.093730e-01 normalized outer residual: 4.253138e-01 ADI step: 6 normalized residual: 2.863901e-01 relative change in Z: 4.023989e-01 normalized outer residual: 2.863828e-01 ADI step: 7 normalized residual: 1.916399e-01 relative change in Z: 3.201883e-01 normalized outer residual: 1.916339e-01 ADI step: 8 normalized residual: 1.298063e-01 relative change in Z: 2.683418e-01 normalized outer residual: 1.298018e-01 ADI step: 9 normalized residual: 7.752161e-02 relative change in Z: 2.653546e-01 normalized outer residual: 7.751904e-02 ADI step: 10 normalized residual: 4.038556e-02 relative change in Z: 2.391443e-01 normalized outer residual: 4.038430e-02 ADI step: 11 normalized residual: 1.884921e-02 relative change in Z: 2.013239e-01 normalized outer residual: 1.884803e-02 ADI step: 12 normalized residual: 9.017937e-03 relative change in Z: 1.622718e-01 normalized outer residual: 9.016186e-03 ADI step: 13 normalized residual: 3.966042e-03 relative change in Z: 1.531260e-01 normalized outer residual: 3.963541e-03 ADI step: 14 normalized residual: 2.013027e-03 relative change in Z: 1.234523e-01 normalized outer residual: 2.009660e-03 ADI step: 15 normalized residual: 7.495820e-04 relative change in Z: 1.053221e-01 normalized outer residual: 7.431147e-04 ADI step: 16 normalized residual: 3.978491e-04 relative change in Z: 6.084972e-02 normalized outer residual: 3.882593e-04 ADI step: 17 normalized residual: 2.858161e-04 relative change in Z: 4.802487e-02 normalized outer residual: 2.757089e-04 ADI step: 18 normalized residual: 2.134930e-04 relative change in Z: 5.616672e-02 normalized outer residual: 2.051086e-04 ADI step: 19 normalized residual: 1.698005e-04 relative change in Z: 5.375264e-02 normalized outer residual: 1.637781e-04 ADI step: 20 normalized residual: 1.208253e-04 relative change in Z: 5.903882e-02 normalized outer residual: 1.173571e-04 ADI step: 21 normalized residual: 7.646179e-05 relative change in Z: 5.790813e-02 normalized outer residual: 7.481069e-05 ADI step: 22 normalized residual: 2.679451e-05 relative change in Z: 6.415463e-02 normalized outer residual: 2.644641e-05 ADI step: 23 normalized residual: 4.383253e-07 relative change in Z: 5.216159e-02 normalized outer residual: 4.313083e-07 ADI step: 24 normalized residual: 9.846742e-08 relative change in Z: 1.353105e-02 normalized outer residual: 1.030650e-07 ADI step: 25 normalized residual: 9.723114e-08 relative change in Z: 1.020858e-03 normalized outer residual: 1.020871e-07 ADI step: 26 normalized residual: 8.548678e-08 relative change in Z: 9.198885e-05 normalized outer residual: 9.097185e-08 ADI step: 27 normalized residual: 7.421179e-08 relative change in Z: 8.625917e-05 normalized outer residual: 8.046915e-08 ADI step: 28 normalized residual: 6.215738e-08 relative change in Z: 8.273026e-05 normalized outer residual: 6.950853e-08 ADI step: 29 normalized residual: 4.916074e-08 relative change in Z: 7.859440e-05 normalized outer residual: 5.817789e-08 ADI step: 30 normalized residual: 3.563669e-08 relative change in Z: 7.562607e-05 normalized outer residual: 4.730581e-08 ADI step: 31 normalized residual: 1.990497e-08 relative change in Z: 7.998825e-05 normalized outer residual: 3.693236e-08 ADI step: 32 normalized residual: 1.133895e-08 relative change in Z: 5.979124e-05 normalized outer residual: 3.310960e-08 ADI step: 33 normalized residual: 7.377379e-09 relative change in Z: 4.514626e-05 normalized outer residual: 3.196840e-08 ADI step: 34 normalized residual: 4.898328e-09 relative change in Z: 4.665625e-05 normalized outer residual: 3.148852e-08 ADI step: 35 normalized residual: 3.056176e-09 relative change in Z: 5.034008e-05 normalized outer residual: 3.125877e-08 ADI step: 36 normalized residual: 1.642784e-09 relative change in Z: 4.877778e-05 normalized outer residual: 3.115618e-08 ADI step: 37 normalized residual: 8.224809e-10 relative change in Z: 4.206366e-05 normalized outer residual: 3.112573e-08 ADI step: 38 normalized residual: 3.575864e-10 relative change in Z: 3.944338e-05 normalized outer residual: 3.111782e-08 ADI step: 39 normalized residual: 1.773802e-10 relative change in Z: 3.114967e-05 normalized outer residual: 3.111646e-08 ADI step: 40 normalized residual: 4.794812e-11 relative change in Z: 2.826642e-05 normalized outer residual: 3.111617e-08 ADI step: 41 normalized residual: 7.983327e-12 relative change in Z: 1.578922e-05 normalized outer residual: 3.111622e-08 ADI step: 42 normalized residual: 5.357383e-13 relative change in Z: 6.746870e-06 normalized outer residual: 3.111624e-08 ADI step: 43 normalized residual: 3.737043e-14 relative change in Z: 2.122966e-06 normalized outer residual: 3.111624e-08 ADI step: 44 normalized residual: 2.163060e-14 relative change in Z: 6.736378e-07 normalized outer residual: 3.111624e-08 ADI step: 45 normalized residual: 2.053684e-14 relative change in Z: 8.952945e-08 normalized outer residual: 3.111624e-08 ADI step: 46 normalized residual: 2.015168e-14 relative change in Z: 4.326623e-08 normalized outer residual: 3.111624e-08 ADI step: 47 normalized residual: 2.002192e-14 relative change in Z: 2.230818e-08 normalized outer residual: 3.111624e-08 ADI step: 48 normalized residual: 1.998874e-14 relative change in Z: 1.077611e-08 normalized outer residual: 3.111624e-08 ADI step: 49 normalized residual: 1.996883e-14 relative change in Z: 8.219421e-09 normalized outer residual: 3.111624e-08 ADI step: 50 normalized residual: 1.995194e-14 relative change in Z: 7.489150e-09 normalized outer residual: 3.111624e-08 ADI step: 51 normalized residual: 1.728807e-14 relative change in Z: 4.756142e-08 normalized outer residual: 3.111624e-08 ADI step: 52 normalized residual: 1.471105e-14 relative change in Z: 4.484615e-08 normalized outer residual: 3.111624e-08 ADI step: 53 normalized residual: 1.196460e-14 relative change in Z: 4.304788e-08 normalized outer residual: 3.111624e-08 ADI step: 54 normalized residual: 9.033776e-15 relative change in Z: 4.074502e-08 normalized outer residual: 3.111624e-08 NM step: 2 normalized residual: 3.111624e-08 relative change in K: 2.196831e-02 number of ADI steps: 54 ADI step: 1 normalized residual: 8.798824e-01 relative change in Z: 1.000000e+00 normalized outer residual: 8.798711e-01 ADI step: 2 normalized residual: 7.681737e-01 relative change in Z: 6.801311e-01 normalized outer residual: 7.681626e-01 ADI step: 3 normalized residual: 6.541861e-01 relative change in Z: 5.513430e-01 normalized outer residual: 6.541756e-01 ADI step: 4 normalized residual: 5.392468e-01 relative change in Z: 4.694732e-01 normalized outer residual: 5.392369e-01 ADI step: 5 normalized residual: 4.253224e-01 relative change in Z: 4.093779e-01 normalized outer residual: 4.253135e-01 ADI step: 6 normalized residual: 2.864038e-01 relative change in Z: 4.023819e-01 normalized outer residual: 2.863964e-01 ADI step: 7 normalized residual: 1.916529e-01 relative change in Z: 3.201896e-01 normalized outer residual: 1.916469e-01 ADI step: 8 normalized residual: 1.298532e-01 relative change in Z: 2.682626e-01 normalized outer residual: 1.298487e-01 ADI step: 9 normalized residual: 7.754162e-02 relative change in Z: 2.654090e-01 normalized outer residual: 7.753902e-02 ADI step: 10 normalized residual: 4.037890e-02 relative change in Z: 2.392252e-01 normalized outer residual: 4.037765e-02 ADI step: 11 normalized residual: 1.884619e-02 relative change in Z: 2.013111e-01 normalized outer residual: 1.884504e-02 ADI step: 12 normalized residual: 9.011795e-03 relative change in Z: 1.623132e-01 normalized outer residual: 9.010131e-03 ADI step: 13 normalized residual: 3.963165e-03 relative change in Z: 1.531151e-01 normalized outer residual: 3.960825e-03 ADI step: 14 normalized residual: 2.011726e-03 relative change in Z: 1.234123e-01 normalized outer residual: 2.008616e-03 ADI step: 15 normalized residual: 7.481879e-04 relative change in Z: 1.053041e-01 normalized outer residual: 7.422667e-04 ADI step: 16 normalized residual: 3.967876e-04 relative change in Z: 6.078988e-02 normalized outer residual: 3.880616e-04 ADI step: 17 normalized residual: 2.849258e-04 relative change in Z: 4.794939e-02 normalized outer residual: 2.757995e-04 ADI step: 18 normalized residual: 2.128129e-04 relative change in Z: 5.607138e-02 normalized outer residual: 2.053622e-04 ADI step: 19 normalized residual: 1.693695e-04 relative change in Z: 5.366471e-02 normalized outer residual: 1.641404e-04 ADI step: 20 normalized residual: 1.206795e-04 relative change in Z: 5.896885e-02 normalized outer residual: 1.178078e-04 ADI step: 21 normalized residual: 7.652504e-05 relative change in Z: 5.788594e-02 normalized outer residual: 7.527815e-05 ADI step: 22 normalized residual: 2.696059e-05 relative change in Z: 6.422553e-02 normalized outer residual: 2.678413e-05 ADI step: 23 normalized residual: 4.450015e-07 relative change in Z: 5.243003e-02 normalized outer residual: 4.449110e-07 ADI step: 24 normalized residual: 9.899780e-08 relative change in Z: 1.363141e-02 normalized outer residual: 9.899779e-08 ADI step: 25 normalized residual: 9.775030e-08 relative change in Z: 1.019709e-03 normalized outer residual: 9.775030e-08 ADI step: 26 normalized residual: 8.598374e-08 relative change in Z: 9.201739e-05 normalized outer residual: 8.598374e-08 ADI step: 27 normalized residual: 7.466890e-08 relative change in Z: 8.632931e-05 normalized outer residual: 7.466890e-08 ADI step: 28 normalized residual: 6.255219e-08 relative change in Z: 8.286155e-05 normalized outer residual: 6.255219e-08 ADI step: 29 normalized residual: 4.947234e-08 relative change in Z: 7.879603e-05 normalized outer residual: 4.947234e-08 ADI step: 30 normalized residual: 3.585305e-08 relative change in Z: 7.587378e-05 normalized outer residual: 3.585305e-08 ADI step: 31 normalized residual: 2.001011e-08 relative change in Z: 8.025666e-05 normalized outer residual: 2.001011e-08 ADI step: 32 normalized residual: 1.138397e-08 relative change in Z: 5.997676e-05 normalized outer residual: 1.138396e-08 ADI step: 33 normalized residual: 7.399582e-09 relative change in Z: 4.523760e-05 normalized outer residual: 7.399582e-09 ADI step: 34 normalized residual: 4.909741e-09 relative change in Z: 4.672713e-05 normalized outer residual: 4.909741e-09 ADI step: 35 normalized residual: 3.062714e-09 relative change in Z: 5.041379e-05 normalized outer residual: 3.062713e-09 ADI step: 36 normalized residual: 1.645789e-09 relative change in Z: 4.882441e-05 normalized outer residual: 1.645788e-09 ADI step: 37 normalized residual: 8.224009e-10 relative change in Z: 4.209475e-05 normalized outer residual: 8.224006e-10 ADI step: 38 normalized residual: 3.564813e-10 relative change in Z: 3.941523e-05 normalized outer residual: 3.564811e-10 ADI step: 39 normalized residual: 1.766530e-10 relative change in Z: 3.107889e-05 normalized outer residual: 1.766528e-10 ADI step: 40 normalized residual: 4.768273e-11 relative change in Z: 2.820145e-05 normalized outer residual: 4.768283e-11 NM step: 3 normalized residual: 4.768283e-11 relative change in K: 6.069980e-05 number of ADI steps: 40 mess_lrnm took 1.18 seconds 1.0e-04 * 0.3963 0.0003 0.0000 size outnm.Z: 1357 128

Lets try the RADI method and compare
% RADI-MESS settings opts.shifts.history = opts.shifts.num_desired*size(eqn.C,1); opts.shifts.num_desired = opts.shifts.num_desired; % choose either of the three shift methods, here opts.shifts.method = 'gen-ham-opti'; %opts.shifts.method = 'heur'; %opts.shifts.method = 'projection'; opts.shifts.naive_update_mode = false; % .. Suggest false (smart update is faster; convergence is the same). opts.radi.compute_sol_fac = 1; opts.radi.get_ZZt = 1; opts.radi.maxiter = opts.adi.maxiter; opts.norm = 2; opts.radi.res_tol = opts.nm.res_tol; opts.radi.rel_diff_tol = 0; opts.radi.info = 1; t_mess_lrradi = tic; outradi = mess_lrradi(eqn, opts, oper); t_elapsed2 = toc(t_mess_lrradi); fprintf(1,'mess_lrradi took %6.2f seconds \n', t_elapsed2); if istest if min(outnm.res)>=opts.nm.res_tol error('MESS:TEST:accuracy','unexpectedly inaccurate result'); end else figure(2); semilogy(outradi.res,'LineWidth',3); title('0= C^TC + A^T X M + M^TXA -M^TXBB^T X M'); xlabel('number of iterations'); ylabel('normalized residual norm'); end disp('size outradi.Z:'); disp(size(outradi.Z));
RADI step: 1 normalized residual: 3.554203e-01 RADI step: 2 normalized residual: 1.204906e-01 RADI step: 3 normalized residual: 1.075639e-01 RADI step: 4 normalized residual: 3.131546e-02 RADI step: 5 normalized residual: 9.608572e-03 RADI step: 6 normalized residual: 7.127521e-03 RADI step: 7 normalized residual: 1.141946e-03 RADI step: 8 normalized residual: 6.808772e-04 RADI step: 9 normalized residual: 5.115429e-04 RADI step: 10 normalized residual: 5.103771e-04 RADI step: 11 normalized residual: 5.095332e-04 RADI step: 12 normalized residual: 1.762591e-04 RADI step: 13 normalized residual: 1.490625e-04 RADI step: 14 normalized residual: 2.908057e-05 RADI step: 15 normalized residual: 1.542939e-05 RADI step: 16 normalized residual: 4.677597e-06 RADI step: 17 normalized residual: 4.403393e-06 RADI step: 18 normalized residual: 2.089934e-06 RADI step: 19 normalized residual: 7.897529e-07 RADI step: 20 normalized residual: 6.011825e-07 RADI step: 21 normalized residual: 5.967521e-07 RADI step: 22 normalized residual: 1.597695e-07 RADI step: 23 normalized residual: 1.475154e-07 RADI step: 24 normalized residual: 3.544115e-08 RADI step: 25 normalized residual: 3.528200e-08 RADI step: 26 normalized residual: 1.567964e-08 RADI step: 27 normalized residual: 1.491983e-08 RADI step: 28 normalized residual: 2.923635e-09 RADI step: 29 normalized residual: 1.639198e-09 RADI step: 30 normalized residual: 3.348054e-10 RADI step: 31 normalized residual: 3.248837e-10 RADI step: 32 normalized residual: 2.888544e-11 mess_lrradi took 1.05 seconds size outradi.Z: 1357 127

compare
if not(istest) figure(3); ls_nm=[outnm.adi.niter]; ls_radi=1:outradi.niter; semilogy(cumsum(ls_nm),outnm.res,'k--',ls_radi,outradi.res,'b-','LineWidth',3); title('0= C^TC + A^T X M + M^TXA -M^TXBB^T X M'); xlabel('number of solves with A+p*M'); ylabel('normalized residual norm'); legend('LR-NM','RADI'); end
