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__
Definition Macros.h:49
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: 22665 RES: 0.022221
Jacobi stage: ITER: 44939 RES: 0.00072616
Jacobi stage: ITER: 67501 RES: 2.269e-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: 1355 RES: 0.67467
Jacobi stage: ITER: 1733 RES: 0.61714
Jacobi stage: ITER: 2113 RES: 0.56821
Jacobi stage: ITER: 2439 RES: 0.53178
Jacobi stage: ITER: 2691 RES: 0.50617
Jacobi stage: ITER: 2951 RES: 0.48187
Jacobi stage: ITER: 3203 RES: 0.46007
Jacobi stage: ITER: 3459 RES: 0.43946
Jacobi stage: ITER: 3765 RES: 0.41645
Jacobi stage: ITER: 4035 RES: 0.3978
Jacobi stage: ITER: 4305 RES: 0.38003
Jacobi stage: ITER: 4559 RES: 0.3645
Jacobi stage: ITER: 5035 RES: 0.33728
Jacobi stage: ITER: 5727 RES: 0.30194
Jacobi stage: ITER: 6857 RES: 0.25276
Jacobi stage: ITER: 6987 RES: 0.24777
Jacobi stage: ITER: 7099 RES: 0.24349
Jacobi stage: ITER: 7289 RES: 0.23633
Jacobi stage: ITER: 7543 RES: 0.22727
Jacobi stage: ITER: 7775 RES: 0.21925
Jacobi stage: ITER: 8631 RES: 0.19209
Jacobi stage: ITER: 9261 RES: 0.17426
Jacobi stage: ITER: 9487 RES: 0.16835
Jacobi stage: ITER: 9787 RES: 0.16075
Jacobi stage: ITER: 10583 RES: 0.14222
Jacobi stage: ITER: 10695 RES: 0.1398
Jacobi stage: ITER: 10823 RES: 0.13707
Jacobi stage: ITER: 11055 RES: 0.13227
Jacobi stage: ITER: 11507 RES: 0.12339
Jacobi stage: ITER: 11757 RES: 0.1187
Jacobi stage: ITER: 12245 RES: 0.11013
Jacobi stage: ITER: 12927 RES: 0.099202
Jacobi stage: ITER: 13209 RES: 0.094967
Jacobi stage: ITER: 13455 RES: 0.091473
Jacobi stage: ITER: 13639 RES: 0.088924
Jacobi stage: ITER: 13883 RES: 0.085652
Jacobi stage: ITER: 15051 RES: 0.071584
Jacobi stage: ITER: 15223 RES: 0.069718
Jacobi stage: ITER: 15491 RES: 0.066906
Jacobi stage: ITER: 15711 RES: 0.064683
Jacobi stage: ITER: 15951 RES: 0.062342
Jacobi stage: ITER: 16167 RES: 0.060307
Jacobi stage: ITER: 17179 RES: 0.051625
Jacobi stage: ITER: 17463 RES: 0.049421
Jacobi stage: ITER: 17709 RES: 0.047574
Jacobi stage: ITER: 18079 RES: 0.044959
Jacobi stage: ITER: 18331 RES: 0.043252
Jacobi stage: ITER: 18651 RES: 0.041178
Jacobi stage: ITER: 18931 RES: 0.039444
Jacobi stage: ITER: 19191 RES: 0.0379
Jacobi stage: ITER: 19503 RES: 0.036127
Jacobi stage: ITER: 19799 RES: 0.034521
Jacobi stage: ITER: 20915 RES: 0.029083
Jacobi stage: ITER: 22353 RES: 0.023312
Jacobi stage: ITER: 22635 RES: 0.02233
Jacobi stage: ITER: 22763 RES: 0.021896
Jacobi stage: ITER: 22827 RES: 0.021681
Jacobi stage: ITER: 22951 RES: 0.021272
Jacobi stage: ITER: 23045 RES: 0.020961
Jacobi stage: ITER: 23117 RES: 0.02073
Jacobi stage: ITER: 23199 RES: 0.020477
Jacobi stage: ITER: 23263 RES: 0.020277
Jacobi stage: ITER: 23407 RES: 0.019833
Jacobi stage: ITER: 23517 RES: 0.019495
Jacobi stage: ITER: 23595 RES: 0.019269
Jacobi stage: ITER: 23781 RES: 0.01872
Jacobi stage: ITER: 23973 RES: 0.018176
Jacobi stage: ITER: 24207 RES: 0.01754
Jacobi stage: ITER: 24459 RES: 0.016874
Jacobi stage: ITER: 24679 RES: 0.016313
Jacobi stage: ITER: 24879 RES: 0.01582
Jacobi stage: ITER: 25121 RES: 0.015238
Jacobi stage: ITER: 25369 RES: 0.014668
Jacobi stage: ITER: 25623 RES: 0.014111
Jacobi stage: ITER: 25877 RES: 0.013567
Jacobi stage: ITER: 26131 RES: 0.013052
Jacobi stage: ITER: 26387 RES: 0.012549
Jacobi stage: ITER: 26563 RES: 0.012214
Jacobi stage: ITER: 26803 RES: 0.011772
Jacobi stage: ITER: 27023 RES: 0.011381
Jacobi stage: ITER: 27279 RES: 0.010942
Jacobi stage: ITER: 27491 RES: 0.010592
Jacobi stage: ITER: 27741 RES: 0.010189
Jacobi stage: ITER: 27993 RES: 0.0098026
Jacobi stage: ITER: 28219 RES: 0.009471
Jacobi stage: ITER: 28427 RES: 0.0091732
Jacobi stage: ITER: 28675 RES: 0.0088304
Jacobi stage: ITER: 28889 RES: 0.0085422
Jacobi stage: ITER: 29143 RES: 0.0082179
Jacobi stage: ITER: 29393 RES: 0.0079058
Jacobi stage: ITER: 29615 RES: 0.0076431
Jacobi stage: ITER: 29867 RES: 0.007353
Jacobi stage: ITER: 30089 RES: 0.0071043
Jacobi stage: ITER: 30311 RES: 0.0068682
Jacobi stage: ITER: 30559 RES: 0.0066115
Jacobi stage: ITER: 30779 RES: 0.0063918
Jacobi stage: ITER: 31031 RES: 0.0061491
Jacobi stage: ITER: 31279 RES: 0.0059193
Jacobi stage: ITER: 31535 RES: 0.005691
Jacobi stage: ITER: 31751 RES: 0.0055053
Jacobi stage: ITER: 31971 RES: 0.0053224
Jacobi stage: ITER: 32219 RES: 0.0051235
Jacobi stage: ITER: 32467 RES: 0.004932
Jacobi stage: ITER: 32691 RES: 0.0047652
Jacobi stage: ITER: 32939 RES: 0.0045871
Jacobi stage: ITER: 33151 RES: 0.0044401
Jacobi stage: ITER: 33403 RES: 0.0042715
Jacobi stage: ITER: 33653 RES: 0.0041093
Jacobi stage: ITER: 33879 RES: 0.0039703
Jacobi stage: ITER: 34145 RES: 0.0038102
Jacobi stage: ITER: 34323 RES: 0.0037086
Jacobi stage: ITER: 34575 RES: 0.0035678
Jacobi stage: ITER: 34823 RES: 0.0034344
Jacobi stage: ITER: 35259 RES: 0.003212
Jacobi stage: ITER: 35421 RES: 0.0031321
Jacobi stage: ITER: 35679 RES: 0.0030113
Jacobi stage: ITER: 35975 RES: 0.0028774
Jacobi stage: ITER: 36283 RES: 0.0027445
Jacobi stage: ITER: 36529 RES: 0.0026419
Jacobi stage: ITER: 36739 RES: 0.0025588
Jacobi stage: ITER: 36995 RES: 0.0024602
Jacobi stage: ITER: 37279 RES: 0.0023552
Jacobi stage: ITER: 37491 RES: 0.0022797
Jacobi stage: ITER: 37719 RES: 0.0022012
Jacobi stage: ITER: 37973 RES: 0.0021164
Jacobi stage: ITER: 38229 RES: 0.0020348
Jacobi stage: ITER: 38467 RES: 0.0019623
Jacobi stage: ITER: 38653 RES: 0.0019065
Jacobi stage: ITER: 38901 RES: 0.0018352
Jacobi stage: ITER: 39155 RES: 0.0017655
Jacobi stage: ITER: 39399 RES: 0.0017006
Jacobi stage: ITER: 39655 RES: 0.001635
Jacobi stage: ITER: 39851 RES: 0.0015865
Jacobi stage: ITER: 40091 RES: 0.0015291
Jacobi stage: ITER: 40315 RES: 0.0014774
Jacobi stage: ITER: 40551 RES: 0.0014248
Jacobi stage: ITER: 40767 RES: 0.0013783
Jacobi stage: ITER: 41053 RES: 0.0013186
Jacobi stage: ITER: 41343 RES: 0.0012616
Jacobi stage: ITER: 41553 RES: 0.0012212
Jacobi stage: ITER: 41775 RES: 0.0011806
Jacobi stage: ITER: 42035 RES: 0.0011344
Jacobi stage: ITER: 42299 RES: 0.0010893
Jacobi stage: ITER: 42549 RES: 0.0010479
Jacobi stage: ITER: 42797 RES: 0.0010088
Jacobi stage: ITER: 43041 RES: 0.00097166
Jacobi stage: ITER: 43275 RES: 0.00093764
Jacobi stage: ITER: 43495 RES: 0.00090648
Jacobi stage: ITER: 43747 RES: 0.00087207
Jacobi stage: ITER: 43971 RES: 0.00084257
Jacobi stage: ITER: 44219 RES: 0.00081108
Jacobi stage: ITER: 44465 RES: 0.00078076
Jacobi stage: ITER: 44723 RES: 0.00075066
Jacobi stage: ITER: 44967 RES: 0.00072305
Jacobi stage: ITER: 45187 RES: 0.00069902
Jacobi stage: ITER: 45427 RES: 0.00067372
Jacobi stage: ITER: 45641 RES: 0.00065173
Jacobi stage: ITER: 45899 RES: 0.0006266
Jacobi stage: ITER: 46155 RES: 0.00060244
Jacobi stage: ITER: 46411 RES: 0.00057921
Jacobi stage: ITER: 46639 RES: 0.00055928
Jacobi stage: ITER: 46865 RES: 0.00054003
Jacobi stage: ITER: 47129 RES: 0.00051857
Jacobi stage: ITER: 47381 RES: 0.00049888
Jacobi stage: ITER: 47631 RES: 0.00048024
Jacobi stage: ITER: 47883 RES: 0.000462
Jacobi stage: ITER: 48137 RES: 0.00044419
Jacobi stage: ITER: 48389 RES: 0.00042732
Jacobi stage: ITER: 48641 RES: 0.0004111
Jacobi stage: ITER: 48895 RES: 0.00039549
Jacobi stage: ITER: 49147 RES: 0.00038047
Jacobi stage: ITER: 49399 RES: 0.00036603
Jacobi stage: ITER: 49651 RES: 0.00035213
Jacobi stage: ITER: 49903 RES: 0.00033876
Jacobi stage: ITER: 50155 RES: 0.0003259
Jacobi stage: ITER: 50409 RES: 0.00031333
Jacobi stage: ITER: 50663 RES: 0.00030144
Jacobi stage: ITER: 50915 RES: 0.00028999
Jacobi stage: ITER: 51167 RES: 0.00027898
Jacobi stage: ITER: 51421 RES: 0.00026822
Jacobi stage: ITER: 51673 RES: 0.00025804
Jacobi stage: ITER: 51925 RES: 0.00024824
Jacobi stage: ITER: 52179 RES: 0.00023882
Jacobi stage: ITER: 52431 RES: 0.00022975
Jacobi stage: ITER: 52683 RES: 0.00022103
Jacobi stage: ITER: 52935 RES: 0.00021263
Jacobi stage: ITER: 53187 RES: 0.00020456
Jacobi stage: ITER: 53439 RES: 0.00019679
Jacobi stage: ITER: 53691 RES: 0.00018932
Jacobi stage: ITER: 53945 RES: 0.00018202
Jacobi stage: ITER: 54197 RES: 0.00017511
Jacobi stage: ITER: 54449 RES: 0.00016846
Jacobi stage: ITER: 54703 RES: 0.00016207
Jacobi stage: ITER: 54955 RES: 0.00015591
Jacobi stage: ITER: 55207 RES: 0.00014999
Jacobi stage: ITER: 55459 RES: 0.0001443
Jacobi stage: ITER: 55711 RES: 0.00013882
Jacobi stage: ITER: 55963 RES: 0.00013355
Jacobi stage: ITER: 56217 RES: 0.0001284
Jacobi stage: ITER: 56469 RES: 0.00012352
Jacobi stage: ITER: 56721 RES: 0.00011883
Jacobi stage: ITER: 56973 RES: 0.00011432
Jacobi stage: ITER: 57227 RES: 0.00010998
Jacobi stage: ITER: 57479 RES: 0.00010581
Jacobi stage: ITER: 57731 RES: 0.00010179
Jacobi stage: ITER: 57983 RES: 9.7924e-05
Jacobi stage: ITER: 58235 RES: 9.4206e-05
Jacobi stage: ITER: 58487 RES: 9.0629e-05
Jacobi stage: ITER: 58741 RES: 8.7135e-05
Jacobi stage: ITER: 58993 RES: 8.3826e-05
Jacobi stage: ITER: 59229 RES: 8.0842e-05
Jacobi stage: ITER: 59473 RES: 7.7868e-05
Jacobi stage: ITER: 59967 RES: 7.2201e-05
Jacobi stage: ITER: 60219 RES: 6.9459e-05
Jacobi stage: ITER: 60473 RES: 6.6781e-05
Jacobi stage: ITER: 60725 RES: 6.4245e-05
Jacobi stage: ITER: 60979 RES: 6.1806e-05
Jacobi stage: ITER: 61231 RES: 5.946e-05
Jacobi stage: ITER: 61483 RES: 5.7202e-05
Jacobi stage: ITER: 61735 RES: 5.503e-05
Jacobi stage: ITER: 61987 RES: 5.2941e-05
Jacobi stage: ITER: 62239 RES: 5.0931e-05
Jacobi stage: ITER: 62493 RES: 4.8967e-05
Jacobi stage: ITER: 62745 RES: 4.7108e-05
Jacobi stage: ITER: 62997 RES: 4.5319e-05
Jacobi stage: ITER: 63251 RES: 4.3598e-05
Jacobi stage: ITER: 63503 RES: 4.1943e-05
Jacobi stage: ITER: 63755 RES: 4.0351e-05
Jacobi stage: ITER: 64007 RES: 3.8819e-05
Jacobi stage: ITER: 64259 RES: 3.7345e-05
Jacobi stage: ITER: 64511 RES: 3.5927e-05
Jacobi stage: ITER: 64763 RES: 3.4563e-05
Jacobi stage: ITER: 65017 RES: 3.323e-05
Jacobi stage: ITER: 65269 RES: 3.1968e-05
Jacobi stage: ITER: 65521 RES: 3.0755e-05
Jacobi stage: ITER: 65775 RES: 2.9587e-05
Jacobi stage: ITER: 66027 RES: 2.8463e-05
Jacobi stage: ITER: 66279 RES: 2.7383e-05
Jacobi stage: ITER: 66531 RES: 2.6343e-05
Jacobi stage: ITER: 66783 RES: 2.5343e-05
Jacobi stage: ITER: 67037 RES: 2.4366e-05
Jacobi stage: ITER: 67289 RES: 2.3441e-05
Jacobi stage: ITER: 67541 RES: 2.2551e-05
Jacobi stage: ITER: 67795 RES: 2.1694e-05
Jacobi stage: ITER: 68047 RES: 2.0871e-05
Jacobi stage: ITER: 68299 RES: 2.0078e-05
Jacobi stage: ITER: 68551 RES: 1.9316e-05
Jacobi stage: ITER: 68803 RES: 1.8583e-05
Jacobi stage: ITER: 69055 RES: 1.7877e-05
Jacobi stage: ITER: 69309 RES: 1.7188e-05
Jacobi stage: ITER: 69561 RES: 1.6535e-05
Jacobi stage: ITER: 69813 RES: 1.5907e-05
Jacobi stage: ITER: 70067 RES: 1.5303e-05
Jacobi stage: ITER: 70319 RES: 1.4722e-05
Jacobi stage: ITER: 70571 RES: 1.4163e-05
Jacobi stage: ITER: 70823 RES: 1.3626e-05
Jacobi stage: ITER: 71075 RES: 1.3108e-05
Jacobi stage: ITER: 71327 RES: 1.2611e-05
Jacobi stage: ITER: 71581 RES: 1.2124e-05
Jacobi stage: ITER: 71833 RES: 1.1664e-05
Jacobi stage: ITER: 72083 RES: 1.1228e-05
Jacobi stage: ITER: 72335 RES: 1.0802e-05
Jacobi stage: ITER: 72587 RES: 1.0392e-05
Jacobi stage: ITER: 72839 RES: 9.997e-06
Jacobi stage: ITER: 73091 RES: 9.6175e-06
Jacobi stage: ITER: 73345 RES: 9.2466e-06
Jacobi stage: ITER: 73597 RES: 8.8955e-06
Jacobi stage: ITER: 73849 RES: 8.5578e-06
Jacobi stage: ITER: 74103 RES: 8.2329e-06
Jacobi stage: ITER: 74355 RES: 7.9203e-06
Jacobi stage: ITER: 74607 RES: 7.6196e-06
Jacobi stage: ITER: 74859 RES: 7.3303e-06
Jacobi stage: ITER: 75111 RES: 7.052e-06
Jacobi stage: ITER: 75363 RES: 6.7842e-06
Jacobi stage: ITER: 75617 RES: 6.5226e-06
Jacobi stage: ITER: 75869 RES: 6.275e-06
Jacobi stage: ITER: 76123 RES: 6.0367e-06
Jacobi stage: ITER: 76375 RES: 5.8075e-06
Jacobi stage: ITER: 76627 RES: 5.587e-06
Jacobi stage: ITER: 76879 RES: 5.3749e-06
Jacobi stage: ITER: 77131 RES: 5.1708e-06
Jacobi stage: ITER: 77383 RES: 4.9745e-06
Jacobi stage: ITER: 77635 RES: 4.7856e-06
Jacobi stage: ITER: 77889 RES: 4.6011e-06
Jacobi stage: ITER: 78141 RES: 4.4264e-06
Jacobi stage: ITER: 78393 RES: 4.2583e-06
Jacobi stage: ITER: 78645 RES: 4.0967e-06
Jacobi stage: ITER: 78899 RES: 3.9411e-06
Jacobi stage: ITER: 79151 RES: 3.7915e-06
Jacobi stage: ITER: 79403 RES: 3.6475e-06
Jacobi stage: ITER: 79655 RES: 3.509e-06
Jacobi stage: ITER: 79907 RES: 3.3758e-06
Jacobi stage: ITER: 80159 RES: 3.2476e-06
Jacobi stage: ITER: 80411 RES: 3.1243e-06
Jacobi stage: ITER: 80665 RES: 3.0038e-06
Jacobi stage: ITER: 80917 RES: 2.8898e-06
Jacobi stage: ITER: 81169 RES: 2.7801e-06
Jacobi stage: ITER: 81423 RES: 2.6745e-06
Jacobi stage: ITER: 81675 RES: 2.573e-06
Jacobi stage: ITER: 81927 RES: 2.4753e-06
Jacobi stage: ITER: 82179 RES: 2.3813e-06
Jacobi stage: ITER: 82431 RES: 2.2909e-06
Jacobi stage: ITER: 82683 RES: 2.2039e-06
Jacobi stage: ITER: 82935 RES: 2.1202e-06
Jacobi stage: ITER: 83187 RES: 2.0397e-06
Jacobi stage: ITER: 83441 RES: 1.9611e-06
Jacobi stage: ITER: 83693 RES: 1.8866e-06
Jacobi stage: ITER: 83945 RES: 1.815e-06
Jacobi stage: ITER: 84199 RES: 1.7461e-06
Jacobi stage: ITER: 84451 RES: 1.6798e-06
Jacobi stage: ITER: 84703 RES: 1.616e-06
Jacobi stage: ITER: 84955 RES: 1.5547e-06
Jacobi stage: ITER: 85207 RES: 1.4956e-06
Jacobi stage: ITER: 85459 RES: 1.4388e-06
Jacobi stage: ITER: 85711 RES: 1.3842e-06
Jacobi stage: ITER: 85977 RES: 1.3284e-06
Jacobi stage: ITER: 86355 RES: 1.2538e-06
Jacobi stage: ITER: 86735 RES: 1.1827e-06
Jacobi stage: ITER: 87115 RES: 1.1157e-06
Jacobi stage: ITER: 87495 RES: 1.0524e-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.0551e-
ELA: 0.10014 Jacobi stage: ITER: 23165 RES: 0.020578
ELA: 0.2004 Jacobi stage: ITER: 46521 RES: 0.00056933
ELA: 0.30052 Jacobi stage: ITER: 70851 RES: 1.3559e-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:0.000111
ELA: 0.10022 Jacobi stage: ITER: 383 RES: 0.88222
ELA: 0.20035 Jacobi stage: ITER: 761 RES: 0.78805
ELA: 0.3011 Jacobi stage: ITER: 1145 RES: 0.71072
ELA: 0.40211 Jacobi stage: ITER: 1437 RES: 0.66109
ELA: 0.50223 Jacobi stage: ITER: 1691 RES: 0.62332
ELA: 0.60236 Jacobi stage: ITER: 1931 RES: 0.59097
ELA: 0.70248 Jacobi stage: ITER: 2183 RES: 0.5602
ELA: 0.8026 Jacobi stage: ITER: 2449 RES: 0.53051
ELA: 0.9101 Jacobi stage: ITER: 2735 RES: 0.50192
ELA: 1.0121 Jacobi stage: ITER: 2963 RES: 0.48079
ELA: 1.1122 Jacobi stage: ITER: 3239 RES: 0.45708
ELA: 1.2123 Jacobi stage: ITER: 3477 RES: 0.43791
ELA: 1.3125 Jacobi stage: ITER: 3645 RES: 0.4252
ELA: 1.4126 Jacobi stage: ITER: 3765 RES: 0.41645
ELA: 1.5127 Jacobi stage: ITER: 3927 RES: 0.40517
ELA: 1.6128 Jacobi stage: ITER: 4755 RES: 0.35297
ELA: 1.7129 Jacobi stage: ITER: 5743 RES: 0.30117
ELA: 1.813 Jacobi stage: ITER: 6151 RES: 0.28239
ELA: 1.9131 Jacobi stage: ITER: 6405 RES: 0.27126
ELA: 2.0141 Jacobi stage: ITER: 6691 RES: 0.25947
ELA: 2.1221 Jacobi stage: ITER: 6943 RES: 0.24948
ELA: 2.2222 Jacobi stage: ITER: 7183 RES: 0.24033
ELA: 2.3223 Jacobi stage: ITER: 7307 RES: 0.23575
ELA: 2.4224 Jacobi stage: ITER: 7431 RES: 0.23125
ELA: 2.5225 Jacobi stage: ITER: 7803 RES: 0.2183
ELA: 2.6227 Jacobi stage: ITER: 9295 RES: 0.1734
ELA: 2.7228 Jacobi stage: ITER: 10447 RES: 0.14523
ELA: 2.8241 Jacobi stage: ITER: 10895 RES: 0.13556
ELA: 2.9271 Jacobi stage: ITER: 11373 RES: 0.12592
ELA: 3.0281 Jacobi stage: ITER: 11951 RES: 0.11525
ELA: 3.1341 Jacobi stage: ITER: 12203 RES: 0.11087
ELA: 3.2351 Jacobi stage: ITER: 12723 RES: 0.10236
ELA: 3.3352 Jacobi stage: ITER: 12993 RES: 0.098171
ELA: 3.4353 Jacobi stage: ITER: 13251 RES: 0.094385
ELA: 3.5355 Jacobi stage: ITER: 13385 RES: 0.092434
ELA: 3.6356 Jacobi stage: ITER: 13623 RES: 0.089143
ELA: 3.7357 Jacobi stage: ITER: 14083 RES: 0.083061
ELA: 3.8358 Jacobi stage: ITER: 14287 RES: 0.080498
ELA: 3.936 Jacobi stage: ITER: 14403 RES: 0.079076
ELA: 4.0361 Jacobi stage: ITER: 14531 RES: 0.077537
ELA: 4.1431 Jacobi stage: ITER: 14759 RES: 0.074868
ELA: 4.2451 Jacobi stage: ITER: 15259 RES: 0.069333
ELA: 4.3452 Jacobi stage: ITER: 15447 RES: 0.06736
ELA: 4.4453 Jacobi stage: ITER: 15695 RES: 0.064842
ELA: 4.5461 Jacobi stage: ITER: 16215 RES: 0.059864
ELA: 4.6551 Jacobi stage: ITER: 18169 RES: 0.044329
ELA: 4.7552 Jacobi stage: ITER: 18423 RES: 0.042645
ELA: 4.8553 Jacobi stage: ITER: 18569 RES: 0.041687
ELA: 4.9555 Jacobi stage: ITER: 18663 RES: 0.041102
ELA: 5.0571 Jacobi stage: ITER: 18903 RES: 0.039614
ELA: 5.1572 Jacobi stage: ITER: 19171 RES: 0.038017
ELA: 5.2573 Jacobi stage: ITER: 19455 RES: 0.036394
ELA: 5.3575 Jacobi stage: ITER: 19587 RES: 0.035663
ELA: 5.4576 Jacobi stage: ITER: 20763 RES: 0.02977
ELA: 5.5651 Jacobi stage: ITER: 22899 RES: 0.021443
ELA: 5.6671 Jacobi stage: ITER: 24277 RES: 0.017347
ELA: 5.7672 Jacobi stage: ITER: 24483 RES: 0.016812
ELA: 5.8681 Jacobi stage: ITER: 24659 RES: 0.016364
ELA: 5.9682 Jacobi stage: ITER: 24839 RES: 0.015917
ELA: 6.0761 Jacobi stage: ITER: 25029 RES: 0.015455
ELA: 6.1791 Jacobi stage: ITER: 25229 RES: 0.014987
ELA: 6.2792 Jacobi stage: ITER: 25407 RES: 0.014588
ELA: 6.3861 Jacobi stage: ITER: 25513 RES: 0.014348
ELA: 6.4881 Jacobi stage: ITER: 25731 RES: 0.013879
ELA: 6.5882 Jacobi stage: ITER: 25899 RES: 0.013526
ELA: 6.6884 Jacobi stage: ITER: 26079 RES: 0.013157
ELA: 6.7885 Jacobi stage: ITER: 26319 RES: 0.012681
ELA: 6.8886 Jacobi stage: ITER: 26559 RES: 0.012222
ELA: 6.9887 Jacobi stage: ITER: 26795 RES: 0.011787
ELA: 7.0889 Jacobi stage: ITER: 27045 RES: 0.011339
ELA: 7.189 Jacobi stage: ITER: 27301 RES: 0.010902
ELA: 7.2891 Jacobi stage: ITER: 27559 RES: 0.010482
ELA: 7.3901 Jacobi stage: ITER: 27815 RES: 0.010077
ELA: 7.4902 Jacobi stage: ITER: 28069 RES: 0.0096888
ELA: 7.5904 Jacobi stage: ITER: 28323 RES: 0.0093209
ELA: 7.6905 Jacobi stage: ITER: 28577 RES: 0.0089615
ELA: 7.7906 Jacobi stage: ITER: 28815 RES: 0.0086425
ELA: 7.8907 Jacobi stage: ITER: 29007 RES: 0.0083913
ELA: 7.9908 Jacobi stage: ITER: 29255 RES: 0.0080777
ELA: 8.0909 Jacobi stage: ITER: 29477 RES: 0.0078045
ELA: 8.1911 Jacobi stage: ITER: 29727 RES: 0.0075128
ELA: 8.2931 Jacobi stage: ITER: 29949 RES: 0.0072587
ELA: 8.3932 Jacobi stage: ITER: 30199 RES: 0.0069874
ELA: 8.4933 Jacobi stage: ITER: 30455 RES: 0.006718
ELA: 8.5935 Jacobi stage: ITER: 30677 RES: 0.0064907
ELA: 8.6936 Jacobi stage: ITER: 30887 RES: 0.0062867
ELA: 8.7941 Jacobi stage: ITER: 31139 RES: 0.006048
ELA: 8.8951 Jacobi stage: ITER: 31361 RES: 0.0058434
ELA: 8.9952 Jacobi stage: ITER: 31611 RES: 0.005625
ELA: 9.0954 Jacobi stage: ITER: 31859 RES: 0.0054148
ELA: 9.1955 Jacobi stage: ITER: 32079 RES: 0.0052348
ELA: 9.2961 Jacobi stage: ITER: 32331 RES: 0.0050361
ELA: 9.3962 Jacobi stage: ITER: 32557 RES: 0.0048628
ELA: 9.4963 Jacobi stage: ITER: 32783 RES: 0.0046983
ELA: 9.5964 Jacobi stage: ITER: 33031 RES: 0.0045227
ELA: 9.6965 Jacobi stage: ITER: 33259 RES: 0.004367
ELA: 9.7967 Jacobi stage: ITER: 33505 RES: 0.0042038
ELA: 9.8968 Jacobi stage: ITER: 33759 RES: 0.0040442
ELA: 9.9969 Jacobi stage: ITER: 34015 RES: 0.0038883
ELA: 10.097 Jacobi stage: ITER: 34231 RES: 0.0037614
ELA: 10.197 Jacobi stage: ITER: 34451 RES: 0.0036364
ELA: 10.297 Jacobi stage: ITER: 34703 RES: 0.0034983
ELA: 10.398 Jacobi stage: ITER: 34961 RES: 0.0033614
ELA: 10.498 Jacobi stage: ITER: 35183 RES: 0.0032497
ELA: 10.598 Jacobi stage: ITER: 35431 RES: 0.0031282
ELA: 10.699 Jacobi stage: ITER: 35647 RES: 0.0030261
ELA: 10.799 Jacobi stage: ITER: 35899 RES: 0.0029112
ELA: 10.899 Jacobi stage: ITER: 36147 RES: 0.0028024
ELA: 10.999 Jacobi stage: ITER: 36375 RES: 0.002706
ELA: 11.1 Jacobi stage: ITER: 36563 RES: 0.002629
ELA: 11.2 Jacobi stage: ITER: 36763 RES: 0.0025494
ELA: 11.3 Jacobi stage: ITER: 37011 RES: 0.0024541
ELA: 11.4 Jacobi stage: ITER: 37231 RES: 0.0023726
ELA: 11.5 Jacobi stage: ITER: 37531 RES: 0.0022657
ELA: 11.601 Jacobi stage: ITER: 37931 RES: 0.0021307
ELA: 11.701 Jacobi stage: ITER: 38093 RES: 0.0020777
ELA: 11.801 Jacobi stage: ITER: 38271 RES: 0.0020223
ELA: 11.905 Jacobi stage: ITER: 38425 RES: 0.0019744
ELA: 12.005 Jacobi stage: ITER: 38641 RES: 0.00191
ELA: 12.107 Jacobi stage: ITER: 38837 RES: 0.0018533
ELA: 12.207 Jacobi stage: ITER: 39087 RES: 0.0017841
ELA: 12.311 Jacobi stage: ITER: 39287 RES: 0.0017301
ELA: 12.411 Jacobi stage: ITER: 39571 RES: 0.0016562
ELA: 12.511 Jacobi stage: ITER: 39825 RES: 0.0015924
ELA: 12.611 Jacobi stage: ITER: 40081 RES: 0.001531
ELA: 12.712 Jacobi stage: ITER: 40335 RES: 0.0014729
ELA: 12.812 Jacobi stage: ITER: 40557 RES: 0.001423
ELA: 12.912 Jacobi stage: ITER: 40757 RES: 0.00138
ELA: 13.012 Jacobi stage: ITER: 41011 RES: 0.0013276
ELA: 13.112 Jacobi stage: ITER: 41263 RES: 0.0012772
ELA: 13.212 Jacobi stage: ITER: 41523 RES: 0.0012272
ELA: 13.315 Jacobi stage: ITER: 41761 RES: 0.0011828
ELA: 13.415 Jacobi stage: ITER: 41975 RES: 0.0011449
ELA: 13.515 Jacobi stage: ITER: 42187 RES: 0.0011082
ELA: 13.615 Jacobi stage: ITER: 42439 RES: 0.0010661
ELA: 13.716 Jacobi stage: ITER: 42691 RES: 0.0010256
ELA: 13.816 Jacobi stage: ITER: 42955 RES: 0.00098488
ELA: 13.916 Jacobi stage: ITER: 43143 RES: 0.00095685
ELA: 14.016 Jacobi stage: ITER: 43347 RES: 0.00092733
ELA: 14.116 Jacobi stage: ITER: 43563 RES: 0.00089707
ELA: 14.217 Jacobi stage: ITER: 43807 RES: 0.00086407
ELA: 14.317 Jacobi stage: ITER: 44035 RES: 0.00083433
ELA: 14.417 Jacobi stage: ITER: 44243 RES: 0.0008081
ELA: 14.517 Jacobi stage: ITER: 44487 RES: 0.00077837
ELA: 14.617 Jacobi stage: ITER: 44743 RES: 0.00074836
ELA: 14.718 Jacobi stage: ITER: 44999 RES: 0.0007195
ELA: 14.818 Jacobi stage: ITER: 45201 RES: 0.0006973
ELA: 14.918 Jacobi stage: ITER: 45427 RES: 0.00067372
ELA: 15.018 Jacobi stage: ITER: 45663 RES: 0.00064974
ELA: 15.119 Jacobi stage: ITER: 45907 RES: 0.00062584
ELA: 15.219 Jacobi stage: ITER: 46151 RES: 0.00060281
ELA: 15.319 Jacobi stage: ITER: 46409 RES: 0.00057921
ELA: 15.419 Jacobi stage: ITER: 46667 RES: 0.00055688
ELA: 15.519 Jacobi stage: ITER: 46891 RES: 0.00053805
ELA: 15.619 Jacobi stage: ITER: 47107 RES: 0.00052049
ELA: 15.719 Jacobi stage: ITER: 47359 RES: 0.00050073
ELA: 15.819 Jacobi stage: ITER: 47579 RES: 0.00048409
ELA: 15.919 Jacobi stage: ITER: 47815 RES: 0.00046685
ELA: 16.02 Jacobi stage: ITER: 48051 RES: 0.00045023
ELA: 16.12 Jacobi stage: ITER: 48307 RES: 0.00043287
ELA: 16.22 Jacobi stage: ITER: 48511 RES: 0.00041952
ELA: 16.32 Jacobi stage: ITER: 48763 RES: 0.00040359
ELA: 16.42 Jacobi stage: ITER: 49035 RES: 0.00038708
ELA: 16.52 Jacobi stage: ITER: 49287 RES: 0.00037238
ELA: 16.62 Jacobi stage: ITER: 49539 RES: 0.00035824
ELA: 16.721 Jacobi stage: ITER: 49795 RES: 0.00034443
ELA: 16.821 Jacobi stage: ITER: 50047 RES: 0.00033135
ELA: 16.921 Jacobi stage: ITER: 50299 RES: 0.00031877
ELA: 17.021 Jacobi stage: ITER: 50551 RES: 0.00030667
ELA: 17.121 Jacobi stage: ITER: 50803 RES: 0.00029502
ELA: 17.222 Jacobi stage: ITER: 51055 RES: 0.00028382
ELA: 17.322 Jacobi stage: ITER: 51309 RES: 0.00027288
ELA: 17.422 Jacobi stage: ITER: 51561 RES: 0.00026252
ELA: 17.522 Jacobi stage: ITER: 51813 RES: 0.00025255
ELA: 17.622 Jacobi stage: ITER: 52067 RES: 0.00024296
ELA: 17.722 Jacobi stage: ITER: 52319 RES: 0.00023374
ELA: 17.822 Jacobi stage: ITER: 52571 RES: 0.00022486
ELA: 17.922 Jacobi stage: ITER: 52823 RES: 0.00021632
ELA: 18.022 Jacobi stage: ITER: 53075 RES: 0.00020811
ELA: 18.122 Jacobi stage: ITER: 53327 RES: 0.00020021
ELA: 18.223 Jacobi stage: ITER: 53579 RES: 0.00019261
ELA: 18.323 Jacobi stage: ITER: 53831 RES: 0.00018529
ELA: 18.423 Jacobi stage: ITER: 54083 RES: 0.00017826
ELA: 18.523 Jacobi stage: ITER: 54337 RES: 0.00017139
ELA: 18.623 Jacobi stage: ITER: 54589 RES: 0.00016488
ELA: 18.723 Jacobi stage: ITER: 54841 RES: 0.00015862
ELA: 18.823 Jacobi stage: ITER: 55095 RES: 0.0001526
ELA: 18.923 Jacobi stage: ITER: 55347 RES: 0.0001468
ELA: 19.023 Jacobi stage: ITER: 55599 RES: 0.00014123
ELA: 19.123 Jacobi stage: ITER: 55851 RES: 0.00013587
ELA: 19.224 Jacobi stage: ITER: 56103 RES: 0.00013071
ELA: 19.324 Jacobi stage: ITER: 56355 RES: 0.00012575
ELA: 19.424 Jacobi stage: ITER: 56607 RES: 0.00012097
ELA: 19.524 Jacobi stage: ITER: 56861 RES: 0.00011631
ELA: 19.624 Jacobi stage: ITER: 57113 RES: 0.00011189
ELA: 19.724 Jacobi stage: ITER: 57365 RES: 0.00010764
ELA: 19.824 Jacobi stage: ITER: 57619 RES: 0.00010356
ELA: 19.924 Jacobi stage: ITER: 57871 RES: 9.9623e-05
ELA: 20.024 Jacobi stage: ITER: 58123 RES: 9.5841e-05
ELA: 20.124 Jacobi stage: ITER: 58375 RES: 9.2202e-05
ELA: 20.225 Jacobi stage: ITER: 58627 RES: 8.8701e-05
ELA: 20.325 Jacobi stage: ITER: 58879 RES: 8.5333e-05
ELA: 20.425 Jacobi stage: ITER: 59133 RES: 8.2043e-05
ELA: 20.525 Jacobi stage: ITER: 59385 RES: 7.8928e-05
ELA: 20.625 Jacobi stage: ITER: 59637 RES: 7.5931e-05
ELA: 20.725 Jacobi stage: ITER: 59891 RES: 7.3048e-05
ELA: 20.825 Jacobi stage: ITER: 60143 RES: 7.0275e-05
ELA: 20.925 Jacobi stage: ITER: 60395 RES: 6.7607e-05
ELA: 21.026 Jacobi stage: ITER: 60647 RES: 6.504e-05
ELA: 21.126 Jacobi stage: ITER: 60899 RES: 6.257e-05
ELA: 21.227 Jacobi stage: ITER: 61165 RES: 6.0047e-05
ELA: 21.327 Jacobi stage: ITER: 61421 RES: 5.7732e-05
ELA: 21.498 Jacobi stage: ITER: 61851 RES: 5.4058e-05
ELA: 21.598 Jacobi stage: ITER: 62105 RES: 5.1974e-05
ELA: 21.699 Jacobi stage: ITER: 62357 RES: 5.0001e-05
ELA: 21.799 Jacobi stage: ITER: 62611 RES: 4.8102e-05
ELA: 21.899 Jacobi stage: ITER: 62863 RES: 4.6276e-05
ELA: 21.999 Jacobi stage: ITER: 63115 RES: 4.4519e-05
ELA: 22.099 Jacobi stage: ITER: 63367 RES: 4.2828e-05
ELA: 22.199 Jacobi stage: ITER: 63619 RES: 4.1202e-05
ELA: 22.299 Jacobi stage: ITER: 63871 RES: 3.9638e-05
ELA: 22.399 Jacobi stage: ITER: 64125 RES: 3.811e-05
ELA: 22.499 Jacobi stage: ITER: 64377 RES: 3.6663e-05
ELA: 22.599 Jacobi stage: ITER: 64629 RES: 3.5271e-05
ELA: 22.7 Jacobi stage: ITER: 64883 RES: 3.3931e-05
ELA: 22.8 Jacobi stage: ITER: 65135 RES: 3.2643e-05
ELA: 22.9 Jacobi stage: ITER: 65387 RES: 3.1404e-05
ELA: 23 Jacobi stage: ITER: 65639 RES: 3.0211e-05
ELA: 23.1 Jacobi stage: ITER: 65891 RES: 2.9064e-05
ELA: 23.2 Jacobi stage: ITER: 66143 RES: 2.7961e-05
ELA: 23.3 Jacobi stage: ITER: 66395 RES: 2.6899e-05
ELA: 23.4 Jacobi stage: ITER: 66649 RES: 2.5862e-05
ELA: 23.5 Jacobi stage: ITER: 66901 RES: 2.488e-05
ELA: 23.601 Jacobi stage: ITER: 67153 RES: 2.3935e-05
ELA: 23.701 Jacobi stage: ITER: 67407 RES: 2.3027e-05
ELA: 23.801 Jacobi stage: ITER: 67659 RES: 2.2152e-05
ELA: 23.901 Jacobi stage: ITER: 67911 RES: 2.1311e-05
ELA: 24.001 Jacobi stage: ITER: 68163 RES: 2.0502e-05
ELA: 24.101 Jacobi stage: ITER: 68415 RES: 1.9724e-05
ELA: 24.201 Jacobi stage: ITER: 68669 RES: 1.8963e-05
ELA: 24.301 Jacobi stage: ITER: 68921 RES: 1.8243e-05
ELA: 24.401 Jacobi stage: ITER: 69173 RES: 1.7551e-05
ELA: 24.502 Jacobi stage: ITER: 69427 RES: 1.6884e-05
ELA: 24.602 Jacobi stage: ITER: 69679 RES: 1.6243e-05
ELA: 24.702 Jacobi stage: ITER: 69931 RES: 1.5626e-05
ELA: 24.802 Jacobi stage: ITER: 70183 RES: 1.5033e-05
ELA: 24.902 Jacobi stage: ITER: 70435 RES: 1.4462e-05
ELA: 25.002 Jacobi stage: ITER: 70687 RES: 1.3913e-05
ELA: 25.102 Jacobi stage: ITER: 70941 RES: 1.3377e-05
ELA: 25.202 Jacobi stage: ITER: 71193 RES: 1.2869e-05
ELA: 25.302 Jacobi stage: ITER: 71445 RES: 1.238e-05
ELA: 25.403 Jacobi stage: ITER: 71699 RES: 1.191e-05
ELA: 25.503 Jacobi stage: ITER: 71951 RES: 1.1458e-05
ELA: 25.603 Jacobi stage: ITER: 72203 RES: 1.1023e-05
ELA: 25.703 Jacobi stage: ITER: 72455 RES: 1.0604e-05
ELA: 25.803 Jacobi stage: ITER: 72707 RES: 1.0202e-05
ELA: 25.903 Jacobi stage: ITER: 72959 RES: 9.8144e-06
ELA: 26.003 Jacobi stage: ITER: 73213 RES: 9.436e-06
ELA: 26.103 Jacobi stage: ITER: 73465 RES: 9.0777e-06
ELA: 26.204 Jacobi stage: ITER: 73717 RES: 8.7331e-06
ELA: 26.304 Jacobi stage: ITER: 73971 RES: 8.4015e-06
ELA: 26.404 Jacobi stage: ITER: 74225 RES: 8.0776e-06
ELA: 26.504 Jacobi stage: ITER: 74477 RES: 7.7709e-06
ELA: 26.604 Jacobi stage: ITER: 74729 RES: 7.4758e-06
ELA: 26.704 Jacobi stage: ITER: 74983 RES: 7.192e-06
ELA: 26.804 Jacobi stage: ITER: 75235 RES: 6.9189e-06
ELA: 26.904 Jacobi stage: ITER: 75487 RES: 6.6562e-06
ELA: 27.004 Jacobi stage: ITER: 75739 RES: 6.4035e-06
ELA: 27.105 Jacobi stage: ITER: 75991 RES: 6.1604e-06
ELA: 27.205 Jacobi stage: ITER: 76243 RES: 5.9265e-06
ELA: 27.305 Jacobi stage: ITER: 76497 RES: 5.6979e-06
ELA: 27.405 Jacobi stage: ITER: 76749 RES: 5.4816e-06
ELA: 27.505 Jacobi stage: ITER: 77001 RES: 5.2735e-06
ELA: 27.605 Jacobi stage: ITER: 77255 RES: 5.0733e-06
ELA: 27.705 Jacobi stage: ITER: 77507 RES: 4.8806e-06
ELA: 27.805 Jacobi stage: ITER: 77759 RES: 4.6953e-06
ELA: 27.905 Jacobi stage: ITER: 78011 RES: 4.5171e-06
ELA: 28.006 Jacobi stage: ITER: 78263 RES: 4.3456e-06
ELA: 28.106 Jacobi stage: ITER: 78515 RES: 4.1806e-06
ELA: 28.206 Jacobi stage: ITER: 78769 RES: 4.0194e-06
ELA: 28.306 Jacobi stage: ITER: 79021 RES: 3.8668e-06
ELA: 28.406 Jacobi stage: ITER: 79273 RES: 3.7199e-06
ELA: 28.506 Jacobi stage: ITER: 79527 RES: 3.5787e-06
ELA: 28.606 Jacobi stage: ITER: 79779 RES: 3.4428e-06
ELA: 28.706 Jacobi stage: ITER: 80031 RES: 3.3121e-06
ELA: 28.806 Jacobi stage: ITER: 80283 RES: 3.1864e-06
ELA: 28.907 Jacobi stage: ITER: 80535 RES: 3.0654e-06
ELA: 29.007 Jacobi stage: ITER: 80787 RES: 2.949e-06
ELA: 29.107 Jacobi stage: ITER: 81039 RES: 2.837e-06
ELA: 29.207 Jacobi stage: ITER: 81291 RES: 2.7293e-06
ELA: 29.307 Jacobi stage: ITER: 81545 RES: 2.6241e-06
ELA: 29.407 Jacobi stage: ITER: 81797 RES: 2.5244e-06
ELA: 29.507 Jacobi stage: ITER: 82049 RES: 2.4286e-06
ELA: 29.607 Jacobi stage: ITER: 82303 RES: 2.3364e-06
ELA: 29.707 Jacobi stage: ITER: 82555 RES: 2.2477e-06
ELA: 29.808 Jacobi stage: ITER: 82807 RES: 2.1623e-06
ELA: 29.908 Jacobi stage: ITER: 83059 RES: 2.0802e-06
ELA: 30.008 Jacobi stage: ITER: 83311 RES: 2.0012e-06
ELA: 30.108 Jacobi stage: ITER: 83563 RES: 1.9253e-06
ELA: 30.208 Jacobi stage: ITER: 83815 RES: 1.8522e-06
ELA: 30.308 Jacobi stage: ITER: 84069 RES: 1.7807e-06
ELA: 30.408 Jacobi stage: ITER: 84321 RES: 1.7131e-06
ELA: 30.508 Jacobi stage: ITER: 84573 RES: 1.6481e-06
ELA: 30.608 Jacobi stage: ITER: 84825 RES: 1.5855e-06
ELA: 30.709 Jacobi stage: ITER: 85079 RES: 1.5253e-06
ELA: 30.809 Jacobi stage: ITER: 85331 RES: 1.4674e-06
ELA: 30.909 Jacobi stage: ITER: 85583 RES: 1.4117e-06
ELA: 31.009 Jacobi stage: ITER: 85835 RES: 1.3581e-06
ELA: 31.109 Jacobi stage: ITER: 86087 RES: 1.3065e-06
ELA: 31.209 Jacobi stage: ITER: 86339 RES: 1.2569e-06
ELA: 31.309 Jacobi stage: ITER: 86593 RES: 1.2085e-06
ELA: 31.409 Jacobi stage: ITER: 86845 RES: 1.1626e-06
ELA: 31.509 Jacobi stage: ITER: 87097 RES: 1.1184e-06
ELA: 31.61 Jacobi stage: ITER: 87351 RES: 1.076e-06
ELA: 31.71 Jacobi stage: ITER: 87603 RES: 1.0351e-06
Vector x = [ 0.999999, 0.999999, 0.999998, 0.999999, 0.999999 ]