template<typename Real = double>
class TNL::Solvers::IterativeSolverMonitor< Real >
Object for monitoring convergence of iterative solvers.
- Template Parameters
-
| Real | is a type of the floating-point arithmetics. |
| Index | is an indexing type. |
The following example shows how to use the iterative solver monitor for monitoring convergence of linear iterative solver:
1#include <iostream>
2#include <memory>
3#include <TNL/Matrices/SparseMatrix.h>
4#include <TNL/Devices/Sequential.h>
5#include <TNL/Devices/Cuda.h>
6#include <TNL/Solvers/Linear/Jacobi.h>
7
8template< typename Device >
9void
10iterativeLinearSolverExample()
11{
12
13
14
15
16
17
18
19
20
23 const int size( 5 );
25 matrix_ptr->setDimensions( size, size );
26 matrix_ptr->setRowCapacities( Vector( { 2, 3, 3, 3, 2 } ) );
27
29 {
30 const int rowIdx = row.getRowIndex();
31 if( rowIdx == 0 ) {
32 row.setElement( 0, rowIdx, 2.5 );
33 row.setElement( 1, rowIdx + 1, -1 );
34 }
35 else if( rowIdx == size - 1 ) {
36 row.setElement( 0, rowIdx - 1, -1.0 );
37 row.setElement( 1, rowIdx, 2.5 );
38 }
39 else {
40 row.setElement( 0, rowIdx - 1, -1.0 );
41 row.setElement( 1, rowIdx, 2.5 );
42 row.setElement( 2, rowIdx + 1, -1.0 );
43 }
44 };
45
46
47
48
49 matrix_ptr->forAllRows( f );
51
52
53
54
55 Vector x( size, 1.0 );
56 Vector b( size );
57 matrix_ptr->vectorProduct( x, b );
58 x = 0.0;
60
61
62
63
65 LinearSolver solver;
67 solver.setOmega( 0.0005 );
68
69
70
71
73 IterativeSolverMonitorType monitor;
75 monitor.setRefreshRate( 10 );
76 monitor.setVerbose( 1 );
77 monitor.setStage( "Jacobi stage:" );
78 solver.setSolverMonitor( monitor );
79 solver.setConvergenceResidue( 1.0e-6 );
80 solver.solve( b, x );
81 monitor.stopMainLoop();
83}
84
85int
86main( int argc, char* argv[] )
87{
88 std::cout <<
"Solving linear system on host:\n";
89 iterativeLinearSolverExample< TNL::Devices::Sequential >();
90
91#ifdef __CUDACC__
92 std::cout <<
"Solving linear system on CUDA device:\n";
93 iterativeLinearSolverExample< TNL::Devices::Cuda >();
94#endif
95}
#define __cuda_callable__
This macro serves for annotating functions which are supposed to be called even from the GPU device.
Definition Macros.h:50
Vector extends Array with algebraic operations.
Definition Vector.h:37
Implementation of sparse matrix, i.e. matrix storing only non-zero elements.
Definition SparseMatrix.h:57
Iterative solver of linear systems based on the Jacobi method.
Definition Jacobi.h:21
virtual void setMatrix(const MatrixPointer &matrix)
Set the matrix of the linear system.
Definition LinearSolver.h:120
A RAII wrapper for launching the SolverMonitor's main loop in a separate thread.
Definition SolverMonitor.h:142
The result looks as follows:
Solving linear system on host:
Row: 0 -> 0:2.5 1:-1
Row: 1 -> 0:-1 1:2.5 2:-1
Row: 2 -> 1:-1 2:2.5 3:-1
Row: 3 -> 2:-1 3:2.5 4:-1
Row: 4 -> 3:-1 4:2.5
Vector b = [ 1.5, 0.5, 0.5, 0.5, 1.5 ]
Jacobi stage: ITER: 22503 RES: 0.022788
Jacobi stage: ITER: 45009 RES: 0.00071818
Jacobi stage: ITER: 67697 RES: 2.2017e-05
Vector x = [ 0.999999, 0.999999, 0.999998, 0.999999, 0.999999 ]
Solving linear system on CUDA device:
Row: 0 -> 0:2.5 1:-1
Row: 1 -> 0:-1 1:2.5 2:-1
Row: 2 -> 1:-1 2:2.5 3:-1
Row: 3 -> 2:-1 3:2.5 4:-1
Row: 4 -> 3:-1 4:2.5
Vector b = [ 1.5, 0.5, 0.5, 0.5, 1.5 ]
Jacobi stage: ITER: 2123 RES: 0.56725
Jacobi stage: ITER: 2555 RES: 0.51972
Jacobi stage: ITER: 2929 RES: 0.48367
Jacobi stage: ITER: 3305 RES: 0.45152
Jacobi stage: ITER: 3683 RES: 0.42255
Jacobi stage: ITER: 3963 RES: 0.4027
Jacobi stage: ITER: 4213 RES: 0.38592
Jacobi stage: ITER: 4465 RES: 0.37007
Jacobi stage: ITER: 4715 RES: 0.35528
Jacobi stage: ITER: 4967 RES: 0.34101
Jacobi stage: ITER: 5219 RES: 0.32743
Jacobi stage: ITER: 5477 RES: 0.31408
Jacobi stage: ITER: 5735 RES: 0.30156
Jacobi stage: ITER: 5983 RES: 0.28996
Jacobi stage: ITER: 6193 RES: 0.28044
Jacobi stage: ITER: 6435 RES: 0.27007
Jacobi stage: ITER: 6685 RES: 0.25964
Jacobi stage: ITER: 6951 RES: 0.24917
Jacobi stage: ITER: 7223 RES: 0.23884
Jacobi stage: ITER: 7507 RES: 0.22854
Jacobi stage: ITER: 7723 RES: 0.22102
Jacobi stage: ITER: 7977 RES: 0.21244
Jacobi stage: ITER: 8231 RES: 0.20432
Jacobi stage: ITER: 8467 RES: 0.19701
Jacobi stage: ITER: 8625 RES: 0.19221
Jacobi stage: ITER: 8879 RES: 0.18488
Jacobi stage: ITER: 9095 RES: 0.17883
Jacobi stage: ITER: 9263 RES: 0.17426
Jacobi stage: ITER: 9475 RES: 0.16866
Jacobi stage: ITER: 9669 RES: 0.16365
Jacobi stage: ITER: 9869 RES: 0.15869
Jacobi stage: ITER: 10079 RES: 0.15369
Jacobi stage: ITER: 10763 RES: 0.13834
Jacobi stage: ITER: 11523 RES: 0.12309
Jacobi stage: ITER: 11713 RES: 0.11951
Jacobi stage: ITER: 11819 RES: 0.11761
Jacobi stage: ITER: 11939 RES: 0.11547
Jacobi stage: ITER: 12083 RES: 0.11294
Jacobi stage: ITER: 12307 RES: 0.10912
Jacobi stage: ITER: 12457 RES: 0.1066
Jacobi stage: ITER: 12547 RES: 0.10517
Jacobi stage: ITER: 12637 RES: 0.10369
Jacobi stage: ITER: 12855 RES: 0.10031
Jacobi stage: ITER: 13055 RES: 0.097271
Jacobi stage: ITER: 13275 RES: 0.094038
Jacobi stage: ITER: 13451 RES: 0.091529
Jacobi stage: ITER: 13599 RES: 0.089472
Jacobi stage: ITER: 13843 RES: 0.08618
Jacobi stage: ITER: 14093 RES: 0.082908
Jacobi stage: ITER: 14345 RES: 0.07976
Jacobi stage: ITER: 14597 RES: 0.076731
Jacobi stage: ITER: 14851 RES: 0.073818
Jacobi stage: ITER: 15075 RES: 0.071321
Jacobi stage: ITER: 15297 RES: 0.068909
Jacobi stage: ITER: 15541 RES: 0.066374
Jacobi stage: ITER: 15755 RES: 0.064247
Jacobi stage: ITER: 15963 RES: 0.062227
Jacobi stage: ITER: 16199 RES: 0.060011
Jacobi stage: ITER: 16451 RES: 0.057733
Jacobi stage: ITER: 16687 RES: 0.055677
Jacobi stage: ITER: 16935 RES: 0.053596
Jacobi stage: ITER: 17147 RES: 0.051879
Jacobi stage: ITER: 17383 RES: 0.050032
Jacobi stage: ITER: 17597 RES: 0.048399
Jacobi stage: ITER: 17809 RES: 0.046849
Jacobi stage: ITER: 18059 RES: 0.045098
Jacobi stage: ITER: 18311 RES: 0.043385
Jacobi stage: ITER: 18567 RES: 0.041713
Jacobi stage: ITER: 18797 RES: 0.040252
Jacobi stage: ITER: 19015 RES: 0.038939
Jacobi stage: ITER: 19255 RES: 0.037529
Jacobi stage: ITER: 19483 RES: 0.036238
Jacobi stage: ITER: 19699 RES: 0.035055
Jacobi stage: ITER: 19945 RES: 0.033745
Jacobi stage: ITER: 20195 RES: 0.032484
Jacobi stage: ITER: 20447 RES: 0.03125
Jacobi stage: ITER: 20659 RES: 0.030249
Jacobi stage: ITER: 20895 RES: 0.029172
Jacobi stage: ITER: 21145 RES: 0.028065
Jacobi stage: ITER: 21359 RES: 0.027165
Jacobi stage: ITER: 21579 RES: 0.026263
Jacobi stage: ITER: 21821 RES: 0.025297
Jacobi stage: ITER: 22067 RES: 0.024366
Jacobi stage: ITER: 22321 RES: 0.023427
Jacobi stage: ITER: 22559 RES: 0.022593
Jacobi stage: ITER: 22761 RES: 0.021896
Jacobi stage: ITER: 23007 RES: 0.02109
Jacobi stage: ITER: 23211 RES: 0.02044
Jacobi stage: ITER: 23459 RES: 0.019676
Jacobi stage: ITER: 23673 RES: 0.019034
Jacobi stage: ITER: 23917 RES: 0.018333
Jacobi stage: ITER: 24167 RES: 0.017648
Jacobi stage: ITER: 24421 RES: 0.016968
Jacobi stage: ITER: 24673 RES: 0.016323
Jacobi stage: ITER: 24927 RES: 0.015704
Jacobi stage: ITER: 25183 RES: 0.015098
Jacobi stage: ITER: 25407 RES: 0.014588
Jacobi stage: ITER: 25579 RES: 0.014207
Jacobi stage: ITER: 25729 RES: 0.013879
Jacobi stage: ITER: 25961 RES: 0.013393
Jacobi stage: ITER: 26211 RES: 0.012893
Jacobi stage: ITER: 26443 RES: 0.012441
Jacobi stage: ITER: 26695 RES: 0.011969
Jacobi stage: ITER: 26963 RES: 0.011486
Jacobi stage: ITER: 27195 RES: 0.011084
Jacobi stage: ITER: 27435 RES: 0.010683
Jacobi stage: ITER: 27651 RES: 0.010334
Jacobi stage: ITER: 27847 RES: 0.010028
Jacobi stage: ITER: 28063 RES: 0.0097007
Jacobi stage: ITER: 28299 RES: 0.0093554
Jacobi stage: ITER: 28535 RES: 0.0090223
Jacobi stage: ITER: 28783 RES: 0.0086851
Jacobi stage: ITER: 29021 RES: 0.0083707
Jacobi stage: ITER: 29257 RES: 0.0080727
Jacobi stage: ITER: 29511 RES: 0.0077662
Jacobi stage: ITER: 29743 RES: 0.0074943
Jacobi stage: ITER: 29961 RES: 0.0072453
Jacobi stage: ITER: 30195 RES: 0.0069917
Jacobi stage: ITER: 30905 RES: 0.0062674
Jacobi stage: ITER: 31095 RES: 0.006089
Jacobi stage: ITER: 31359 RES: 0.005847
Jacobi stage: ITER: 31599 RES: 0.0056354
Jacobi stage: ITER: 31853 RES: 0.0054181
Jacobi stage: ITER: 32085 RES: 0.0052284
Jacobi stage: ITER: 32307 RES: 0.0050547
Jacobi stage: ITER: 32513 RES: 0.0048957
Jacobi stage: ITER: 32759 RES: 0.0047156
Jacobi stage: ITER: 33009 RES: 0.0045366
Jacobi stage: ITER: 33263 RES: 0.0043644
Jacobi stage: ITER: 33513 RES: 0.0041987
Jacobi stage: ITER: 33769 RES: 0.0040368
Jacobi stage: ITER: 33989 RES: 0.0039026
Jacobi stage: ITER: 34207 RES: 0.0037753
Jacobi stage: ITER: 34407 RES: 0.0036611
Jacobi stage: ITER: 34663 RES: 0.0035199
Jacobi stage: ITER: 34907 RES: 0.0033904
Jacobi stage: ITER: 35163 RES: 0.0032597
Jacobi stage: ITER: 35407 RES: 0.0031398
Jacobi stage: ITER: 35661 RES: 0.0030187
Jacobi stage: ITER: 35865 RES: 0.0029256
Jacobi stage: ITER: 36075 RES: 0.0028336
Jacobi stage: ITER: 36317 RES: 0.0027294
Jacobi stage: ITER: 36563 RES: 0.002629
Jacobi stage: ITER: 36817 RES: 0.0025276
Jacobi stage: ITER: 37069 RES: 0.0024316
Jacobi stage: ITER: 37323 RES: 0.0023393
Jacobi stage: ITER: 37545 RES: 0.0022602
Jacobi stage: ITER: 37769 RES: 0.0021837
Jacobi stage: ITER: 38003 RES: 0.0021073
Jacobi stage: ITER: 38247 RES: 0.0020298
Jacobi stage: ITER: 38499 RES: 0.0019527
Jacobi stage: ITER: 38751 RES: 0.0018786
Jacobi stage: ITER: 39005 RES: 0.0018061
Jacobi stage: ITER: 39211 RES: 0.0017504
Jacobi stage: ITER: 39479 RES: 0.0016798
Jacobi stage: ITER: 39725 RES: 0.001617
Jacobi stage: ITER: 39975 RES: 0.0015566
Jacobi stage: ITER: 40227 RES: 0.0014975
Jacobi stage: ITER: 40479 RES: 0.0014406
Jacobi stage: ITER: 40729 RES: 0.0013859
Jacobi stage: ITER: 40981 RES: 0.0013333
Jacobi stage: ITER: 41231 RES: 0.0012835
Jacobi stage: ITER: 41483 RES: 0.0012347
Jacobi stage: ITER: 41735 RES: 0.0011879
Jacobi stage: ITER: 41987 RES: 0.0011428
Jacobi stage: ITER: 42239 RES: 0.0010994
Jacobi stage: ITER: 42489 RES: 0.0010576
Jacobi stage: ITER: 42741 RES: 0.0010175
Jacobi stage: ITER: 42991 RES: 0.00097945
Jacobi stage: ITER: 43243 RES: 0.00094226
Jacobi stage: ITER: 43495 RES: 0.00090648
Jacobi stage: ITER: 43745 RES: 0.00087207
Jacobi stage: ITER: 43995 RES: 0.00083947
Jacobi stage: ITER: 44247 RES: 0.0008076
Jacobi stage: ITER: 44499 RES: 0.00077694
Jacobi stage: ITER: 44749 RES: 0.00074744
Jacobi stage: ITER: 44999 RES: 0.0007195
Jacobi stage: ITER: 45251 RES: 0.00069218
Jacobi stage: ITER: 45503 RES: 0.0006659
Jacobi stage: ITER: 45753 RES: 0.00064062
Jacobi stage: ITER: 46003 RES: 0.00061667
Jacobi stage: ITER: 46255 RES: 0.00059326
Jacobi stage: ITER: 46507 RES: 0.00057074
Jacobi stage: ITER: 46757 RES: 0.00054907
Jacobi stage: ITER: 47009 RES: 0.00052822
Jacobi stage: ITER: 47259 RES: 0.00050848
Jacobi stage: ITER: 47511 RES: 0.00048917
Jacobi stage: ITER: 47761 RES: 0.0004706
Jacobi stage: ITER: 48013 RES: 0.00045273
Jacobi stage: ITER: 48263 RES: 0.00043581
Jacobi stage: ITER: 48515 RES: 0.00041926
Jacobi stage: ITER: 48767 RES: 0.00040334
Jacobi stage: ITER: 49017 RES: 0.00038803
Jacobi stage: ITER: 49267 RES: 0.00037353
Jacobi stage: ITER: 49519 RES: 0.00035934
Jacobi stage: ITER: 49771 RES: 0.0003457
Jacobi stage: ITER: 50021 RES: 0.00033257
Jacobi stage: ITER: 50271 RES: 0.00032014
Jacobi stage: ITER: 50523 RES: 0.00030799
Jacobi stage: ITER: 50775 RES: 0.00029629
Jacobi stage: ITER: 51025 RES: 0.00028504
Jacobi stage: ITER: 51275 RES: 0.00027439
Jacobi stage: ITER: 51527 RES: 0.00026397
Jacobi stage: ITER: 51779 RES: 0.00025395
Jacobi stage: ITER: 52029 RES: 0.00024431
Jacobi stage: ITER: 52281 RES: 0.00023503
Jacobi stage: ITER: 52531 RES: 0.00022625
Jacobi stage: ITER: 52783 RES: 0.00021766
Jacobi stage: ITER: 53033 RES: 0.00020939
Jacobi stage: ITER: 53285 RES: 0.00020144
Jacobi stage: ITER: 53535 RES: 0.00019391
Jacobi stage: ITER: 53787 RES: 0.00018655
Jacobi stage: ITER: 54039 RES: 0.00017947
Jacobi stage: ITER: 54289 RES: 0.00017265
Jacobi stage: ITER: 54539 RES: 0.0001662
Jacobi stage: ITER: 54791 RES: 0.00015989
Jacobi stage: ITER: 55043 RES: 0.00015382
Jacobi stage: ITER: 55293 RES: 0.00014798
Jacobi stage: ITER: 55543 RES: 0.00014245
Jacobi stage: ITER: 55795 RES: 0.00013704
Jacobi stage: ITER: 56047 RES: 0.00013184
Jacobi stage: ITER: 56297 RES: 0.00012683
Jacobi stage: ITER: 56547 RES: 0.00012209
Jacobi stage: ITER: 56799 RES: 0.00011746
Jacobi stage: ITER: 57051 RES: 0.000113
Jacobi stage: ITER: 57301 RES: 0.00010871
Jacobi stage: ITER: 57553 RES: 0.00010458
Jacobi stage: ITER: 57803 RES: 0.00010067
Jacobi stage: ITER: 58055 RES: 9.6847e-05
Jacobi stage: ITER: 58307 RES: 9.317e-05
Jacobi stage: ITER: 58557 RES: 8.9633e-05
Jacobi stage: ITER: 58807 RES: 8.6282e-05
Jacobi stage: ITER: 59059 RES: 8.3006e-05
Jacobi stage: ITER: 59311 RES: 7.9855e-05
Jacobi stage: ITER: 59561 RES: 7.6823e-05
Jacobi stage: ITER: 59813 RES: 7.3906e-05
Jacobi stage: ITER: 60063 RES: 7.1144e-05
Jacobi stage: ITER: 60315 RES: 6.8443e-05
Jacobi stage: ITER: 60567 RES: 6.5844e-05
Jacobi stage: ITER: 60817 RES: 6.3344e-05
Jacobi stage: ITER: 61067 RES: 6.0976e-05
Jacobi stage: ITER: 61319 RES: 5.8661e-05
Jacobi stage: ITER: 61571 RES: 5.6434e-05
Jacobi stage: ITER: 61821 RES: 5.4291e-05
Jacobi stage: ITER: 62071 RES: 5.2262e-05
Jacobi stage: ITER: 62323 RES: 5.0278e-05
Jacobi stage: ITER: 62575 RES: 4.8369e-05
Jacobi stage: ITER: 62825 RES: 4.6532e-05
Jacobi stage: ITER: 63077 RES: 4.4766e-05
Jacobi stage: ITER: 63327 RES: 4.3092e-05
Jacobi stage: ITER: 63579 RES: 4.1456e-05
Jacobi stage: ITER: 63831 RES: 3.9882e-05
Jacobi stage: ITER: 64081 RES: 3.8368e-05
Jacobi stage: ITER: 64333 RES: 3.6911e-05
Jacobi stage: ITER: 64583 RES: 3.5532e-05
Jacobi stage: ITER: 64835 RES: 3.4183e-05
Jacobi stage: ITER: 65087 RES: 3.2885e-05
Jacobi stage: ITER: 65337 RES: 3.1636e-05
Jacobi stage: ITER: 65587 RES: 3.0454e-05
Jacobi stage: ITER: 65839 RES: 2.9297e-05
Jacobi stage: ITER: 66091 RES: 2.8185e-05
Jacobi stage: ITER: 66343 RES: 2.7115e-05
Jacobi stage: ITER: 66593 RES: 2.6085e-05
Jacobi stage: ITER: 66843 RES: 2.511e-05
Jacobi stage: ITER: 67095 RES: 2.4157e-05
Jacobi stage: ITER: 67347 RES: 2.324e-05
Jacobi stage: ITER: 67597 RES: 2.2357e-05
Jacobi stage: ITER: 67849 RES: 2.1509e-05
Jacobi stage: ITER: 68099 RES: 2.0705e-05
Jacobi stage: ITER: 68351 RES: 1.9919e-05
Jacobi stage: ITER: 68603 RES: 1.9162e-05
Jacobi stage: ITER: 68853 RES: 1.8435e-05
Jacobi stage: ITER: 69103 RES: 1.7746e-05
Jacobi stage: ITER: 69355 RES: 1.7072e-05
Jacobi stage: ITER: 69607 RES: 1.6424e-05
Jacobi stage: ITER: 69857 RES: 1.58e-05
Jacobi stage: ITER: 70109 RES: 1.52e-05
Jacobi stage: ITER: 70359 RES: 1.4632e-05
Jacobi stage: ITER: 70611 RES: 1.4077e-05
Jacobi stage: ITER: 70863 RES: 1.3542e-05
Jacobi stage: ITER: 71113 RES: 1.3028e-05
Jacobi stage: ITER: 71363 RES: 1.2541e-05
Jacobi stage: ITER: 71615 RES: 1.2065e-05
Jacobi stage: ITER: 71867 RES: 1.1607e-05
Jacobi stage: ITER: 72117 RES: 1.1166e-05
Jacobi stage: ITER: 72369 RES: 1.0742e-05
Jacobi stage: ITER: 72619 RES: 1.0341e-05
Jacobi stage: ITER: 72871 RES: 9.948e-06
Jacobi stage: ITER: 73123 RES: 9.5703e-06
Jacobi stage: ITER: 73373 RES: 9.2069e-06
Jacobi stage: ITER: 73623 RES: 8.8628e-06
Jacobi stage: ITER: 73875 RES: 8.5263e-06
Jacobi stage: ITER: 74127 RES: 8.2026e-06
Jacobi stage: ITER: 74379 RES: 7.8911e-06
Jacobi stage: ITER: 74629 RES: 7.5915e-06
Jacobi stage: ITER: 74879 RES: 7.3078e-06
Jacobi stage: ITER: 75131 RES: 7.0303e-06
Jacobi stage: ITER: 75383 RES: 6.7634e-06
Jacobi stage: ITER: 75633 RES: 6.5066e-06
Jacobi stage: ITER: 75885 RES: 6.2596e-06
Jacobi stage: ITER: 76135 RES: 6.0256e-06
Jacobi stage: ITER: 76387 RES: 5.7968e-06
Jacobi stage: ITER: 76637 RES: 5.5767e-06
Jacobi stage: ITER: 76889 RES: 5.365e-06
Jacobi stage: ITER: 77139 RES: 5.1645e-06
Jacobi stage: ITER: 77391 RES: 4.9684e-06
Jacobi stage: ITER: 77643 RES: 4.7797e-06
Jacobi stage: ITER: 77893 RES: 4.5983e-06
Jacobi stage: ITER: 78143 RES: 4.4264e-06
Jacobi stage: ITER: 78395 RES: 4.2583e-06
Jacobi stage: ITER: 78647 RES: 4.0967e-06
Jacobi stage: ITER: 78897 RES: 3.9411e-06
Jacobi stage: ITER: 79149 RES: 3.7915e-06
Jacobi stage: ITER: 79399 RES: 3.6498e-06
Jacobi stage: ITER: 79651 RES: 3.5112e-06
Jacobi stage: ITER: 79903 RES: 3.3779e-06
Jacobi stage: ITER: 80153 RES: 3.2496e-06
Jacobi stage: ITER: 80405 RES: 3.1262e-06
Jacobi stage: ITER: 80655 RES: 3.0094e-06
Jacobi stage: ITER: 80907 RES: 2.8951e-06
Jacobi stage: ITER: 81159 RES: 2.7852e-06
Jacobi stage: ITER: 81409 RES: 2.6795e-06
Jacobi stage: ITER: 81659 RES: 2.5793e-06
Jacobi stage: ITER: 81911 RES: 2.4814e-06
Jacobi stage: ITER: 82163 RES: 2.3872e-06
Jacobi stage: ITER: 82413 RES: 2.2965e-06
Jacobi stage: ITER: 82665 RES: 2.2093e-06
Jacobi stage: ITER: 82915 RES: 2.1268e-06
Jacobi stage: ITER: 83167 RES: 2.046e-06
Jacobi stage: ITER: 83419 RES: 1.9683e-06
Jacobi stage: ITER: 83669 RES: 1.8936e-06
Jacobi stage: ITER: 83919 RES: 1.8228e-06
Jacobi stage: ITER: 84171 RES: 1.7536e-06
Jacobi stage: ITER: 84423 RES: 1.687e-06
Jacobi stage: ITER: 84673 RES: 1.623e-06
Jacobi stage: ITER: 84925 RES: 1.5614e-06
Jacobi stage: ITER: 85175 RES: 1.503e-06
Jacobi stage: ITER: 85427 RES: 1.4459e-06
Jacobi stage: ITER: 85679 RES: 1.391e-06
Jacobi stage: ITER: 85929 RES: 1.3382e-06
Jacobi stage: ITER: 86181 RES: 1.2874e-06
Jacobi stage: ITER: 86431 RES: 1.2393e-06
Jacobi stage: ITER: 86683 RES: 1.1922e-06
Jacobi stage: ITER: 86935 RES: 1.147e-06
Jacobi stage: ITER: 87185 RES: 1.1034e-06
Jacobi stage: ITER: 87437 RES: 1.0615e-06
Jacobi stage: ITER: 87687 RES: 1.0218e-06
Vector x = [ 0.999999, 0.999999, 0.999998, 0.999999, 0.999999 ]
The following example shows how to employ timer (TNL::Timer) to the monitor of iterative solvers:
1#include <iostream>
2#include <memory>
3#include <TNL/Timer.h>
4#include <TNL/Matrices/SparseMatrix.h>
5#include <TNL/Devices/Sequential.h>
6#include <TNL/Devices/Cuda.h>
7#include <TNL/Solvers/Linear/Jacobi.h>
8
9template< typename Device >
10void
11iterativeLinearSolverExample()
12{
13
14
15
16
17
18
19
20
21
24 const int size( 5 );
26 matrix_ptr->setDimensions( size, size );
27 matrix_ptr->setRowCapacities( Vector( { 2, 3, 3, 3, 2 } ) );
28
30 {
31 const int rowIdx = row.getRowIndex();
32 if( rowIdx == 0 ) {
33 row.setElement( 0, rowIdx, 2.5 );
34 row.setElement( 1, rowIdx + 1, -1 );
35 }
36 else if( rowIdx == size - 1 ) {
37 row.setElement( 0, rowIdx - 1, -1.0 );
38 row.setElement( 1, rowIdx, 2.5 );
39 }
40 else {
41 row.setElement( 0, rowIdx - 1, -1.0 );
42 row.setElement( 1, rowIdx, 2.5 );
43 row.setElement( 2, rowIdx + 1, -1.0 );
44 }
45 };
46
47
48
49
50 matrix_ptr->forAllRows( f );
52
53
54
55
56 Vector x( size, 1.0 );
57 Vector b( size );
58 matrix_ptr->vectorProduct( x, b );
59 x = 0.0;
61
62
63
64
66 LinearSolver solver;
68 solver.setOmega( 0.0005 );
69
70
71
72
74 IterativeSolverMonitorType monitor;
76 monitor.setRefreshRate( 10 );
77 monitor.setVerbose( 1 );
78 monitor.setStage( "Jacobi stage:" );
80 monitor.setTimer( timer );
82 solver.setSolverMonitor( monitor );
83 solver.setConvergenceResidue( 1.0e-6 );
84 solver.solve( b, x );
85 monitor.stopMainLoop();
87}
88
89int
90main( int argc, char* argv[] )
91{
92 std::cout <<
"Solving linear system on host:\n";
93 iterativeLinearSolverExample< TNL::Devices::Sequential >();
94
95#ifdef __CUDACC__
96 std::cout <<
"Solving linear system on CUDA device:\n";
97 iterativeLinearSolverExample< TNL::Devices::Cuda >();
98#endif
99}
Class for real time, CPU time and CPU cycles measuring.
Definition Timer.h:25
void start()
Starts timer.
The result looks as follows:
Solving linear system on host:
Row: 0 -> 0:2.5 1:-1
Row: 1 -> 0:-1 1:2.5 2:-1
Row: 2 -> 1:-1 2:2.5 3:-1
Row: 3 -> 2:-1 3:2.5 4:-1
Row: 4 -> 3:-1 4:2.5
Vector b = [ 1.5, 0.5, 0.5, 0.5, 1.5 ]
ELA:2.2241e-
ELA: 0.10015 Jacobi stage: ITER: 23043 RES: 0.020974
ELA: 0.20028 Jacobi stage: ITER: 45943 RES: 0.00062238
ELA: 0.30059 Jacobi stage: ITER: 68987 RES: 1.8065e-05
Vector x = [ 0.999999, 0.999999, 0.999998, 0.999999, 0.999999 ]
Solving linear system on CUDA device:
Row: 0 -> 0:2.5 1:-1
Row: 1 -> 0:-1 1:2.5 2:-1
Row: 2 -> 1:-1 2:2.5 3:-1
Row: 3 -> 2:-1 3:2.5 4:-1
Row: 4 -> 3:-1 4:2.5
Vector b = [ 1.5, 0.5, 0.5, 0.5, 1.5 ]
ELA:2.8625e-
ELA: 0.10023 Jacobi stage: ITER: 371 RES: 0.88554
ELA: 0.20036 Jacobi stage: ITER: 747 RES: 0.79162
ELA: 0.30124 Jacobi stage: ITER: 1125 RES: 0.71438
ELA: 0.40136 Jacobi stage: ITER: 1503 RES: 0.65109
ELA: 0.50148 Jacobi stage: ITER: 1827 RES: 0.60459
ELA: 0.60161 Jacobi stage: ITER: 2079 RES: 0.57253
ELA: 0.70173 Jacobi stage: ITER: 2331 RES: 0.54345
ELA: 0.80185 Jacobi stage: ITER: 2583 RES: 0.51688
ELA: 0.90196 Jacobi stage: ITER: 2833 RES: 0.49247
ELA: 1.0021 Jacobi stage: ITER: 3083 RES: 0.47025
ELA: 1.1022 Jacobi stage: ITER: 3335 RES: 0.44926
ELA: 1.2023 Jacobi stage: ITER: 3589 RES: 0.42938
ELA: 1.3025 Jacobi stage: ITER: 3851 RES: 0.41048
ELA: 1.4026 Jacobi stage: ITER: 4067 RES: 0.39566
ELA: 1.5027 Jacobi stage: ITER: 4305 RES: 0.38003
ELA: 1.6032 Jacobi stage: ITER: 4557 RES: 0.3645
ELA: 1.7034 Jacobi stage: ITER: 4779 RES: 0.35159
ELA: 1.8035 Jacobi stage: ITER: 5031 RES: 0.3375
ELA: 1.9036 Jacobi stage: ITER: 5337 RES: 0.32119
ELA: 2.0037 Jacobi stage: ITER: 5607 RES: 0.30775
ELA: 2.1062 Jacobi stage: ITER: 5863 RES: 0.29551
ELA: 2.2063 Jacobi stage: ITER: 6115 RES: 0.28399
ELA: 2.3065 Jacobi stage: ITER: 6367 RES: 0.27297
ELA: 2.4066 Jacobi stage: ITER: 6587 RES: 0.26373
ELA: 2.5067 Jacobi stage: ITER: 6831 RES: 0.25387
ELA: 2.6068 Jacobi stage: ITER: 7081 RES: 0.2441
ELA: 2.7069 Jacobi stage: ITER: 7245 RES: 0.23795
ELA: 2.8071 Jacobi stage: ITER: 7411 RES: 0.23197
ELA: 2.9072 Jacobi stage: ITER: 7501 RES: 0.22869
ELA: 3.0073 Jacobi stage: ITER: 7613 RES: 0.22475
ELA: 3.1074 Jacobi stage: ITER: 7797 RES: 0.21844
ELA: 3.2082 Jacobi stage: ITER: 7915 RES: 0.21455
ELA: 3.3084 Jacobi stage: ITER: 8035 RES: 0.21061
ELA: 3.4085 Jacobi stage: ITER: 8107 RES: 0.20827
ELA: 3.5086 Jacobi stage: ITER: 8279 RES: 0.20281
ELA: 3.6087 Jacobi stage: ITER: 8499 RES: 0.19604
ELA: 3.7089 Jacobi stage: ITER: 8711 RES: 0.18973
ELA: 3.809 Jacobi stage: ITER: 8931 RES: 0.1834
ELA: 3.9192 Jacobi stage: ITER: 9187 RES: 0.17631
ELA: 4.0212 Jacobi stage: ITER: 9459 RES: 0.16908
ELA: 4.1252 Jacobi stage: ITER: 9703 RES: 0.16284
ELA: 4.2254 Jacobi stage: ITER: 9935 RES: 0.15713
ELA: 4.3255 Jacobi stage: ITER: 10137 RES: 0.15228
ELA: 4.4256 Jacobi stage: ITER: 10351 RES: 0.14739
ELA: 4.5257 Jacobi stage: ITER: 10531 RES: 0.14337
ELA: 4.6258 Jacobi stage: ITER: 10703 RES: 0.13962
ELA: 4.7259 Jacobi stage: ITER: 10925 RES: 0.1349
ELA: 4.826 Jacobi stage: ITER: 11173 RES: 0.12985
ELA: 4.9262 Jacobi stage: ITER: 11425 RES: 0.12492
ELA: 5.0262 Jacobi stage: ITER: 11679 RES: 0.12017
ELA: 5.1264 Jacobi stage: ITER: 11931 RES: 0.11561
ELA: 5.2278 Jacobi stage: ITER: 12159 RES: 0.11163
ELA: 5.3279 Jacobi stage: ITER: 12383 RES: 0.10785
ELA: 5.428 Jacobi stage: ITER: 12627 RES: 0.10388
ELA: 5.5282 Jacobi stage: ITER: 12843 RES: 0.10049
ELA: 5.6286 Jacobi stage: ITER: 13057 RES: 0.097211
ELA: 5.7287 Jacobi stage: ITER: 13295 RES: 0.09375
ELA: 5.8288 Jacobi stage: ITER: 13551 RES: 0.090134
ELA: 5.9289 Jacobi stage: ITER: 13805 RES: 0.086658
ELA: 6.0291 Jacobi stage: ITER: 14035 RES: 0.083675
ELA: 6.1292 Jacobi stage: ITER: 14251 RES: 0.080945
ELA: 6.2293 Jacobi stage: ITER: 14497 RES: 0.077919
ELA: 6.3295 Jacobi stage: ITER: 14703 RES: 0.075515
ELA: 6.43 Jacobi stage: ITER: 14915 RES: 0.073095
ELA: 6.5301 Jacobi stage: ITER: 15163 RES: 0.070363
ELA: 6.6302 Jacobi stage: ITER: 15415 RES: 0.067692
ELA: 6.7304 Jacobi stage: ITER: 15671 RES: 0.065081
ELA: 6.8314 Jacobi stage: ITER: 15903 RES: 0.062803
ELA: 6.9315 Jacobi stage: ITER: 16121 RES: 0.060716
ELA: 7.0322 Jacobi stage: ITER: 16375 RES: 0.058411
ELA: 7.1324 Jacobi stage: ITER: 16593 RES: 0.05647
ELA: 7.2331 Jacobi stage: ITER: 16811 RES: 0.054627
ELA: 7.3332 Jacobi stage: ITER: 17061 RES: 0.052553
ELA: 7.4333 Jacobi stage: ITER: 17309 RES: 0.050589
ELA: 7.5352 Jacobi stage: ITER: 17567 RES: 0.048638
ELA: 7.6354 Jacobi stage: ITER: 17823 RES: 0.046763
ELA: 7.7364 Jacobi stage: ITER: 18023 RES: 0.045348
ELA: 7.8365 Jacobi stage: ITER: 18269 RES: 0.043653
ELA: 7.9367 Jacobi stage: ITER: 18483 RES: 0.042254
ELA: 8.0368 Jacobi stage: ITER: 18731 RES: 0.040675
ELA: 8.1369 Jacobi stage: ITER: 18949 RES: 0.039323
ELA: 8.237 Jacobi stage: ITER: 19199 RES: 0.037854
ELA: 8.3372 Jacobi stage: ITER: 19451 RES: 0.036416
ELA: 8.4372 Jacobi stage: ITER: 19707 RES: 0.035012
ELA: 8.5382 Jacobi stage: ITER: 19899 RES: 0.033995
ELA: 8.6384 Jacobi stage: ITER: 20143 RES: 0.032744
ELA: 8.7385 Jacobi stage: ITER: 20359 RES: 0.031676
ELA: 8.8386 Jacobi stage: ITER: 20603 RES: 0.03051
ELA: 8.9387 Jacobi stage: ITER: 20821 RES: 0.029497
ELA: 9.0388 Jacobi stage: ITER: 21067 RES: 0.028412
ELA: 9.139 Jacobi stage: ITER: 21319 RES: 0.027333
ELA: 9.2391 Jacobi stage: ITER: 21571 RES: 0.026295
ELA: 9.3398 Jacobi stage: ITER: 21825 RES: 0.025281
ELA: 9.44 Jacobi stage: ITER: 22079 RES: 0.024321
ELA: 9.5401 Jacobi stage: ITER: 22333 RES: 0.023383
ELA: 9.6402 Jacobi stage: ITER: 22589 RES: 0.022482
ELA: 9.7404 Jacobi stage: ITER: 22735 RES: 0.02199
ELA: 9.8405 Jacobi stage: ITER: 22887 RES: 0.021483
ELA: 9.9406 Jacobi stage: ITER: 23123 RES: 0.020718
ELA: 10.041 Jacobi stage: ITER: 23371 RES: 0.019943
ELA: 10.142 Jacobi stage: ITER: 23625 RES: 0.019174
ELA: 10.242 Jacobi stage: ITER: 23879 RES: 0.018446
ELA: 10.342 Jacobi stage: ITER: 24143 RES: 0.017713
ELA: 10.443 Jacobi stage: ITER: 24385 RES: 0.017062
ELA: 10.543 Jacobi stage: ITER: 24641 RES: 0.016404
ELA: 10.643 Jacobi stage: ITER: 24893 RES: 0.015781
ELA: 10.743 Jacobi stage: ITER: 25133 RES: 0.01521
ELA: 10.843 Jacobi stage: ITER: 25379 RES: 0.01465
ELA: 10.943 Jacobi stage: ITER: 25603 RES: 0.014155
ELA: 11.043 Jacobi stage: ITER: 25863 RES: 0.013601
ELA: 11.143 Jacobi stage: ITER: 26115 RES: 0.013084
ELA: 11.244 Jacobi stage: ITER: 26347 RES: 0.012626
ELA: 11.344 Jacobi stage: ITER: 26599 RES: 0.012147
ELA: 11.444 Jacobi stage: ITER: 26851 RES: 0.011686
ELA: 11.544 Jacobi stage: ITER: 27107 RES: 0.011235
ELA: 11.644 Jacobi stage: ITER: 27307 RES: 0.010895
ELA: 11.747 Jacobi stage: ITER: 27553 RES: 0.010488
ELA: 11.847 Jacobi stage: ITER: 28335 RES: 0.0093038
ELA: 11.948 Jacobi stage: ITER: 28531 RES: 0.0090278
ELA: 12.048 Jacobi stage: ITER: 28739 RES: 0.008744
ELA: 12.15 Jacobi stage: ITER: 29001 RES: 0.0083965
ELA: 12.25 Jacobi stage: ITER: 29255 RES: 0.0080777
ELA: 12.35 Jacobi stage: ITER: 29509 RES: 0.0077662
ELA: 12.451 Jacobi stage: ITER: 29711 RES: 0.0075313
ELA: 12.551 Jacobi stage: ITER: 29945 RES: 0.0072632
ELA: 12.651 Jacobi stage: ITER: 30161 RES: 0.0070261
ELA: 12.751 Jacobi stage: ITER: 30391 RES: 0.0067843
ELA: 12.851 Jacobi stage: ITER: 30641 RES: 0.0065267
ELA: 12.951 Jacobi stage: ITER: 30895 RES: 0.0062789
ELA: 13.052 Jacobi stage: ITER: 31147 RES: 0.0060405
ELA: 13.152 Jacobi stage: ITER: 31397 RES: 0.0058112
ELA: 13.252 Jacobi stage: ITER: 31589 RES: 0.0056423
ELA: 13.353 Jacobi stage: ITER: 31789 RES: 0.0054716
ELA: 13.453 Jacobi stage: ITER: 32019 RES: 0.0052833
ELA: 13.553 Jacobi stage: ITER: 32267 RES: 0.0050858
ELA: 13.653 Jacobi stage: ITER: 32521 RES: 0.0048897
ELA: 13.754 Jacobi stage: ITER: 32773 RES: 0.0047041
ELA: 13.854 Jacobi stage: ITER: 33031 RES: 0.0045227
ELA: 13.954 Jacobi stage: ITER: 33261 RES: 0.0043644
ELA: 14.054 Jacobi stage: ITER: 33477 RES: 0.0042219
ELA: 14.154 Jacobi stage: ITER: 33695 RES: 0.0040842
ELA: 14.254 Jacobi stage: ITER: 33939 RES: 0.0039339
ELA: 14.354 Jacobi stage: ITER: 34191 RES: 0.0037846
ELA: 14.454 Jacobi stage: ITER: 34443 RES: 0.0036409
ELA: 14.555 Jacobi stage: ITER: 34699 RES: 0.0035005
ELA: 14.656 Jacobi stage: ITER: 34935 RES: 0.0033759
ELA: 14.756 Jacobi stage: ITER: 35167 RES: 0.0032577
ELA: 14.856 Jacobi stage: ITER: 35387 RES: 0.0031494
ELA: 14.957 Jacobi stage: ITER: 35627 RES: 0.0030354
ELA: 15.057 Jacobi stage: ITER: 35881 RES: 0.0029184
ELA: 15.157 Jacobi stage: ITER: 36133 RES: 0.0028076
ELA: 15.257 Jacobi stage: ITER: 36387 RES: 0.002701
ELA: 15.357 Jacobi stage: ITER: 36615 RES: 0.002608
ELA: 15.457 Jacobi stage: ITER: 36861 RES: 0.0025106
ELA: 15.558 Jacobi stage: ITER: 37111 RES: 0.0024167
ELA: 15.658 Jacobi stage: ITER: 37363 RES: 0.002325
ELA: 15.758 Jacobi stage: ITER: 37615 RES: 0.0022367
ELA: 15.859 Jacobi stage: ITER: 37867 RES: 0.0021518
ELA: 15.959 Jacobi stage: ITER: 38117 RES: 0.0020701
ELA: 16.059 Jacobi stage: ITER: 38367 RES: 0.0019927
ELA: 16.159 Jacobi stage: ITER: 38619 RES: 0.001917
ELA: 16.259 Jacobi stage: ITER: 38871 RES: 0.0018443
ELA: 16.359 Jacobi stage: ITER: 39121 RES: 0.0017742
ELA: 16.459 Jacobi stage: ITER: 39373 RES: 0.0017069
ELA: 16.559 Jacobi stage: ITER: 39623 RES: 0.0016431
ELA: 16.66 Jacobi stage: ITER: 39875 RES: 0.0015807
ELA: 16.76 Jacobi stage: ITER: 40127 RES: 0.0015207
ELA: 16.86 Jacobi stage: ITER: 40379 RES: 0.0014629
ELA: 16.96 Jacobi stage: ITER: 40629 RES: 0.0014074
ELA: 17.061 Jacobi stage: ITER: 40881 RES: 0.001354
ELA: 17.161 Jacobi stage: ITER: 41131 RES: 0.0013033
ELA: 17.261 Jacobi stage: ITER: 41383 RES: 0.0012539
ELA: 17.361 Jacobi stage: ITER: 41635 RES: 0.0012063
ELA: 17.461 Jacobi stage: ITER: 41885 RES: 0.0011605
ELA: 17.561 Jacobi stage: ITER: 42135 RES: 0.0011171
ELA: 17.662 Jacobi stage: ITER: 42389 RES: 0.001074
ELA: 17.762 Jacobi stage: ITER: 42641 RES: 0.0010332
ELA: 17.863 Jacobi stage: ITER: 42891 RES: 0.00099461
ELA: 17.963 Jacobi stage: ITER: 43143 RES: 0.00095685
ELA: 18.063 Jacobi stage: ITER: 43395 RES: 0.00092052
ELA: 18.163 Jacobi stage: ITER: 43645 RES: 0.00088557
ELA: 18.263 Jacobi stage: ITER: 43895 RES: 0.00085247
ELA: 18.363 Jacobi stage: ITER: 44147 RES: 0.0008201
ELA: 18.463 Jacobi stage: ITER: 44399 RES: 0.00078896
ELA: 18.563 Jacobi stage: ITER: 44651 RES: 0.00075901
ELA: 18.664 Jacobi stage: ITER: 44901 RES: 0.00073019
ELA: 18.764 Jacobi stage: ITER: 45151 RES: 0.0007029
ELA: 18.864 Jacobi stage: ITER: 45403 RES: 0.00067621
ELA: 18.964 Jacobi stage: ITER: 45655 RES: 0.00065053
ELA: 19.064 Jacobi stage: ITER: 45905 RES: 0.00062584
ELA: 19.164 Jacobi stage: ITER: 46157 RES: 0.00060207
ELA: 19.264 Jacobi stage: ITER: 46407 RES: 0.00057957
ELA: 19.365 Jacobi stage: ITER: 46659 RES: 0.00055756
ELA: 19.465 Jacobi stage: ITER: 46911 RES: 0.0005364
ELA: 19.565 Jacobi stage: ITER: 47161 RES: 0.00051603
ELA: 19.665 Jacobi stage: ITER: 47411 RES: 0.00049674
ELA: 19.765 Jacobi stage: ITER: 47663 RES: 0.00047788
ELA: 19.865 Jacobi stage: ITER: 47915 RES: 0.00045974
ELA: 19.965 Jacobi stage: ITER: 48165 RES: 0.00044228
ELA: 20.066 Jacobi stage: ITER: 48417 RES: 0.00042549
ELA: 20.166 Jacobi stage: ITER: 48667 RES: 0.00040959
ELA: 20.266 Jacobi stage: ITER: 48919 RES: 0.00039403
ELA: 20.366 Jacobi stage: ITER: 49171 RES: 0.00037907
ELA: 20.466 Jacobi stage: ITER: 49421 RES: 0.00036468
ELA: 20.566 Jacobi stage: ITER: 49671 RES: 0.00035105
ELA: 20.666 Jacobi stage: ITER: 49923 RES: 0.00033772
ELA: 20.767 Jacobi stage: ITER: 50175 RES: 0.0003249
ELA: 20.867 Jacobi stage: ITER: 50425 RES: 0.00031256
ELA: 20.967 Jacobi stage: ITER: 50677 RES: 0.0003007
ELA: 21.067 Jacobi stage: ITER: 50927 RES: 0.00028946
ELA: 21.167 Jacobi stage: ITER: 51179 RES: 0.00027847
ELA: 21.267 Jacobi stage: ITER: 51431 RES: 0.00026789
ELA: 21.367 Jacobi stage: ITER: 51681 RES: 0.00025772
ELA: 21.467 Jacobi stage: ITER: 51931 RES: 0.00024809
ELA: 21.568 Jacobi stage: ITER: 52183 RES: 0.00023867
ELA: 21.668 Jacobi stage: ITER: 52435 RES: 0.00022961
ELA: 21.768 Jacobi stage: ITER: 52685 RES: 0.00022089
ELA: 21.868 Jacobi stage: ITER: 52937 RES: 0.0002125
ELA: 21.968 Jacobi stage: ITER: 53187 RES: 0.00020456
ELA: 22.068 Jacobi stage: ITER: 53439 RES: 0.00019679
ELA: 22.168 Jacobi stage: ITER: 53691 RES: 0.00018932
ELA: 22.269 Jacobi stage: ITER: 53941 RES: 0.00018213
ELA: 22.369 Jacobi stage: ITER: 54191 RES: 0.00017533
ELA: 22.469 Jacobi stage: ITER: 54443 RES: 0.00016867
ELA: 22.569 Jacobi stage: ITER: 54695 RES: 0.00016227
ELA: 22.669 Jacobi stage: ITER: 54947 RES: 0.0001561
ELA: 22.769 Jacobi stage: ITER: 55197 RES: 0.00015018
ELA: 22.869 Jacobi stage: ITER: 55447 RES: 0.00014456
ELA: 22.97 Jacobi stage: ITER: 55699 RES: 0.00013908
ELA: 23.07 Jacobi stage: ITER: 55951 RES: 0.0001338
ELA: 23.17 Jacobi stage: ITER: 56203 RES: 0.00012872
ELA: 23.27 Jacobi stage: ITER: 56453 RES: 0.00012383
ELA: 23.37 Jacobi stage: ITER: 56703 RES: 0.0001192
ELA: 23.47 Jacobi stage: ITER: 56955 RES: 0.00011467
ELA: 23.57 Jacobi stage: ITER: 57207 RES: 0.00011032
ELA: 23.671 Jacobi stage: ITER: 57457 RES: 0.00010613
ELA: 23.771 Jacobi stage: ITER: 57709 RES: 0.0001021
ELA: 23.871 Jacobi stage: ITER: 57959 RES: 9.8286e-05
ELA: 23.971 Jacobi stage: ITER: 58211 RES: 9.4554e-05
ELA: 24.071 Jacobi stage: ITER: 58463 RES: 9.0964e-05
ELA: 24.171 Jacobi stage: ITER: 58713 RES: 8.751e-05
ELA: 24.271 Jacobi stage: ITER: 58963 RES: 8.424e-05
ELA: 24.371 Jacobi stage: ITER: 59215 RES: 8.1041e-05
ELA: 24.472 Jacobi stage: ITER: 59467 RES: 7.7964e-05
ELA: 24.572 Jacobi stage: ITER: 59717 RES: 7.5004e-05
ELA: 24.672 Jacobi stage: ITER: 59967 RES: 7.2201e-05
ELA: 24.772 Jacobi stage: ITER: 60219 RES: 6.9459e-05
ELA: 24.872 Jacobi stage: ITER: 60471 RES: 6.6822e-05
ELA: 24.972 Jacobi stage: ITER: 60723 RES: 6.4285e-05
ELA: 25.072 Jacobi stage: ITER: 60973 RES: 6.1844e-05
ELA: 25.172 Jacobi stage: ITER: 61223 RES: 5.9533e-05
ELA: 25.273 Jacobi stage: ITER: 61475 RES: 5.7272e-05
ELA: 25.373 Jacobi stage: ITER: 61727 RES: 5.5098e-05
ELA: 25.473 Jacobi stage: ITER: 61977 RES: 5.3006e-05
ELA: 25.573 Jacobi stage: ITER: 62229 RES: 5.0993e-05
ELA: 25.673 Jacobi stage: ITER: 62479 RES: 4.9087e-05
ELA: 25.773 Jacobi stage: ITER: 62731 RES: 4.7224e-05
ELA: 25.873 Jacobi stage: ITER: 62983 RES: 4.5431e-05
ELA: 25.973 Jacobi stage: ITER: 63233 RES: 4.3706e-05
ELA: 26.074 Jacobi stage: ITER: 63485 RES: 4.2046e-05
ELA: 26.174 Jacobi stage: ITER: 63735 RES: 4.0475e-05
ELA: 26.274 Jacobi stage: ITER: 63987 RES: 3.8938e-05
ELA: 26.374 Jacobi stage: ITER: 64239 RES: 3.746e-05
ELA: 26.474 Jacobi stage: ITER: 64489 RES: 3.6037e-05
ELA: 26.574 Jacobi stage: ITER: 64741 RES: 3.4669e-05
ELA: 26.674 Jacobi stage: ITER: 64991 RES: 3.3373e-05
ELA: 26.775 Jacobi stage: ITER: 65243 RES: 3.2106e-05
ELA: 26.875 Jacobi stage: ITER: 65495 RES: 3.0887e-05
ELA: 26.975 Jacobi stage: ITER: 65745 RES: 2.9714e-05
ELA: 27.075 Jacobi stage: ITER: 65995 RES: 2.8586e-05
ELA: 27.175 Jacobi stage: ITER: 66247 RES: 2.7518e-05
ELA: 27.275 Jacobi stage: ITER: 66499 RES: 2.6473e-05
ELA: 27.375 Jacobi stage: ITER: 66751 RES: 2.5468e-05
ELA: 27.475 Jacobi stage: ITER: 67001 RES: 2.4501e-05
ELA: 27.576 Jacobi stage: ITER: 67251 RES: 2.3585e-05
ELA: 27.676 Jacobi stage: ITER: 67503 RES: 2.269e-05
ELA: 27.776 Jacobi stage: ITER: 67755 RES: 2.1828e-05
ELA: 27.876 Jacobi stage: ITER: 68005 RES: 2.0999e-05
ELA: 27.976 Jacobi stage: ITER: 68257 RES: 2.0202e-05
ELA: 28.076 Jacobi stage: ITER: 68507 RES: 1.9447e-05
ELA: 28.176 Jacobi stage: ITER: 68759 RES: 1.8709e-05
ELA: 28.276 Jacobi stage: ITER: 69011 RES: 1.7998e-05
ELA: 28.377 Jacobi stage: ITER: 69261 RES: 1.7315e-05
ELA: 28.477 Jacobi stage: ITER: 69511 RES: 1.6668e-05
ELA: 28.577 Jacobi stage: ITER: 69763 RES: 1.6035e-05
ELA: 28.677 Jacobi stage: ITER: 70015 RES: 1.5426e-05
ELA: 28.777 Jacobi stage: ITER: 70267 RES: 1.484e-05
ELA: 28.877 Jacobi stage: ITER: 70517 RES: 1.4277e-05
ELA: 28.977 Jacobi stage: ITER: 70767 RES: 1.3743e-05
ELA: 29.077 Jacobi stage: ITER: 71019 RES: 1.3221e-05
ELA: 29.178 Jacobi stage: ITER: 71271 RES: 1.2719e-05
ELA: 29.278 Jacobi stage: ITER: 71521 RES: 1.2237e-05
ELA: 29.378 Jacobi stage: ITER: 71773 RES: 1.1772e-05
ELA: 29.478 Jacobi stage: ITER: 72023 RES: 1.1332e-05
ELA: 29.578 Jacobi stage: ITER: 72275 RES: 1.0902e-05
ELA: 29.678 Jacobi stage: ITER: 72527 RES: 1.0488e-05
ELA: 29.778 Jacobi stage: ITER: 72777 RES: 1.009e-05
ELA: 29.879 Jacobi stage: ITER: 73027 RES: 9.7125e-06
ELA: 29.979 Jacobi stage: ITER: 73279 RES: 9.3437e-06
ELA: 30.079 Jacobi stage: ITER: 73531 RES: 8.9889e-06
ELA: 30.179 Jacobi stage: ITER: 73781 RES: 8.6477e-06
ELA: 30.279 Jacobi stage: ITER: 74033 RES: 8.3193e-06
ELA: 30.379 Jacobi stage: ITER: 74283 RES: 8.0084e-06
ELA: 30.479 Jacobi stage: ITER: 74535 RES: 7.7043e-06
ELA: 30.579 Jacobi stage: ITER: 74787 RES: 7.4118e-06
ELA: 30.68 Jacobi stage: ITER: 75037 RES: 7.1304e-06
ELA: 30.78 Jacobi stage: ITER: 75289 RES: 6.8597e-06
ELA: 30.88 Jacobi stage: ITER: 75539 RES: 6.6033e-06
ELA: 30.98 Jacobi stage: ITER: 75791 RES: 6.3525e-06
ELA: 31.08 Jacobi stage: ITER: 76043 RES: 6.1114e-06
ELA: 31.18 Jacobi stage: ITER: 76293 RES: 5.8793e-06
ELA: 31.28 Jacobi stage: ITER: 76543 RES: 5.6596e-06
ELA: 31.38 Jacobi stage: ITER: 76795 RES: 5.4447e-06
ELA: 31.481 Jacobi stage: ITER: 77047 RES: 5.238e-06
ELA: 31.581 Jacobi stage: ITER: 77297 RES: 5.0391e-06
ELA: 31.681 Jacobi stage: ITER: 77549 RES: 4.8478e-06
ELA: 31.781 Jacobi stage: ITER: 77799 RES: 4.6666e-06
ELA: 31.881 Jacobi stage: ITER: 78051 RES: 4.4894e-06
ELA: 31.981 Jacobi stage: ITER: 78303 RES: 4.3189e-06
ELA: 32.081 Jacobi stage: ITER: 78553 RES: 4.155e-06
ELA: 32.181 Jacobi stage: ITER: 78803 RES: 3.9997e-06
ELA: 32.281 Jacobi stage: ITER: 79055 RES: 3.8478e-06
ELA: 32.382 Jacobi stage: ITER: 79307 RES: 3.7017e-06
ELA: 32.482 Jacobi stage: ITER: 79557 RES: 3.5612e-06
ELA: 32.582 Jacobi stage: ITER: 79809 RES: 3.4259e-06
ELA: 32.682 Jacobi stage: ITER: 80059 RES: 3.2979e-06
ELA: 32.782 Jacobi stage: ITER: 80311 RES: 3.1727e-06
ELA: 32.882 Jacobi stage: ITER: 80563 RES: 3.0522e-06
ELA: 32.982 Jacobi stage: ITER: 80813 RES: 2.9363e-06
ELA: 33.082 Jacobi stage: ITER: 81065 RES: 2.8248e-06
ELA: 33.183 Jacobi stage: ITER: 81315 RES: 2.7193e-06
ELA: 33.283 Jacobi stage: ITER: 81567 RES: 2.616e-06
ELA: 33.383 Jacobi stage: ITER: 81819 RES: 2.5167e-06
ELA: 33.483 Jacobi stage: ITER: 82069 RES: 2.4211e-06
ELA: 33.583 Jacobi stage: ITER: 82319 RES: 2.3306e-06
ELA: 33.683 Jacobi stage: ITER: 82571 RES: 2.2422e-06
ELA: 33.783 Jacobi stage: ITER: 82823 RES: 2.157e-06
ELA: 33.883 Jacobi stage: ITER: 83075 RES: 2.0751e-06
ELA: 33.984 Jacobi stage: ITER: 83325 RES: 1.9963e-06
ELA: 34.084 Jacobi stage: ITER: 83575 RES: 1.9217e-06
ELA: 34.184 Jacobi stage: ITER: 83827 RES: 1.8488e-06
ELA: 34.284 Jacobi stage: ITER: 84079 RES: 1.7786e-06
ELA: 34.384 Jacobi stage: ITER: 84329 RES: 1.711e-06
ELA: 34.484 Jacobi stage: ITER: 84581 RES: 1.6461e-06
ELA: 34.584 Jacobi stage: ITER: 84831 RES: 1.5845e-06
ELA: 34.684 Jacobi stage: ITER: 85083 RES: 1.5244e-06
ELA: 34.785 Jacobi stage: ITER: 85343 RES: 1.4647e-06
ELA: 34.885 Jacobi stage: ITER: 85721 RES: 1.3817e-06
ELA: 34.985 Jacobi stage: ITER: 86099 RES: 1.3041e-06
ELA: 35.085 Jacobi stage: ITER: 86475 RES: 1.2309e-06
ELA: 35.185 Jacobi stage: ITER: 86853 RES: 1.1611e-06
ELA: 35.285 Jacobi stage: ITER: 87237 RES: 1.0946e-06
ELA: 35.385 Jacobi stage: ITER: 87615 RES: 1.0332e-06
Vector x = [ 0.999999, 0.999999, 0.999998, 0.999999, 0.999999 ]