We now look for a nearby matrix with a Jordan structure to the Frank matrix, a matrix whose Jordan structure is known to be very difficult.
>> !cp examples/jordan/*.m . >> A = frank(12); >> evs = sort(eig(A)); eigvs = [mean(evs(1:4)) mean(evs(5:6))]; >> parameters(A,eigvs,[4; 2],'bundle') 1 Jordan block of order 4 of eigenvalue 0.076352 1 Jordan block of order 2 of eigenvalue 0.464128 >> Y0 = guess; >> [fn,Yn] = sg_min(Y0,'dog','euclidean'); iter grad F(Y) flops step type 0 1.775900e-02 9.122159e-06 16257 none invdgrad: max iterations reached inverting the Hessian by MINRES 1 1.011261e-03 4.121994e-07 4638811 good dog invdgrad: max iterations reached inverting the Hessian by MINRES 2 4.250874e-04 3.523843e-07 9274101 good dog invdgrad: max iterations reached inverting the Hessian by MINRES 3 2.146629e-03 1.696542e-07 13936305 good dog invdgrad: max iterations reached inverting the Hessian by MINRES 4 5.260491e-04 5.326314e-08 18553494 good dog invdgrad: max iterations reached inverting the Hessian by MINRES 5 4.861126e-04 7.545415e-09 23231554 good dog invdgrad: max iterations reached inverting the Hessian by MINRES 6 4.228777e-05 3.014858e-09 27846197 good dog invdgrad: max iterations reached inverting the Hessian by MINRES 7 2.954536e-06 2.924391e-09 32508118 good dog 8 2.868836e-08 2.924238e-09 37207124 good dog 9 2.093780e-09 2.924238e-09 38384200 good dog 10 2.479121e-09 2.924238e-09 39163025 good dog 11 1.713240e-09 2.924238e-09 39921924 bad dog
Figure 9.2 shows the convergence curve for this run.