72. The Richardson Iteration#

also called simple iteration is the fixed point iteration

\[ x^{k+1} := x^k + \alpha \, (b - A x^k) \]

with an arbitrary starting value \(x^0 \in {\mathbb R}^n\), and a properly cosen damping parameter \(\alpha\). The misfit of the equation, \(r = b - A x^k\) is called residual.

The solution \(x^\ast\) is a fixed point of the iteration (since \(b - A x^\ast = 0\)).

If we define the error as

\[ e^k = x^k - x^\ast, \]

the error propagation from one step to the next is

\[\begin{align*} e^{k+1} & = x^{k+1} - x^\ast = x^k + \alpha (b - A x^k) - x^\ast \\ & = x^k - x^\ast + \alpha A (x^\ast - x^k) = (I - \alpha A) (x^k - x^\ast) \end{align*}\]

This means the new error is obtained from the old error by the error propagation matrix

\[ e^{k+1} = \underbrace{(I - \alpha A)}_{M} \, e^k \]

Two strategies to verify convergence are:

  • prove that the spectral radius

\[ \rho(I - \alpha A) := \max_{\lambda \in \sigma(I - \alpha A)} |\lambda| < 1 \]
  • find some norm \(\| \cdot \|\) such that the matrix norm (=operator norm)

\[ \| I - \alpha A \| := \sup_{x \in {\mathbb R}^n} \frac{ \| (I - \alpha A) x \| }{ \| x \| } < 1 \]

The first one, \(\rho < 1\), only provides asymptotic convergence. This is easily proven if A is diagonizable, i.e. it features a full set of eigenvectors \(z^j\) and eigenvalues \(\lambda_j\). Expand the initial error as

\[ e^0 = \sum_j e^0_j z^j, \]

then

\[ e^k = \sum_j (1-\alpha \lambda_j)^k e^0_j z^j \]

and

\[ \| e^k \| \leq \rho^k \sum_j | e^0_j | \| z^j \| \]

This means \(\| e^k \| \leq C \rho^k\), but the error does not have to decrease monotonically.

However, if \(\| I - \alpha A \| < 1\), then

\[ \| e^{k+1} \| \leq \| I - \alpha A \| \, \| e^k \|, \]

proves that the error decreases in every iteration step. Note that the matrix norm is the operator norm generated by the vector norm.

Some facts:

  • If the norm \(\| \cdot \|\) is generated by an inner product \(\left< \cdot, \cdot \right>\) (parallelogram identity), and \(M\) is some self adjoint matrix with respect to this inner product, i.e.

    \[ \left< M x, y \right> = \left< x, M y \right>, \]

    then \(\rho(M) = \| M \|\)

  • If \(\left< \cdot , \cdot \right>\) is the Euklidean inner product, then \(M\) is self-adjoint exactly when \(M\) is symmetric.

  • The spectral radius is bounded by every operator norm. There exists some norm such that the operator norm is arbitrary close to the spectral radius, i.e.

    \[ \rho(M) = \inf_{ \text{norms} \| \cdot \| } \| M \| \]

72.1. Optimizing the relaxation parameter \(\alpha\)#

Let \(A\) be SPD, and let \(\sigma(A) = \{ \lambda_i \in {\mathbb R} \}\) with \(0 < \lambda_1 \leq \lambda_2 \ldots \leq \lambda_n\).

Then the eigenvalues of the error propagation matrix \(M = I - \alpha A\) are \(\{ 1 - \alpha \lambda_i \}\).

Whenever we choose

\[ 0 < \alpha < \frac{2}{\lambda_n} \]

we obtain \(\rho(M) < 1\), and a convergent iteration.

The spectral radius of \(M\) is

\[ \rho(M) = \max_i \{ | 1 - \alpha \lambda_i| \} = \max \{ 1 - \alpha \lambda_1, - (1-\alpha \lambda_n) \} \]

The maximum is minimized if we choose \(\alpha\) optimally such that

\[ 1 - \alpha \lambda_1 = - (1 - \alpha \lambda_n), \]

i.e.

\[ \alpha_{\text{opt}} = \frac{2}{\lambda_1 + \lambda_n} \]

leading to the optimal rate of convergence

\[ \rho_{\text{opt}} = \frac{\lambda_n - \lambda_1}{\lambda_n+\lambda_1} \approx 1 - 2 \frac{\lambda_1}{\lambda_n} = 1 - \frac{2}{\kappa(A)} \]

with the condition number \(\kappa(A) = \lambda_n(A) / \lambda_1(A)\).

After \(N\) iterations, the error is reduced by

\[ \left(1 - \frac{1}{\kappa}\right)^N. \]

To obtain an error reduction by by a factor of \(\varepsilon\) one needs

\[ N = \frac{\log \varepsilon}{\log (1-1/\kappa)} \approx \kappa \, | \log \varepsilon | \]

72.2. Experiments with the Richardson iteration#

from ngsolve import *
mesh = Mesh(unit_square.GenerateMesh(maxh=0.1))
fes = H1(mesh, order=1)
u,v = fes.TnT()
a = BilinearForm(grad(u)*grad(v)*dx+10*u*v*dx).Assemble()
f = LinearForm(x*y*v*dx).Assemble()
gfu = GridFunction(fes)

we determine (an approximation to) the largest eigenvalue by a few steps of the power iteration:

hv = gfu.vec.CreateVector()
hv2 = gfu.vec.CreateVector()
hv.SetRandom()
hv.data /= Norm(hv)
for k in range(20):
    hv2.data = a.mat * hv
    rho = Norm(hv2)
    print (rho)
    hv.data = 1/rho * hv2
1.7956752990680338
4.448900761214395
4.691753672693137
4.814352226978437
4.898245924316241
4.961884348845643
5.011768153572898
5.051348606027109
5.082967519865576
5.1083784321502765
5.128937157167869
5.145700503692558
5.159492305023506
5.170953469301783
5.180581597168563
5.188762568457179
5.195795581626075
5.201912825655762
5.20729480460904
5.212082195607958

Run the Richardson iteration:

alpha = 1 / rho
r = f.vec.CreateVector()
gfu.vec[:] = 0
err0 = Norm(f.vec)
its = 0
errhist = []
while True:
    r.data = f.vec - a.mat * gfu.vec
    err = Norm(r)
    print ("iteration", its, "res=", err)
    errhist.append (err)
    gfu.vec.data += alpha * r
    if err < 1e-8 * err0 or its > 10000: break
    its = its+1
print ("needed", its, "iterations")
iteration 0 res= 0.02974211765794692
iteration 1 res= 0.028315523074329833
iteration 2 res= 0.027410842175647522
iteration 3 res= 0.026686352908694286
iteration 4 res= 0.02605354778036957
iteration 5 res= 0.025474574374679673
iteration 6 res= 0.024931283632543395
iteration 7 res= 0.024414250705698613
iteration 8 res= 0.023918188335835474
iteration 9 res= 0.023439891145440477
iteration 10 res= 0.022977263391911276
iteration 11 res= 0.02252883553082078
iteration 12 res= 0.02209351174170106
iteration 13 res= 0.02167043155414069
iteration 14 res= 0.021258890368765174
iteration 15 res= 0.020858291715411852
iteration 16 res= 0.02046811734348254
iteration 17 res= 0.020087907739980797
iteration 18 res= 0.01971724897913322
iteration 19 res= 0.019355763553309795
iteration 20 res= 0.019003103789169966
iteration 21 res= 0.01865894699243924
iteration 22 res= 0.018322991779705176
iteration 23 res= 0.017994955245204867
iteration 24 res= 0.01767457072797152
iteration 25 res= 0.01736158601934315
iteration 26 res= 0.017055761899451082
iteration 27 res= 0.016756870923679827
iteration 28 res= 0.016464696402088225
iteration 29 res= 0.01617903153000453
iteration 30 res= 0.015899678638718388
iteration 31 res= 0.015626448542843247
iteration 32 res= 0.015359159966462567
iteration 33 res= 0.015097639034237173
iteration 34 res= 0.014841718816667147
iteration 35 res= 0.014591238920965869
iteration 36 res= 0.01434604512072099
iteration 37 res= 0.014105989018833337
iteration 38 res= 0.013870927739243541
iteration 39 res= 0.013640723643751601
iteration 40 res= 0.013415244070862429
iteration 41 res= 0.013194361094089788
iteration 42 res= 0.012977951297551641
iteration 43 res= 0.012765895567014494
iteration 44 res= 0.012558078894809354
iteration 45 res= 0.012354390197259415
iteration 46 res= 0.0121547221434405
iteration 47 res= 0.011958970994245996
iteration 48 res= 0.011767036450854718
iteration 49 res= 0.01157882151180759
iteration 50 res= 0.011394232337990156
iteration 51 res= 0.011213178124896332
iteration 52 res= 0.01103557098161611
iteration 53 res= 0.01086132581604804
iteration 54 res= 0.010690360225888162
iteration 55 res= 0.0105225943949912
iteration 56 res= 0.010357950994738508
iteration 57 res= 0.010196355090081538
iteration 58 res= 0.010037734049959545
iteration 59 res= 0.009882017461817013
iteration 60 res= 0.009729137049970023
iteration 61 res= 0.00957902659759177
iteration 62 res= 0.00943162187210645
iteration 63 res= 0.009286860553797623
iteration 64 res= 0.00914468216745215
iteration 65 res= 0.009005028016874708
iteration 66 res= 0.008867841122120142
iteration 67 res= 0.008733066159301757
iteration 68 res= 0.008600649402844286
iteration 69 res= 0.008470538670058644
iteration 70 res= 0.008342683267924778
iteration 71 res= 0.008217033941975723
iteration 72 res= 0.008093542827183131
iteration 73 res= 0.007972163400751166
iteration 74 res= 0.00785285043673079
iteration 75 res= 0.007735559962372405
iteration 76 res= 0.007620249216139159
iteration 77 res= 0.007506876607308029
iteration 78 res= 0.007395401677089779
iteration 79 res= 0.007285785061202624
iteration 80 res= 0.007177988453838204
iteration 81 res= 0.007071974572961421
iteration 82 res= 0.006967707126888932
iteration 83 res= 0.0068651507820937825
iteration 84 res= 0.0067642711321864776
iteration 85 res= 0.006665034668024815
iteration 86 res= 0.006567408748907632
iteration 87 res= 0.006471361574809355
iteration 88 res= 0.0063768621596142555
iteration 89 res= 0.0062838803053114995
iteration 90 res= 0.006192386577113453
iteration 91 res= 0.006102352279461678
iteration 92 res= 0.006013749432886288
iteration 93 res= 0.005926550751686317
iteration 94 res= 0.005840729622399467
iteration 95 res= 0.005756260083031563
iteration 96 res= 0.005673116803016881
iteration 97 res= 0.005591275063881841
iteration 98 res= 0.005510710740585726
iteration 99 res= 0.0054314002835130675
iteration 100 res= 0.0053533207010933665
iteration 101 res= 0.0052764495430249175
iteration 102 res= 0.005200764884080136
iteration 103 res= 0.005126245308471082
iteration 104 res= 0.00505286989475429
iteration 105 res= 0.004980618201255226
iteration 106 res= 0.0049094702519929204
iteration 107 res= 0.004839406523086855
iteration 108 res= 0.0047704079296280195
iteration 109 res= 0.004702455812997286
iteration 110 res= 0.004635531928614874
iteration 111 res= 0.004569618434104862
iteration 112 res= 0.004504697877859927
iteration 113 res= 0.004440753187991515
iteration 114 res= 0.004377767661651467
iteration 115 res= 0.0043157249547117315
iteration 116 res= 0.004254609071788941
iteration 117 res= 0.004194404356601538
iteration 118 res= 0.004135095482647261
iteration 119 res= 0.004076667444189602
iteration 120 res= 0.004019105547541827
iteration 121 res= 0.003962395402637919
iteration 122 res= 0.003906522914880215
iteration 123 res= 0.0038514742772535683
iteration 124 res= 0.003797235962696573
iteration 125 res= 0.0037437947167205878
iteration 126 res= 0.003691137550267643
iteration 127 res= 0.0036392517327986876
iteration 128 res= 0.003588124785603924
iteration 129 res= 0.0035377444753272353
iteration 130 res= 0.003488098807697223
iteration 131 res= 0.0034391760214572452
iteration 132 res= 0.003390964582487553
iteration 133 res= 0.003343453178112618
iteration 134 res= 0.0032966307115871057
iteration 135 res= 0.0032504862967541446
iteration 136 res= 0.0032050092528697147
iteration 137 res= 0.003160189099587527
iteration 138 res= 0.003116015552098299
iteration 139 res= 0.003072478516418594
iteration 140 res= 0.003029568084823295
iteration 141 res= 0.002987274531417232
iteration 142 res= 0.002945588307840723
iteration 143 res= 0.002904500039104571
iteration 144 res= 0.002864000519549906
iteration 145 res= 0.0028240807089284594
iteration 146 res= 0.0027847317285992117
iteration 147 res= 0.0027459448578374505
iteration 148 res= 0.002707711530251991
iteration 149 res= 0.0026700233303073207
iteration 150 res= 0.002632871989946613
iteration 151 res= 0.0025962493853125836
iteration 152 res= 0.002560147533562283
iteration 153 res= 0.002524558589773273
iteration 154 res= 0.0024894748439375424
iteration 155 res= 0.0024548887180404605
iteration 156 res= 0.0024207927632217833
iteration 157 res= 0.0023871796570160172
iteration 158 res= 0.002354042200669435
iteration 159 res= 0.0023213733165311098
iteration 160 res= 0.002289166045515667
iteration 161 res= 0.0022574135446350964
iteration 162 res= 0.002226109084597644
iteration 163 res= 0.0021952460474713676
iteration 164 res= 0.0021648179244101325
iteration 165 res= 0.002134818313440375
iteration 166 res= 0.0021052409173061668
iteration 167 res= 0.0020760795413710255
iteration 168 res= 0.0020473280915745116
iteration 169 res= 0.002018980572441813
iteration 170 res= 0.0019910310851446664
iteration 171 res= 0.0019634738256118496
iteration 172 res= 0.0019363030826879543
iteration 173 res= 0.001909513236338424
iteration 174 res= 0.0018830987558998633
iteration 175 res= 0.0018570541983739639
iteration 176 res= 0.0018313742067635904
iteration 177 res= 0.0018060535084499963
iteration 178 res= 0.001781086913609521
iteration 179 res= 0.0017564693136689225
iteration 180 res= 0.0017321956797978454
iteration 181 res= 0.0017082610614374385
iteration 182 res= 0.0016846605848640193
iteration 183 res= 0.0016613894517866516
iteration 184 res= 0.0016384429379776749
iteration 185 res= 0.0016158163919351772
iteration 186 res= 0.001593505233576355
iteration 187 res= 0.0015715049529611042
iteration 188 res= 0.0015498111090446118
iteration 189 res= 0.0015284193284582851
iteration 190 res= 0.0015073253043182886
iteration 191 res= 0.0014865247950606303
iteration 192 res= 0.0014660136233021089
iteration 193 res= 0.0014457876747266
iteration 194 res= 0.0014258428969956122
iteration 195 res= 0.001406175298682715
iteration 196 res= 0.0013867809482308554
iteration 197 res= 0.0013676559729323798
iteration 198 res= 0.0013487965579305366
iteration 199 res= 0.0013301989452423582
iteration 200 res= 0.0013118594328021408
iteration 201 res= 0.0012937743735248989
iteration 202 res= 0.0012759401743892452
iteration 203 res= 0.0012583532955394456
iteration 204 res= 0.0012410102494057379
iteration 205 res= 0.0012239075998425912
iteration 206 res= 0.0012070419612846086
iteration 207 res= 0.001190409997919305
iteration 208 res= 0.0011740084228764713
iteration 209 res= 0.0011578339974337177
iteration 210 res= 0.00114188353023771
iteration 211 res= 0.0011261538765406645
iteration 212 res= 0.0011106419374519126
iteration 213 res= 0.0010953446592037578
iteration 214 res= 0.0010802590324318184
iteration 215 res= 0.001065382091468879
iteration 216 res= 0.0010507109136523886
iteration 217 res= 0.0010362426186451216
iteration 218 res= 0.0010219743677684654
iteration 219 res= 0.0010079033633484853
iteration 220 res= 0.000994026848073895
iteration 221 res= 0.0009803421043661597
iteration 222 res= 0.0009668464537611202
iteration 223 res= 0.000953537256301915
iteration 224 res= 0.0009404119099430902
iteration 225 res= 0.000927467849965456
iteration 226 res= 0.0009147025484014691
iteration 227 res= 0.0009021135134710553
iteration 228 res= 0.0008896982890273583
iteration 229 res= 0.0008774544540124627
iteration 230 res= 0.0008653796219227064
iteration 231 res= 0.0008534714402833544
iteration 232 res= 0.0008417275901325724
iteration 233 res= 0.0008301457855142871
iteration 234 res= 0.0008187237729799078
iteration 235 res= 0.0008074593310986968
iteration 236 res= 0.0007963502699764032
iteration 237 res= 0.000785394430782293
iteration 238 res= 0.0007745896852841808
iteration 239 res= 0.0007639339353912823
iteration 240 res= 0.0007534251127049187
iteration 241 res= 0.0007430611780766196
iteration 242 res= 0.0007328401211737334
iteration 243 res= 0.0007227599600523393
iteration 244 res= 0.0007128187407370412
iteration 245 res= 0.000703014536807873
iteration 246 res= 0.0006933454489940485
iteration 247 res= 0.0006838096047742041
iteration 248 res= 0.0006744051579833437
iteration 249 res= 0.0006651302884261447
iteration 250 res= 0.0006559832014964314
iteration 251 res= 0.0006469621278029652
iteration 252 res= 0.0006380653228011725
iteration 253 res= 0.0006292910664307944
iteration 254 res= 0.000620637662759349
iteration 255 res= 0.00061210343963129
iteration 256 res= 0.000603686748322705
iteration 257 res= 0.0005953859632015506
iteration 258 res= 0.0005871994813932063
iteration 259 res= 0.0005791257224512458
iteration 260 res= 0.0005711631280335377
iteration 261 res= 0.000563310161583251
iteration 262 res= 0.0005555653080149196
iteration 263 res= 0.0005479270734053628
iteration 264 res= 0.0005403939846894724
iteration 265 res= 0.0005329645893605536
iteration 266 res= 0.0005256374551755312
iteration 267 res= 0.0005184111698643815
iteration 268 res= 0.0005112843408443743
iteration 269 res= 0.0005042555949383612
iteration 270 res= 0.0004973235780976221
iteration 271 res= 0.0004904869551287794
iteration 272 res= 0.00048374440942494824
iteration 273 res= 0.0004770946427009313
iteration 274 res= 0.000470536374732366
iteration 275 res= 0.0004640683430989626
iteration 276 res= 0.0004576893029314665
iteration 277 res= 0.00045139802666244205
iteration 278 res= 0.0004451933037808829
iteration 279 res= 0.00043907394059037843
iteration 280 res= 0.0004330387599710549
iteration 281 res= 0.00042708660114481857
iteration 282 res= 0.0004212163194443691
iteration 283 res= 0.0004154267860854548
iteration 284 res= 0.0004097168879425399
iteration 285 res= 0.00040408552732787813
iteration 286 res= 0.0003985316217737422
iteration 287 res= 0.0003930541038178998
iteration 288 res= 0.00038765192079231786
iteration 289 res= 0.0003823240346148249
iteration 290 res= 0.00037706942158399916
iteration 291 res= 0.000371887072176918
iteration 292 res= 0.00036677599084996784
iteration 293 res= 0.00036173519584250553
iteration 294 res= 0.0003567637189834118
iteration 295 res= 0.0003518606055004487
iteration 296 res= 0.0003470249138323727
iteration 297 res= 0.00034225571544383636
iteration 298 res= 0.0003375520946429079
iteration 299 res= 0.00033291314840126285
iteration 300 res= 0.00032833798617694766
iteration 301 res= 0.00032382572973983466
iteration 302 res= 0.00031937551299935366
iteration 303 res= 0.000314986481834931
iteration 304 res= 0.00031065779392879563
iteration 305 res= 0.0003063886186010778
iteration 306 res= 0.00030217813664752045
iteration 307 res= 0.0002980255401792292
iteration 308 res= 0.00029393003246500445
iteration 309 res= 0.0002898908277756472
iteration 310 res= 0.0002859071512307771
iteration 311 res= 0.000281978238647573
iteration 312 res= 0.0002781033363919083
iteration 313 res= 0.00027428170123139963
iteration 314 res= 0.00027051260019073385
iteration 315 res= 0.00026679531040890817
iteration 316 res= 0.0002631291189986039
iteration 317 res= 0.0002595133229074687
iteration 318 res= 0.00025594722878148363
iteration 319 res= 0.0002524301528301413
iteration 320 res= 0.0002489614206936301
iteration 321 res= 0.0002455403673118469
iteration 322 res= 0.00024216633679531238
iteration 323 res= 0.00023883868229783445
iteration 324 res= 0.00023555676589107158
iteration 325 res= 0.00023231995844078663
iteration 326 res= 0.00022912763948485545
iteration 327 res= 0.00022597919711308994
iteration 328 res= 0.00022287402784859796
iteration 329 res= 0.00021981153653095173
iteration 330 res= 0.00021679113620092907
iteration 331 res= 0.00021381224798692054
iteration 332 res= 0.00021087430099283637
iteration 333 res= 0.00020797673218777952
iteration 334 res= 0.00020511898629702412
iteration 335 res= 0.00020230051569474947
iteration 336 res= 0.00019952078029812246
iteration 337 res= 0.00019677924746292868
iteration 338 res= 0.0001940753918806743
iteration 339 res= 0.0001914086954771383
iteration 340 res= 0.00018877864731223603
iteration 341 res= 0.00018618474348148243
iteration 342 res= 0.00018362648701864706
iteration 343 res= 0.0001811033877998466
iteration 344 res= 0.0001786149624489968
iteration 345 res= 0.00017616073424457884
iteration 346 res= 0.00017374023302765528
iteration 347 res= 0.00017135299511121462
iteration 348 res= 0.000168998563190804
iteration 349 res= 0.00016667648625635052
iteration 350 res= 0.00016438631950522982
iteration 351 res= 0.00016212762425659415
iteration 352 res= 0.00015989996786680568
iteration 353 res= 0.00015770292364614483
iteration 354 res= 0.0001555360707766003
iteration 355 res= 0.000153398994230856
iteration 356 res= 0.0001512912846923413
iteration 357 res= 0.0001492125384764743
iteration 358 res= 0.00014716235745298453
iteration 359 res= 0.00014514034896921082
iteration 360 res= 0.00014314612577460858
iteration 361 res= 0.00014117930594623312
iteration 362 res= 0.00013923951281523983
iteration 363 res= 0.00013732637489447186
iteration 364 res= 0.0001354395258069982
iteration 365 res= 0.00013357860421564497
iteration 366 res= 0.00013174325375354127
iteration 367 res= 0.00012993312295558898
iteration 368 res= 0.00012814786519089072
iteration 369 res= 0.0001263871385961654
iteration 370 res= 0.00012465060600999609
iteration 371 res= 0.00012293793490808928
iteration 372 res= 0.00012124879733930423
iteration 373 res= 0.00011958286986273097
iteration 374 res= 0.00011793983348546948
iteration 375 res= 0.00011631937360145951
iteration 376 res= 0.00011472117993089234
iteration 377 res= 0.00011314494646081535
iteration 378 res= 0.00011159037138615583
iteration 379 res= 0.00011005715705197291
iteration 380 res= 0.00010854500989614187
iteration 381 res= 0.000107053640393076
iteration 382 res= 0.00010558276299811141
iteration 383 res= 0.00010413209609269955
iteration 384 res= 0.00010270136193037442
iteration 385 res= 0.00010129028658340466
iteration 386 res= 9.98985998902484e-05
iteration 387 res= 9.852603540368492e-05
iteration 388 res= 9.717233033971179e-05
iteration 389 res= 9.583722552709536e-05
iteration 390 res= 9.45204653576357e-05
iteration 391 res= 9.322179773720817e-05
iteration 392 res= 9.19409740372493e-05
iteration 393 res= 9.067774904721001e-05
iteration 394 res= 8.943188092742385e-05
iteration 395 res= 8.820313116279269e-05
iteration 396 res= 8.699126451692341e-05
iteration 397 res= 8.579604898714938e-05
iteration 398 res= 8.461725575996149e-05
iteration 399 res= 8.345465916709958e-05
iteration 400 res= 8.230803664237456e-05
iteration 401 res= 8.11771686788897e-05
iteration 402 res= 8.006183878700617e-05
iteration 403 res= 7.896183345282972e-05
iteration 404 res= 7.787694209726307e-05
iteration 405 res= 7.680695703563715e-05
iteration 406 res= 7.575167343788693e-05
iteration 407 res= 7.471088928931207e-05
iteration 408 res= 7.368440535182689e-05
iteration 409 res= 7.267202512577547e-05
iteration 410 res= 7.167355481226384e-05
iteration 411 res= 7.068880327604704e-05
iteration 412 res= 6.971758200881336e-05
iteration 413 res= 6.875970509314675e-05
iteration 414 res= 6.78149891668565e-05
iteration 415 res= 6.688325338782177e-05
iteration 416 res= 6.596431939936081e-05
iteration 417 res= 6.505801129603892e-05
iteration 418 res= 6.416415558992872e-05
iteration 419 res= 6.328258117750278e-05
iteration 420 res= 6.241311930663991e-05
iteration 421 res= 6.155560354442374e-05
iteration 422 res= 6.070986974525415e-05
iteration 423 res= 5.98757560193412e-05
iteration 424 res= 5.905310270171566e-05
iteration 425 res= 5.8241752321672265e-05
iteration 426 res= 5.744154957255584e-05
iteration 427 res= 5.665234128197446e-05
iteration 428 res= 5.587397638255004e-05
iteration 429 res= 5.510630588292769e-05
iteration 430 res= 5.434918283921399e-05
iteration 431 res= 5.360246232685851e-05
iteration 432 res= 5.28660014129065e-05
iteration 433 res= 5.213965912854191e-05
iteration 434 res= 5.142329644220869e-05
iteration 435 res= 5.071677623287515e-05
iteration 436 res= 5.001996326380935e-05
iteration 437 res= 4.9332724156658535e-05
iteration 438 res= 4.865492736595519e-05
iteration 439 res= 4.7986443153856565e-05
iteration 440 res= 4.7327143565346456e-05
iteration 441 res= 4.6676902403680316e-05
iteration 442 res= 4.603559520622855e-05
iteration 443 res= 4.5403099220737555e-05
iteration 444 res= 4.477929338164458e-05
iteration 445 res= 4.416405828703569e-05
iteration 446 res= 4.3557276175693415e-05
iteration 447 res= 4.29588309046074e-05
iteration 448 res= 4.2368607926721074e-05
iteration 449 res= 4.17864942689424e-05
iteration 450 res= 4.121237851055954e-05
iteration 451 res= 4.064615076190458e-05
iteration 452 res= 4.008770264329065e-05
iteration 453 res= 3.953692726428111e-05
iteration 454 res= 3.8993719203166894e-05
iteration 455 res= 3.8457974486872674e-05
iteration 456 res= 3.79295905709389e-05
iteration 457 res= 3.7408466320005056e-05
iteration 458 res= 3.689450198832634e-05
iteration 459 res= 3.638759920077451e-05
iteration 460 res= 3.5887660933918107e-05
iteration 461 res= 3.5394591497527506e-05
iteration 462 res= 3.490829651617686e-05
iteration 463 res= 3.4428682911205534e-05
iteration 464 res= 3.395565888293071e-05
iteration 465 res= 3.348913389301089e-05
iteration 466 res= 3.302901864714575e-05
iteration 467 res= 3.2575225077989435e-05
iteration 468 res= 3.2127666328263005e-05
iteration 469 res= 3.168625673411682e-05
iteration 470 res= 3.125091180878627e-05
iteration 471 res= 3.082154822634119e-05
iteration 472 res= 3.0398083805786505e-05
iteration 473 res= 2.998043749532844e-05
iteration 474 res= 2.9568529356807312e-05
iteration 475 res= 2.916228055046904e-05
iteration 476 res= 2.8761613319769555e-05
iteration 477 res= 2.8366450976608554e-05
iteration 478 res= 2.7976717886559725e-05
iteration 479 res= 2.7592339454418208e-05
iteration 480 res= 2.7213242109925206e-05
iteration 481 res= 2.6839353293700188e-05
iteration 482 res= 2.6470601443285914e-05
iteration 483 res= 2.6106915979525028e-05
iteration 484 res= 2.5748227292996332e-05
iteration 485 res= 2.539446673074001e-05
iteration 486 res= 2.504556658304414e-05
iteration 487 res= 2.4701460070543832e-05
iteration 488 res= 2.4362081331413285e-05
iteration 489 res= 2.402736540876462e-05
iteration 490 res= 2.3697248238186124e-05
iteration 491 res= 2.337166663552109e-05
iteration 492 res= 2.30505582847543e-05
iteration 493 res= 2.2733861726088263e-05
iteration 494 res= 2.2421516344125203e-05
iteration 495 res= 2.2113462356347832e-05
iteration 496 res= 2.1809640801639115e-05
iteration 497 res= 2.1509993528977585e-05
iteration 498 res= 2.1214463186327964e-05
iteration 499 res= 2.0922993209640892e-05
iteration 500 res= 2.0635527812072218e-05
iteration 501 res= 2.0352011973243236e-05
iteration 502 res= 2.0072391428746526e-05
iteration 503 res= 1.9796612659768636e-05
iteration 504 res= 1.952462288277464e-05
iteration 505 res= 1.9256370039507276e-05
iteration 506 res= 1.8991802786965872e-05
iteration 507 res= 1.8730870487562395e-05
iteration 508 res= 1.8473523199457097e-05
iteration 509 res= 1.8219711666983736e-05
iteration 510 res= 1.7969387311232552e-05
iteration 511 res= 1.7722502220772948e-05
iteration 512 res= 1.747900914242783e-05
iteration 513 res= 1.723886147227309e-05
iteration 514 res= 1.7002013246680412e-05
iteration 515 res= 1.676841913354895e-05
iteration 516 res= 1.6538034423658578e-05
iteration 517 res= 1.6310815021997474e-05
iteration 518 res= 1.608671743947409e-05
iteration 519 res= 1.5865698784456028e-05
iteration 520 res= 1.564771675466398e-05
iteration 521 res= 1.5432729629011974e-05
iteration 522 res= 1.5220696259625265e-05
iteration 523 res= 1.5011576064000944e-05
iteration 524 res= 1.4805329017218728e-05
iteration 525 res= 1.4601915644276485e-05
iteration 526 res= 1.4401297012520998e-05
iteration 527 res= 1.4203434724225752e-05
iteration 528 res= 1.4008290909238202e-05
iteration 529 res= 1.3815828217680814e-05
iteration 530 res= 1.3626009812903334e-05
iteration 531 res= 1.3438799364311088e-05
iteration 532 res= 1.3254161040503283e-05
iteration 533 res= 1.3072059502377703e-05
iteration 534 res= 1.2892459896362076e-05
iteration 535 res= 1.2715327847755757e-05
iteration 536 res= 1.2540629454140222e-05
iteration 537 res= 1.236833127892583e-05
iteration 538 res= 1.2198400344857686e-05
iteration 539 res= 1.2030804127834024e-05
iteration 540 res= 1.1865510550568645e-05
iteration 541 res= 1.1702487976526392e-05
iteration 542 res= 1.1541705203835396e-05
iteration 543 res= 1.1383131459279391e-05
iteration 544 res= 1.1226736392497831e-05
iteration 545 res= 1.1072490070102246e-05
iteration 546 res= 1.0920362969957407e-05
iteration 547 res= 1.0770325975566385e-05
iteration 548 res= 1.0622350370452333e-05
iteration 549 res= 1.0476407832691725e-05
iteration 550 res= 1.0332470429487766e-05
iteration 551 res= 1.0190510611836723e-05
iteration 552 res= 1.005050120921221e-05
iteration 553 res= 9.91241542438913e-06
iteration 554 res= 9.776226828362013e-06
iteration 555 res= 9.641909355189532e-06
iteration 556 res= 9.509437297093308e-06
iteration 557 res= 9.378785299480245e-06
iteration 558 res= 9.249928356147489e-06
iteration 559 res= 9.122841804400887e-06
iteration 560 res= 8.997501320449961e-06
iteration 561 res= 8.8738829146687e-06
iteration 562 res= 8.751962927012061e-06
iteration 563 res= 8.631718022580567e-06
iteration 564 res= 8.513125186992284e-06
iteration 565 res= 8.396161722131952e-06
iteration 566 res= 8.280805241684333e-06
iteration 567 res= 8.16703366696607e-06
iteration 568 res= 8.054825222580238e-06
iteration 569 res= 7.94415843236444e-06
iteration 570 res= 7.8350121151719e-06
iteration 571 res= 7.727365380912911e-06
iteration 572 res= 7.621197626469506e-06
iteration 573 res= 7.516488531819619e-06
iteration 574 res= 7.413218056147077e-06
iteration 575 res= 7.311366433940005e-06
iteration 576 res= 7.210914171261402e-06
iteration 577 res= 7.111842042028687e-06
iteration 578 res= 7.01413108426448e-06
iteration 579 res= 6.917762596575794e-06
iteration 580 res= 6.822718134465209e-06
iteration 581 res= 6.728979506876731e-06
iteration 582 res= 6.6365287726637194e-06
iteration 583 res= 6.545348237201027e-06
iteration 584 res= 6.455420448937443e-06
iteration 585 res= 6.366728196158377e-06
iteration 586 res= 6.279254503545001e-06
iteration 587 res= 6.192982629062653e-06
iteration 588 res= 6.107896060669359e-06
iteration 589 res= 6.023978513225437e-06
iteration 590 res= 5.941213925298137e-06
iteration 591 res= 5.8595864561205e-06
iteration 592 res= 5.779080482626883e-06
iteration 593 res= 5.699680596318089e-06
iteration 594 res= 5.621371600445931e-06
iteration 595 res= 5.544138507039576e-06
iteration 596 res= 5.467966534081841e-06
iteration 597 res= 5.392841102594967e-06
iteration 598 res= 5.318747833945106e-06
iteration 599 res= 5.245672547037219e-06
iteration 600 res= 5.1736012556074996e-06
iteration 601 res= 5.102520165565222e-06
iteration 602 res= 5.032415672332935e-06
iteration 603 res= 4.9632743582485296e-06
iteration 604 res= 4.895082990001085e-06
iteration 605 res= 4.827828516101396e-06
iteration 606 res= 4.761498064357539e-06
iteration 607 res= 4.696078939451168e-06
iteration 608 res= 4.631558620476784e-06
iteration 609 res= 4.567924758563753e-06
iteration 610 res= 4.505165174500594e-06
iteration 611 res= 4.443267856418581e-06
iteration 612 res= 4.382220957458106e-06
iteration 613 res= 4.32201279355107e-06
iteration 614 res= 4.262631841144873e-06
iteration 615 res= 4.20406673503597e-06
iteration 616 res= 4.14630626612767e-06
iteration 617 res= 4.089339379343828e-06
iteration 618 res= 4.033155171543706e-06
iteration 619 res= 3.977742889310151e-06
iteration 620 res= 3.923091927017895e-06
iteration 621 res= 3.86919182473513e-06
iteration 622 res= 3.816032266267512e-06
iteration 623 res= 3.7636030771172796e-06
iteration 624 res= 3.71189422260038e-06
iteration 625 res= 3.660895805916253e-06
iteration 626 res= 3.6105980661982686e-06
iteration 627 res= 3.560991376723551e-06
iteration 628 res= 3.5120662430136316e-06
iteration 629 res= 3.463813301050634e-06
iteration 630 res= 3.4162233154336305e-06
iteration 631 res= 3.3692871776920687e-06
iteration 632 res= 3.3229959045015813e-06
iteration 633 res= 3.2773406359217477e-06
iteration 634 res= 3.2323126337494496e-06
iteration 635 res= 3.1879032798831167e-06
iteration 636 res= 3.1441040745721575e-06
iteration 637 res= 3.1009066348664202e-06
iteration 638 res= 3.0583026929967562e-06
iteration 639 res= 3.0162840947818825e-06
iteration 640 res= 2.9748427980784953e-06
iteration 641 res= 2.9339708712085968e-06
iteration 642 res= 2.89366049152692e-06
iteration 643 res= 2.853903943783089e-06
iteration 644 res= 2.814693618811081e-06
iteration 645 res= 2.7760220119243286e-06
iteration 646 res= 2.7378817215805044e-06
iteration 647 res= 2.7002654479423812e-06
iteration 648 res= 2.6631659914077622e-06
iteration 649 res= 2.626576251343839e-06
iteration 650 res= 2.5904892246529526e-06
iteration 651 res= 2.554898004471734e-06
iteration 652 res= 2.519795778795417e-06
iteration 653 res= 2.485175829259252e-06
iteration 654 res= 2.4510315297654936e-06
iteration 655 res= 2.417356345279921e-06
iteration 656 res= 2.3841438305254625e-06
iteration 657 res= 2.3513876287934866e-06
iteration 658 res= 2.3190814707331234e-06
iteration 659 res= 2.287219173082758e-06
iteration 660 res= 2.255794637574766e-06
iteration 661 res= 2.2248018497117877e-06
iteration 662 res= 2.194234877618424e-06
iteration 663 res= 2.164087870949272e-06
iteration 664 res= 2.134355059697924e-06
iteration 665 res= 2.105030753170029e-06
iteration 666 res= 2.0761093388261588e-06
iteration 667 res= 2.047585281273978e-06
iteration 668 res= 2.0194531211449646e-06
iteration 669 res= 1.991707474082117e-06
iteration 670 res= 1.964343029696402e-06
iteration 671 res= 1.937354550595616e-06
iteration 672 res= 1.910736871305874e-06
iteration 673 res= 1.8844848973340027e-06
iteration 674 res= 1.8585936041936275e-06
iteration 675 res= 1.833058036442482e-06
iteration 676 res= 1.807873306659926e-06
iteration 677 res= 1.7830345946531105e-06
iteration 678 res= 1.7585371463963765e-06
iteration 679 res= 1.7343762731976364e-06
iteration 680 res= 1.710547350811855e-06
iteration 681 res= 1.6870458184868213e-06
iteration 682 res= 1.6638671781442963e-06
iteration 683 res= 1.6410069935234305e-06
iteration 684 res= 1.6184608892926782e-06
iteration 685 res= 1.596224550241645e-06
iteration 686 res= 1.5742937204616135e-06
iteration 687 res= 1.5526642024859626e-06
iteration 688 res= 1.531331856542912e-06
iteration 689 res= 1.5102925997151507e-06
iteration 690 res= 1.4895424052178241e-06
iteration 691 res= 1.4690773015519533e-06
iteration 692 res= 1.4488933718100165e-06
iteration 693 res= 1.4289867528748286e-06
iteration 694 res= 1.4093536347508964e-06
iteration 695 res= 1.3899902597436885e-06
iteration 696 res= 1.3708929217814924e-06
iteration 697 res= 1.352057965747212e-06
iteration 698 res= 1.3334817867318555e-06
iteration 699 res= 1.3151608293416554e-06
iteration 700 res= 1.2970915870460925e-06
iteration 701 res= 1.2792706014737654e-06
iteration 702 res= 1.2616944617779757e-06
iteration 703 res= 1.2443598039825515e-06
iteration 704 res= 1.2272633103295307e-06
iteration 705 res= 1.2104017086174213e-06
iteration 706 res= 1.1937717716297164e-06
iteration 707 res= 1.1773703164820084e-06
iteration 708 res= 1.161194204007716e-06
iteration 709 res= 1.145240338203072e-06
iteration 710 res= 1.1295056655675621e-06
iteration 711 res= 1.1139871745692467e-06
iteration 712 res= 1.0986818950368167e-06
iteration 713 res= 1.0835868976279029e-06
iteration 714 res= 1.0686992932246637e-06
iteration 715 res= 1.0540162324290298e-06
iteration 716 res= 1.0395349049971244e-06
iteration 717 res= 1.0252525392177282e-06
iteration 718 res= 1.011166401565346e-06
iteration 719 res= 9.972737960055163e-07
iteration 720 res= 9.835720635727922e-07
iteration 721 res= 9.700585818353643e-07
iteration 722 res= 9.567307643680844e-07
iteration 723 res= 9.435860602860818e-07
iteration 724 res= 9.30621953771071e-07
iteration 725 res= 9.178359635677189e-07
iteration 726 res= 9.05225642481371e-07
iteration 727 res= 8.927885769755884e-07
iteration 728 res= 8.805223866626383e-07
iteration 729 res= 8.684247238336984e-07
iteration 730 res= 8.56493273089252e-07
iteration 731 res= 8.447257507807357e-07
iteration 732 res= 8.331199046890856e-07
iteration 733 res= 8.216735134902866e-07
iteration 734 res= 8.103843864311542e-07
iteration 735 res= 7.992503628103648e-07
iteration 736 res= 7.882693116313131e-07
iteration 737 res= 7.774391311803948e-07
iteration 738 res= 7.667577486274225e-07
iteration 739 res= 7.562231195951519e-07
iteration 740 res= 7.458332278094533e-07
iteration 741 res= 7.355860847201666e-07
iteration 742 res= 7.254797290530035e-07
iteration 743 res= 7.155122265013862e-07
iteration 744 res= 7.056816693425752e-07
iteration 745 res= 6.959861760711115e-07
iteration 746 res= 6.864238910083353e-07
iteration 747 res= 6.769929839694957e-07
iteration 748 res= 6.676916499495534e-07
iteration 749 res= 6.585181086951244e-07
iteration 750 res= 6.494706044701668e-07
iteration 751 res= 6.405474055921332e-07
iteration 752 res= 6.31746804233173e-07
iteration 753 res= 6.230671159880186e-07
iteration 754 res= 6.145066796269033e-07
iteration 755 res= 6.060638566853438e-07
iteration 756 res= 5.977370313033323e-07
iteration 757 res= 5.895246097319718e-07
iteration 758 res= 5.814250201672253e-07
iteration 759 res= 5.734367123883148e-07
iteration 760 res= 5.655581574754693e-07
iteration 761 res= 5.57787847517935e-07
iteration 762 res= 5.501242952996463e-07
iteration 763 res= 5.425660340878632e-07
iteration 764 res= 5.351116172274719e-07
iteration 765 res= 5.277596180054449e-07
iteration 766 res= 5.205086292997377e-07
iteration 767 res= 5.133572632812229e-07
iteration 768 res= 5.063041512342942e-07
iteration 769 res= 4.993479432078307e-07
iteration 770 res= 4.924873078433326e-07
iteration 771 res= 4.857209320503717e-07
iteration 772 res= 4.790475207480968e-07
iteration 773 res= 4.7246579670980434e-07
iteration 774 res= 4.65974500215008e-07
iteration 775 res= 4.5957238886105585e-07
iteration 776 res= 4.532582373313546e-07
iteration 777 res= 4.4703083710549495e-07
iteration 778 res= 4.40888996300808e-07
iteration 779 res= 4.348315394185244e-07
iteration 780 res= 4.2885730706727105e-07
iteration 781 res= 4.2296515582177255e-07
iteration 782 res= 4.171539579468978e-07
iteration 783 res= 4.114226012216223e-07
iteration 784 res= 4.057699886783593e-07
iteration 785 res= 4.00195038440947e-07
iteration 786 res= 3.946966834883386e-07
iteration 787 res= 3.892738714831724e-07
iteration 788 res= 3.839255645128162e-07
iteration 789 res= 3.7865073893161035e-07
iteration 790 res= 3.7344838517945644e-07
iteration 791 res= 3.6831750753998855e-07
iteration 792 res= 3.632571239832806e-07
iteration 793 res= 3.582662659968393e-07
iteration 794 res= 3.533439783514639e-07
iteration 795 res= 3.484893189401684e-07
iteration 796 res= 3.4370135861158414e-07
iteration 797 res= 3.389791809557051e-07
iteration 798 res= 3.343218821995261e-07
iteration 799 res= 3.297285709626039e-07
iteration 800 res= 3.2519836807584633e-07
iteration 801 res= 3.207304064918974e-07
iteration 802 res= 3.1632383109280923e-07
iteration 803 res= 3.119777984490796e-07
iteration 804 res= 3.0769147677204536e-07
iteration 805 res= 3.0346404566701807e-07
iteration 806 res= 2.992946960452109e-07
iteration 807 res= 2.9518262989727527e-07
iteration 808 res= 2.91127060197297e-07
iteration 809 res= 2.8712721072740293e-07
iteration 810 res= 2.831823159500368e-07
iteration 811 res= 2.79291620834115e-07
iteration 812 res= 2.7545438069154676e-07
iteration 813 res= 2.7166986112072625e-07
iteration 814 res= 2.679373377825878e-07
iteration 815 res= 2.6425609626973794e-07
iteration 816 res= 2.60625432046131e-07
iteration 817 res= 2.5704465018664383e-07
iteration 818 res= 2.535130653762732e-07
iteration 819 res= 2.500300016615044e-07
iteration 820 res= 2.4659479241412505e-07
iteration 821 res= 2.4320678016306087e-07
iteration 822 res= 2.3986531644012435e-07
iteration 823 res= 2.3656976172150075e-07
iteration 824 res= 2.3331948524618315e-07
iteration 825 res= 2.3011386494338866e-07
iteration 826 res= 2.2695228725235466e-07
iteration 827 res= 2.238341470639586e-07
iteration 828 res= 2.2075884760544393e-07
iteration 829 res= 2.1772580024815873e-07
iteration 830 res= 2.1473442451657755e-07
iteration 831 res= 2.117841478485599e-07
iteration 832 res= 2.088744055878357e-07
iteration 833 res= 2.060046408245776e-07
iteration 834 res= 2.0317430429749966e-07
iteration 835 res= 2.003828543006036e-07
iteration 836 res= 1.976297565594483e-07
iteration 837 res= 1.949144841480855e-07
iteration 838 res= 1.9223651737713088e-07
iteration 839 res= 1.8959534368152337e-07
iteration 840 res= 1.8699045759210372e-07
iteration 841 res= 1.8442136050473178e-07
iteration 842 res= 1.818875607297657e-07
iteration 843 res= 1.793885733041347e-07
iteration 844 res= 1.769239199303403e-07
iteration 845 res= 1.7449312891786651e-07
iteration 846 res= 1.7209573497964506e-07
iteration 847 res= 1.6973127929579093e-07
iteration 848 res= 1.6739930930784257e-07
iteration 849 res= 1.650993786938887e-07
iteration 850 res= 1.6283104727068234e-07
iteration 851 res= 1.605938808689276e-07
iteration 852 res= 1.5838745132739276e-07
iteration 853 res= 1.5621133631968823e-07
iteration 854 res= 1.5406511938359275e-07
iteration 855 res= 1.5194838971425951e-07
iteration 856 res= 1.498607421968768e-07
iteration 857 res= 1.4780177726832662e-07
iteration 858 res= 1.4577110083756291e-07
iteration 859 res= 1.437683242447562e-07
iteration 860 res= 1.4179306418471782e-07
iteration 861 res= 1.3984494259649153e-07
iteration 862 res= 1.3792358662036097e-07
iteration 863 res= 1.3602862850662532e-07
iteration 864 res= 1.341597055866288e-07
iteration 865 res= 1.3231646014039378e-07
iteration 866 res= 1.3049853940133655e-07
iteration 867 res= 1.2870559541431299e-07
iteration 868 res= 1.269372850183054e-07
iteration 869 res= 1.2519326977123633e-07
iteration 870 res= 1.2347321588196066e-07
iteration 871 res= 1.217767941323583e-07
iteration 872 res= 1.201036798469105e-07
iteration 873 res= 1.1845355279110761e-07
iteration 874 res= 1.1682609714160612e-07
iteration 875 res= 1.152210014075458e-07
iteration 876 res= 1.136379583878647e-07
iteration 877 res= 1.1207666510181047e-07
iteration 878 res= 1.1053682271319834e-07
iteration 879 res= 1.090181364978928e-07
iteration 880 res= 1.0752031579870268e-07
iteration 881 res= 1.0604307395852179e-07
iteration 882 res= 1.0458612819916141e-07
iteration 883 res= 1.0314919971368875e-07
iteration 884 res= 1.0173201345490836e-07
iteration 885 res= 1.0033429816790807e-07
iteration 886 res= 9.895578637246975e-08
iteration 887 res= 9.759621420205265e-08
iteration 888 res= 9.625532145380201e-08
iteration 889 res= 9.493285147546725e-08
iteration 890 res= 9.3628551164479e-08
iteration 891 res= 9.234217088721998e-08
iteration 892 res= 9.107346442453208e-08
iteration 893 res= 8.982218896602567e-08
iteration 894 res= 8.858810500619308e-08
iteration 895 res= 8.737097636041496e-08
iteration 896 res= 8.617057007632026e-08
iteration 897 res= 8.498665639019465e-08
iteration 898 res= 8.381900873406225e-08
iteration 899 res= 8.266740360996993e-08
iteration 900 res= 8.153162058902952e-08
iteration 901 res= 8.04114423163307e-08
iteration 902 res= 7.930665437036461e-08
iteration 903 res= 7.821704532877173e-08
iteration 904 res= 7.71424066226727e-08
iteration 905 res= 7.608253257484617e-08
iteration 906 res= 7.503722035383636e-08
iteration 907 res= 7.400626986584763e-08
iteration 908 res= 7.298948379400162e-08
iteration 909 res= 7.198666754833949e-08
iteration 910 res= 7.09976291818609e-08
iteration 911 res= 7.002217939823003e-08
iteration 912 res= 6.906013148755061e-08
iteration 913 res= 6.811130133982537e-08
iteration 914 res= 6.717550736731428e-08
iteration 915 res= 6.625257042884367e-08
iteration 916 res= 6.534231389431823e-08
iteration 917 res= 6.444456354642378e-08
iteration 918 res= 6.35591475658727e-08
iteration 919 res= 6.268589647581184e-08
iteration 920 res= 6.182464315033788e-08
iteration 921 res= 6.097522274092465e-08
iteration 922 res= 6.013747268116727e-08
iteration 923 res= 5.931123263847961e-08
iteration 924 res= 5.849634445174112e-08
iteration 925 res= 5.769265216173688e-08
iteration 926 res= 5.690000195677042e-08
iteration 927 res= 5.6118242125742767e-08
iteration 928 res= 5.534722304045493e-08
iteration 929 res= 5.4586797121211655e-08
iteration 930 res= 5.383681884834191e-08
iteration 931 res= 5.309714466727463e-08
iteration 932 res= 5.236763300738726e-08
iteration 933 res= 5.164814423789034e-08
iteration 934 res= 5.093854065721601e-08
iteration 935 res= 5.0238686459851815e-08
iteration 936 res= 4.9548447702941143e-08
iteration 937 res= 4.886769225627127e-08
iteration 938 res= 4.819628984093517e-08
iteration 939 res= 4.753411194334228e-08
iteration 940 res= 4.688103183630812e-08
iteration 941 res= 4.623692451270183e-08
iteration 942 res= 4.560166670756158e-08
iteration 943 res= 4.497513684323499e-08
iteration 944 res= 4.4357214966138604e-08
iteration 945 res= 4.374778284382607e-08
iteration 946 res= 4.3146723828127433e-08
iteration 947 res= 4.255392285937742e-08
iteration 948 res= 4.196926650939042e-08
iteration 949 res= 4.139264286603403e-08
iteration 950 res= 4.082394154349409e-08
iteration 951 res= 4.026305373010949e-08
iteration 952 res= 3.970987207121857e-08
iteration 953 res= 3.916429066888301e-08
iteration 954 res= 3.862620510921282e-08
iteration 955 res= 3.809551240211115e-08
iteration 956 res= 3.7572110993411804e-08
iteration 957 res= 3.705590068837061e-08
iteration 958 res= 3.6546782690498294e-08
iteration 959 res= 3.6044659570055255e-08
iteration 960 res= 3.5549435215560785e-08
iteration 961 res= 3.506101484240894e-08
iteration 962 res= 3.457930495020287e-08
iteration 963 res= 3.410421337747203e-08
iteration 964 res= 3.363564916457091e-08
iteration 965 res= 3.3173522661039894e-08
iteration 966 res= 3.27177453839846e-08
iteration 967 res= 3.226823012568907e-08
iteration 968 res= 3.18248908455579e-08
iteration 969 res= 3.138764267205407e-08
iteration 970 res= 3.0956401951870296e-08
iteration 971 res= 3.053108611128666e-08
iteration 972 res= 3.011161378149839e-08
iteration 973 res= 2.9697904651577707e-08
iteration 974 res= 2.928987954782195e-08
iteration 975 res= 2.8887460381335765e-08
iteration 976 res= 2.8490570129782678e-08
iteration 977 res= 2.809913282837525e-08
iteration 978 res= 2.7713073556456228e-08
iteration 979 res= 2.733231842002208e-08
iteration 980 res= 2.6956794549358718e-08
iteration 981 res= 2.6586430081313818e-08
iteration 982 res= 2.6221154116416602e-08
iteration 983 res= 2.5860896744937203e-08
iteration 984 res= 2.5505589020810506e-08
iteration 985 res= 2.5155162937637426e-08
iteration 986 res= 2.480955141420751e-08
iteration 987 res= 2.4468688322695497e-08
iteration 988 res= 2.413250840996505e-08
iteration 989 res= 2.380094733222787e-08
iteration 990 res= 2.3473941636760532e-08
iteration 991 res= 2.3151428740681202e-08
iteration 992 res= 2.2833346908563155e-08
iteration 993 res= 2.2519635254418385e-08
iteration 994 res= 2.2210233759685583e-08
iteration 995 res= 2.1905083170126303e-08
iteration 996 res= 2.1604125116859914e-08
iteration 997 res= 2.1307301970457093e-08
iteration 998 res= 2.1014556933272555e-08
iteration 999 res= 2.072583399247498e-08
iteration 1000 res= 2.0441077852041042e-08
iteration 1001 res= 2.016023404407948e-08
iteration 1002 res= 1.988324878740525e-08
iteration 1003 res= 1.9610069089538715e-08
iteration 1004 res= 1.934064265915551e-08
iteration 1005 res= 1.9074917935399035e-08
iteration 1006 res= 1.881284405121477e-08
iteration 1007 res= 1.8554370838921893e-08
iteration 1008 res= 1.8299448851004696e-08
iteration 1009 res= 1.804802927823209e-08
iteration 1010 res= 1.780006401287035e-08
iteration 1011 res= 1.755550557607619e-08
iteration 1012 res= 1.7314307180782044e-08
iteration 1013 res= 1.70764226689353e-08
iteration 1014 res= 1.684180647878445e-08
iteration 1015 res= 1.661041373862165e-08
iteration 1016 res= 1.6382200125324833e-08
iteration 1017 res= 1.6157121995544838e-08
iteration 1018 res= 1.593513625303192e-08
iteration 1019 res= 1.5716200429890295e-08
iteration 1020 res= 1.5500272589058757e-08
iteration 1021 res= 1.5287311423528937e-08
iteration 1022 res= 1.5077276185552118e-08
iteration 1023 res= 1.4870126649549754e-08
iteration 1024 res= 1.4665823171826354e-08
iteration 1025 res= 1.4464326683285988e-08
iteration 1026 res= 1.4265598564692116e-08
iteration 1027 res= 1.4069600824566074e-08
iteration 1028 res= 1.3876295931521244e-08
iteration 1029 res= 1.3685646891753328e-08
iteration 1030 res= 1.3497617218728434e-08
iteration 1031 res= 1.3312170911824881e-08
iteration 1032 res= 1.3129272483674086e-08
iteration 1033 res= 1.2948886942405e-08
iteration 1034 res= 1.277097975239419e-08
iteration 1035 res= 1.2595516847568828e-08
iteration 1036 res= 1.2422464676774915e-08
iteration 1037 res= 1.2251790106502366e-08
iteration 1038 res= 1.2083460448557326e-08
iteration 1039 res= 1.1917443509672249e-08
iteration 1040 res= 1.175370751686568e-08
iteration 1041 res= 1.1592221117566454e-08
iteration 1042 res= 1.1432953401769533e-08
iteration 1043 res= 1.1275873912643786e-08
iteration 1044 res= 1.1120952556356904e-08
iteration 1045 res= 1.0968159694944652e-08
iteration 1046 res= 1.0817466086216224e-08
iteration 1047 res= 1.0668842887956969e-08
iteration 1048 res= 1.0522261642833315e-08
iteration 1049 res= 1.0377694309296993e-08
iteration 1050 res= 1.0235113218041585e-08
iteration 1051 res= 1.0094491081610007e-08
iteration 1052 res= 9.955800959468116e-09
iteration 1053 res= 9.819016339413737e-09
iteration 1054 res= 9.684111020480524e-09
iteration 1055 res= 9.551059202512336e-09
iteration 1056 res= 9.41983539667056e-09
iteration 1057 res= 9.290414512693373e-09
iteration 1058 res= 9.162771755192398e-09
iteration 1059 res= 9.036882711834327e-09
iteration 1060 res= 8.912723274012169e-09
iteration 1061 res= 8.790269700494604e-09
iteration 1062 res= 8.669498526513673e-09
iteration 1063 res= 8.550386658345834e-09
iteration 1064 res= 8.4329112850224e-09
iteration 1065 res= 8.317049926499982e-09
iteration 1066 res= 8.20278040915028e-09
iteration 1067 res= 8.090080875328715e-09
iteration 1068 res= 7.978929725877198e-09
iteration 1069 res= 7.869305704937035e-09
iteration 1070 res= 7.761187835174138e-09
iteration 1071 res= 7.654555424792147e-09
iteration 1072 res= 7.54938804180488e-09
iteration 1073 res= 7.445665566833718e-09
iteration 1074 res= 7.343368177647046e-09
iteration 1075 res= 7.2424762666737146e-09
iteration 1076 res= 7.142970521525175e-09
iteration 1077 res= 7.0448318988346594e-09
iteration 1078 res= 6.948041627199521e-09
iteration 1079 res= 6.852581180555624e-09
iteration 1080 res= 6.7584322804740845e-09
iteration 1081 res= 6.665576913766078e-09
iteration 1082 res= 6.573997293731076e-09
iteration 1083 res= 6.483675900724828e-09
iteration 1084 res= 6.394595459241093e-09
iteration 1085 res= 6.3067389091504954e-09
iteration 1086 res= 6.220089440885009e-09
iteration 1087 res= 6.134630462323265e-09
iteration 1088 res= 6.050345607732123e-09
iteration 1089 res= 5.967218775966888e-09
iteration 1090 res= 5.885234043123831e-09
iteration 1091 res= 5.804375697464095e-09
iteration 1092 res= 5.724628290895526e-09
iteration 1093 res= 5.645976545818384e-09
iteration 1094 res= 5.568405424836091e-09
iteration 1095 res= 5.491900037077236e-09
iteration 1096 res= 5.416445795958666e-09
iteration 1097 res= 5.3420282227507415e-09
iteration 1098 res= 5.268633095463936e-09
iteration 1099 res= 5.1962463458313255e-09
iteration 1100 res= 5.124854140373132e-09
iteration 1101 res= 5.054442809432531e-09
iteration 1102 res= 4.984998868844853e-09
iteration 1103 res= 4.916509026727359e-09
iteration 1104 res= 4.848960189067868e-09
iteration 1105 res= 4.782339415582198e-09
iteration 1106 res= 4.7166339448727095e-09
iteration 1107 res= 4.6518312303347455e-09
iteration 1108 res= 4.587918844820352e-09
iteration 1109 res= 4.5248845689998295e-09
iteration 1110 res= 4.462716319985976e-09
iteration 1111 res= 4.401402217647644e-09
iteration 1112 res= 4.340930532910021e-09
iteration 1113 res= 4.281289667448394e-09
iteration 1114 res= 4.222468225080945e-09
iteration 1115 res= 4.164454944361612e-09
iteration 1116 res= 4.1072387109440784e-09
iteration 1117 res= 4.050808588781358e-09
iteration 1118 res= 3.995153767474519e-09
iteration 1119 res= 3.940263595804976e-09
iteration 1120 res= 3.886127569791755e-09
iteration 1121 res= 3.83273533446297e-09
iteration 1122 res= 3.780076662289142e-09
iteration 1123 res= 3.728141472198836e-09
iteration 1124 res= 3.6769198434232496e-09
iteration 1125 res= 3.6264019576717673e-09
iteration 1126 res= 3.5765781335362466e-09
iteration 1127 res= 3.5274388649262574e-09
iteration 1128 res= 3.4789746989912544e-09
iteration 1129 res= 3.431176412435023e-09
iteration 1130 res= 3.3840348380620775e-09
iteration 1131 res= 3.3375409442559155e-09
iteration 1132 res= 3.2916858366707634e-09
iteration 1133 res= 3.2464607544411714e-09
iteration 1134 res= 3.20185701640442e-09
iteration 1135 res= 3.1578660947274213e-09
iteration 1136 res= 3.1144795853898352e-09
iteration 1137 res= 3.071689163842817e-09
iteration 1138 res= 3.0294866473975043e-09
iteration 1139 res= 2.98786396035351e-09
iteration 1140 res= 2.946813128879899e-09
iteration 1141 res= 2.906326312921551e-09
iteration 1142 res= 2.86639575404848e-09
iteration 1143 res= 2.8270138008684686e-09
iteration 1144 res= 2.7881729236898696e-09
iteration 1145 res= 2.749865690221446e-09
iteration 1146 res= 2.712084773076043e-09
iteration 1147 res= 2.67482292575374e-09
iteration 1148 res= 2.638073035428225e-09
iteration 1149 res= 2.601828051333945e-09
iteration 1150 res= 2.56608104233486e-09
iteration 1151 res= 2.5308251803984455e-09
iteration 1152 res= 2.4960536837939773e-09
iteration 1153 res= 2.461759935102699e-09
iteration 1154 res= 2.427937357377234e-09
iteration 1155 res= 2.3945794772264324e-09
iteration 1156 res= 2.3616798896013715e-09
iteration 1157 res= 2.3292323296073995e-09
iteration 1158 res= 2.297230564528598e-09
iteration 1159 res= 2.265668479439641e-09
iteration 1160 res= 2.2345400347809227e-09
iteration 1161 res= 2.2038392742993523e-09
iteration 1162 res= 2.173560312218078e-09
iteration 1163 res= 2.1436973564022294e-09
iteration 1164 res= 2.1142446998583604e-09
iteration 1165 res= 2.0851966894625983e-09
iteration 1166 res= 2.0565477676177174e-09
iteration 1167 res= 2.0282924756612993e-09
iteration 1168 res= 2.0004253862507363e-09
iteration 1169 res= 1.9729411628519188e-09
iteration 1170 res= 1.9458345541265103e-09
iteration 1171 res= 1.9191003622777862e-09
iteration 1172 res= 1.8927334941616805e-09
iteration 1173 res= 1.8667288714541835e-09
iteration 1174 res= 1.8410815328296521e-09
iteration 1175 res= 1.8157865664294941e-09
iteration 1176 res= 1.7908391227508154e-09
iteration 1177 res= 1.766234453974245e-09
iteration 1178 res= 1.7419678304298498e-09
iteration 1179 res= 1.7180346107522614e-09
iteration 1180 res= 1.6944302008399361e-09
iteration 1181 res= 1.6711501048505505e-09
iteration 1182 res= 1.6481898622687437e-09
iteration 1183 res= 1.6255450647095954e-09
iteration 1184 res= 1.6032113977710588e-09
iteration 1185 res= 1.5811845708510086e-09
iteration 1186 res= 1.5594603828450653e-09
iteration 1187 res= 1.5380346646190164e-09
iteration 1188 res= 1.5169033203791969e-09
iteration 1189 res= 1.496062301292538e-09
iteration 1190 res= 1.4755076200566074e-09
iteration 1191 res= 1.4552353471039174e-09
iteration 1192 res= 1.4352415865436047e-09
iteration 1193 res= 1.4155225382861335e-09
iteration 1194 res= 1.3960743990071075e-09
iteration 1195 res= 1.376893472830978e-09
iteration 1196 res= 1.3579760806659418e-09
iteration 1197 res= 1.3393185901943043e-09
iteration 1198 res= 1.3209174368972213e-09
iteration 1199 res= 1.3027690999003073e-09
iteration 1200 res= 1.2848701103604469e-09
iteration 1201 res= 1.2672170441103305e-09
iteration 1202 res= 1.2498065056018573e-09
iteration 1203 res= 1.2326351878065917e-09
iteration 1204 res= 1.2156997683938283e-09
iteration 1205 res= 1.1989970409922486e-09
iteration 1206 res= 1.1825238009470132e-09
iteration 1207 res= 1.1662768813921747e-09
iteration 1208 res= 1.1502531949919336e-09
iteration 1209 res= 1.1344496302303633e-09
iteration 1210 res= 1.1188632171403412e-09
iteration 1211 res= 1.1034909470615006e-09
iteration 1212 res= 1.088329890520765e-09
iteration 1213 res= 1.0733771059172907e-09
iteration 1214 res= 1.058629781795617e-09
iteration 1215 res= 1.0440850635700838e-09
iteration 1216 res= 1.0297401890608049e-09
iteration 1217 res= 1.0155923933842377e-09
iteration 1218 res= 1.0016389793743943e-09
iteration 1219 res= 9.878772652942522e-10
iteration 1220 res= 9.743046389129484e-10
iteration 1221 res= 9.609184832867373e-10
iteration 1222 res= 9.477162405364844e-10
iteration 1223 res= 9.346953929262571e-10
iteration 1224 res= 9.218534373172311e-10
iteration 1225 res= 9.091879177514704e-10
iteration 1226 res= 8.966964255127543e-10
iteration 1227 res= 8.843765347749792e-10
iteration 1228 res= 8.72225926431386e-10
iteration 1229 res= 8.602422442088333e-10
iteration 1230 res= 8.484232104216341e-10
iteration 1231 res= 8.367665665217973e-10
iteration 1232 res= 8.252700643269565e-10
iteration 1233 res= 8.139315271444288e-10
iteration 1234 res= 8.027487700817419e-10
iteration 1235 res= 7.917196533515586e-10
iteration 1236 res= 7.808420681895741e-10
iteration 1237 res= 7.70113937456317e-10
iteration 1238 res= 7.595331929789697e-10
iteration 1239 res= 7.490978217279541e-10
iteration 1240 res= 7.38805825978633e-10
iteration 1241 res= 7.286552374709478e-10
iteration 1242 res= 7.186441139990981e-10
iteration 1243 res= 7.087705232362404e-10
iteration 1244 res= 6.990325906208014e-10
iteration 1245 res= 6.894284530766281e-10
iteration 1246 res= 6.799562528394244e-10
iteration 1247 res= 6.706142233350342e-10
iteration 1248 res= 6.614005175441214e-10
iteration 1249 res= 6.523134156230471e-10
iteration 1250 res= 6.433511536023269e-10
iteration 1251 res= 6.345120350599629e-10
iteration 1252 res= 6.257943509407669e-10
iteration 1253 res= 6.171964483263876e-10
iteration 1254 res= 6.087166664294984e-10
iteration 1255 res= 6.003533916534866e-10
iteration 1256 res= 5.921050242517416e-10
iteration 1257 res= 5.839699790942513e-10
iteration 1258 res= 5.759467113806551e-10
iteration 1259 res= 5.68033669500627e-10
iteration 1260 res= 5.60229352735577e-10
iteration 1261 res= 5.525322494411694e-10
iteration 1262 res= 5.449409064134838e-10
iteration 1263 res= 5.374538642017021e-10
iteration 1264 res= 5.300696790397088e-10
iteration 1265 res= 5.227869591181543e-10
iteration 1266 res= 5.156042934268715e-10
iteration 1267 res= 5.085203085594984e-10
iteration 1268 res= 5.015336450193677e-10
iteration 1269 res= 4.946429851535188e-10
iteration 1270 res= 4.878469863474089e-10
iteration 1271 res= 4.811443703268355e-10
iteration 1272 res= 4.745338379740247e-10
iteration 1273 res= 4.680141277151451e-10
iteration 1274 res= 4.6158399286683607e-10
iteration 1275 res= 4.5524220444695906e-10
iteration 1276 res= 4.489875390949823e-10
iteration 1277 res= 4.428188197729902e-10
iteration 1278 res= 4.3673484810309763e-10
iteration 1279 res= 4.307344765907323e-10
iteration 1280 res= 4.2481652589569217e-10
iteration 1281 res= 4.1897989532745137e-10
iteration 1282 res= 4.132234434912973e-10
iteration 1283 res= 4.0754609239472857e-10
iteration 1284 res= 4.0194674123506714e-10
iteration 1285 res= 3.9642431866822456e-10
iteration 1286 res= 3.909777725564041e-10
iteration 1287 res= 3.856060475024522e-10
iteration 1288 res= 3.803081364117639e-10
iteration 1289 res= 3.7508301157973897e-10
iteration 1290 res= 3.699296772001884e-10
iteration 1291 res= 3.648471378408556e-10
iteration 1292 res= 3.598344404734277e-10
iteration 1293 res= 3.548906053040536e-10
iteration 1294 res= 3.500146983254948e-10
iteration 1295 res= 3.452057792644223e-10
iteration 1296 res= 3.404629236349358e-10
iteration 1297 res= 3.3578525479156935e-10
iteration 1298 res= 3.3117181936101093e-10
iteration 1299 res= 3.2662179809977506e-10
iteration 1300 res= 3.221342747583671e-10
iteration 1301 res= 3.177084140486483e-10
iteration 1302 res= 3.133433727673969e-10
iteration 1303 res= 3.090382846710801e-10
iteration 1304 res= 3.0479234984947036e-10
iteration 1305 res= 3.006047521099574e-10
iteration 1306 res= 2.9647467894946307e-10
needed 1306 iterations
import matplotlib.pyplot as plt
plt.yscale('log')
plt.plot (errhist);
../_images/d7db442bc347313b198d70bae56c48de46f3a489855e0145534c4c7ff4cf5610.png

Experimenting with the mesh-size \(h\), we observe experimentally that the number of iterations and thus the condition number grow proportional to \(h^{-2}\). This can be easily calculated for a finite difference discretization on a uniform mesh. We will prove it for finite elements later.

from ngsolve.webgui import Draw
Draw (gfu);

Excercise:

  • experiment with the relaxation parameter \(\alpha\), how do the iteration numbers change ?

  • halve the mesh-size, how do the iteration number change ?

  • modify the parameter in front of the u*v term of the bilinear form. How does the iteration number change ?