8 April 2012 11:00:54.024 AM NAPACK_PRB: FORTRAN77 version Test the NAPACK library. TEST_ADDCHG ADDCHG monitors the change in a vector being updated in an iteration. IT SIZE(X) CHANGE(X) 1 32.5000 22.5000 2 24.2301 8.26988 3 22.5575 1.67260 4 22.4686 0.889164E-01 5 22.4683 0.332177E-03 Accepted iterate: 1: 1.0000000 2: 1.4142135 3: 1.7320509 4: 2.0000000 5: 2.2360680 6: 2.4494896 7: 2.6457515 8: 2.8284271 9: 3.0000000 10: 3.1622777 TEST_BAL BAL balances a matrix. Matrix A: Col 1 2 3 4 5 Row 1: 1.00000 2.00000 300.000 4.00000 5.00000 2: 2.00000 3.00000 400.000 5.00000 6.00000 3: 3.00000 4.00000 5.00000 6.00000 7.00000 4: 4.00000 5.00000 600.000 7.00000 8.00000 5: 5.00000 6.00000 700.000 8.00000 9.00000 After balancing: Col 1 2 3 4 5 Row 1: 1.00000 2.00000 37.5000 4.00000 5.00000 2: 2.00000 3.00000 50.0000 5.00000 6.00000 3: 24.0000 32.0000 5.00000 48.0000 56.0000 4: 4.00000 5.00000 75.0000 7.00000 8.00000 5: 5.00000 6.00000 87.5000 8.00000 9.00000 TEST_CON CON computes the condition number of a matrix. Matrix A: Col 1 2 3 4 Row 1: 7.00000 10.0000 8.00000 7.00000 2: 6.00000 8.00000 10.0000 9.00000 3: 5.00000 7.00000 9.00000 10.0000 4: 5.00000 7.00000 6.00000 5.00000 LU factor information B: Col 1 2 3 4 Row 1: 7.00000 10.0000 8.00000 7.00000 2: 0.857143 -0.571428 3.14286 3.00000 3: 0.714286 0.250001 2.50000 4.25000 4: 0.714286 0.250001 -0.200001 0.100003 Inverse matrix Col 1 2 3 4 Row 1: -40.9994 -16.9998 9.99986 67.9991 2: 24.9997 9.99986 -5.99991 -40.9994 3: 9.99987 4.99994 -2.99997 -16.9998 4: -5.99992 -2.99997 1.99998 9.99987 L1 norm of A = 33.0000 L1 norm of inv(A) = 135.998 L1 condition number estimate is 4487.89 ||A|| * ||inv(A)|| = 4487.94 TEST_KCON KCON computes the condition number of a matrix. Matrix A: Col 1 2 3 4 Row 1: 7.00000 10.0000 8.00000 7.00000 2: 6.00000 8.00000 10.0000 9.00000 3: 5.00000 7.00000 9.00000 10.0000 4: 5.00000 7.00000 6.00000 5.00000 L1 condition number estimate is 4487.89 TEST_KDET KDET computes the determinant of a general matrix. Matrix A: Col 1 2 3 4 Row 1: 5.00000 7.00000 6.00000 5.00000 2: 7.00000 10.0000 8.00000 7.00000 3: 6.00000 8.00000 10.0000 9.00000 4: 5.00000 7.00000 9.00000 10.0000 Determinant = 1.00002 * 10 ^ 0 Correct answer is 1. TEST_KFACT KFACT factors a general matrix. Matrix A: Col 1 2 3 4 Row 1: 5.00000 7.00000 6.00000 5.00000 2: 7.00000 10.0000 8.00000 7.00000 3: 6.00000 8.00000 10.0000 9.00000 4: 5.00000 7.00000 9.00000 10.0000 L1 norm of matrix A is 33.0000 The factor information: 1: 1236.0000 2: 4.0000000 3: 33.000000 4: 2.0000000 5: 7.0000000 6: 0.71428573 7: 0.85714287 8: 0.71428573 9: 3.0000000 10: 10.000000 11: -0.57142830 12: 0.25000083 13: 0.25000083 14: 4.0000000 15: 8.0000000 16: 3.1428571 17: 2.4999971 18: -0.20000133 19: -2.9999661 20: 7.0000000 21: 3.0000000 22: 4.2499976 23: 0.10000265 24: 1.0000000 25: 2.0000000 26: 3.0000000 TEST_KSOLVE KSOLVE solves A*x=b. Matrix A: Col 1 2 3 4 Row 1: 5.00000 7.00000 6.00000 5.00000 2: 7.00000 10.0000 8.00000 7.00000 3: 6.00000 8.00000 10.0000 9.00000 4: 5.00000 7.00000 9.00000 10.0000 Computed solution: 1: 0.99996459 2: 2.0000217 3: 3.0000081 4: 3.9999952 TEST_KTRANS KTRANS solves A'*x=b. Matrix A: Col 1 2 3 4 Row 1: 5.00000 7.00000 6.00000 5.00000 2: 7.00000 10.0000 8.00000 7.00000 3: 6.00000 8.00000 10.0000 9.00000 4: 5.00000 7.00000 9.00000 10.0000 Computed solution: 1: 1.0000346 2: 1.9999800 3: 2.9999919 4: 4.0000033 TEST_KVERT KVERT inverts a general matrix. Matrix A: Col 1 2 3 4 Row 1: 5.00000 7.00000 6.00000 5.00000 2: 7.00000 10.0000 8.00000 7.00000 3: 6.00000 8.00000 10.0000 9.00000 4: 5.00000 7.00000 9.00000 10.0000 Computed inverse B: Col 1 2 3 4 Row 1: 68.0009 -41.0005 -17.0002 10.0001 2: -41.0005 25.0003 10.0001 -6.00009 3: -17.0002 10.0001 5.00006 -3.00004 4: 10.0001 -6.00009 -3.00004 2.00002 Product A*B: Col 1 2 3 4 Row 1: 1.00002 0.00000 0.00000 0.00000 2: -0.457764E-04 1.00002 0.114441E-04 -0.381470E-05 3: -0.152588E-04 0.114441E-04 1.00000 0.190735E-05 4: 0.152588E-04 0.00000 -0.381470E-05 1.00000 TEST_MGRID: FORTRAN77 version Test the MGRID multigrid library. MGRID example of multigrid method. solve -u'(t)=1, u(0)=u(1)=0 solution is u(t)=0.5*(-t*t+t) Mesh index K = 2 Number of intervals N=2^K = 4 dif: 0.1328125000 dif: 0.0820312500 dif: 0.0488281250 dif: 0.0244140625 D1/D0 = 0.50000000 dif: 0.0122070313 D1/D0 = 0.50000000 dif: 0.0061035156 D1/D0 = 0.50000000 dif: 0.0030517578 D1/D0 = 0.50000000 dif: 0.0015258789 D1/D0 = 0.50000000 dif: 0.0007629395 D1/D0 = 0.50000000 dif: 0.0003814697 D1/D0 = 0.50000000 dif: 0.0001907349 D1/D0 = 0.50000000 dif: 0.0000953674 Time to go up! 1 0.00000 0.000000 2 0.25000 0.093712 3 0.50000 0.124962 4 0.75000 0.093731 5 1.00000 0.000000 maximum error= 3.81469727E-05 MGRID example of multigrid method. solve -u'(t)=1, u(0)=u(1)=0 solution is u(t)=0.5*(-t*t+t) Mesh index K = 3 Number of intervals N=2^K = 8 dif: 0.0938720703 dif: 0.0785522461 dif: 0.0673370361 dif: 0.0582656860 Go down to mesh intervals: 4 dif: 0.0784606934 dif: 0.0475959778 dif: 0.0258922577 dif: 0.0129461288 D1/D0 = 0.50000000 dif: 0.0064730644 D1/D0 = 0.50000000 dif: 0.0032365322 D1/D0 = 0.50000000 dif: 0.0016182661 D1/D0 = 0.50000000 dif: 0.0008091331 D1/D0 = 0.50000000 dif: 0.0004045665 D1/D0 = 0.50000000 dif: 0.0002022833 D1/D0 = 0.50000000 dif: 0.0001011416 D1/D0 = 0.50000000 dif: 0.0000505708 Time to go up! Go up to mesh intervals: 8 dif: 0.0187166631 dif: 0.0052230544 dif: 0.0014787316 dif: 0.0004076697 D1/D0 = 0.27568877 dif: 0.0002314821 D1/D0 = 0.56781775 dif: 0.0001334362 D1/D0 = 0.57644278 dif: 0.0000697784 Time to go up! 1 0.00000 0.000000 2 0.12500 0.054674 3 0.25000 0.093743 4 0.37500 0.117195 5 0.50000 0.125018 6 0.62500 0.117209 7 0.75000 0.093767 8 0.87500 0.054696 9 1.00000 0.000000 maximum error= 2.13310122E-05 MGRID example of multigrid method. solve -u'(t)=1, u(0)=u(1)=0 solution is u(t)=0.5*(-t*t+t) Mesh index K = 4 Number of intervals N=2^K = 16 dif: 0.0546876192 dif: 0.0507819057 dif: 0.0478536338 dif: 0.0454150960 Go down to mesh intervals: 8 dif: 0.0781424642 dif: 0.0672848076 dif: 0.0583266988 dif: 0.0506929941 Go down to mesh intervals: 4 dif: 0.0686040893 dif: 0.0409454964 dif: 0.0222146530 dif: 0.0111073256 D1/D0 = 0.49999997 dif: 0.0055536628 D1/D0 = 0.50000000 dif: 0.0027768351 D1/D0 = 0.50000066 dif: 0.0013884157 D1/D0 = 0.49999931 dif: 0.0006942078 D1/D0 = 0.50000000 dif: 0.0003470927 D1/D0 = 0.49998391 dif: 0.0001735538 D1/D0 = 0.50002146 dif: 0.0000867695 Time to go up! Go up to mesh intervals: 8 dif: 0.0162335262 dif: 0.0044787414 dif: 0.0012228973 dif: 0.0003312007 D1/D0 = 0.27083278 dif: 0.0001908615 D1/D0 = 0.57627159 dif: 0.0001113787 D1/D0 = 0.58355778 dif: 0.0000592768 Time to go up! Go up to mesh intervals: 16 dif: 0.0150062852 dif: 0.0047779046 dif: 0.0015289374 dif: 0.0005087145 D1/D0 = 0.33272421 dif: 0.0001981482 D1/D0 = 0.38950768 dif: 0.0001207497 D1/D0 = 0.60939085 dif: 0.0001037400 Go down to mesh intervals: 8 dif: 0.0001407946 dif: 0.0000901241 dif: 0.0000566290 dif: 0.0000345144 Time to go up! Go up to mesh intervals: 16 dif: 0.0000292510 dif: 0.0000105798 dif: 0.0000071712 dif: 0.0000057928 Time to go up! 1 0.00000 0.000000 2 0.06250 0.029293 3 0.12500 0.054680 4 0.18750 0.076162 5 0.25000 0.093738 6 0.31250 0.107409 7 0.37500 0.117175 8 0.43750 0.123035 9 0.50000 0.124989 10 0.56250 0.123037 11 0.62500 0.117179 12 0.68750 0.107415 13 0.75000 0.093744 14 0.81250 0.076167 15 0.87500 0.054684 16 0.93750 0.029295 17 1.00000 0.000000 maximum error= 1.25020742E-05 MGRID example of multigrid method. solve -u'(t)=1, u(0)=u(1)=0 solution is u(t)=0.5*(-t*t+t) Mesh index K = 5 Number of intervals N=2^K = 32 dif: 0.0292968750 dif: 0.0283203125 dif: 0.0275878925 dif: 0.0269775428 Go down to mesh intervals: 16 dif: 0.0507140979 dif: 0.0478770100 dif: 0.0454661548 dif: 0.0433440357 Go down to mesh intervals: 8 dif: 0.0750773102 dif: 0.0648792163 dif: 0.0563363582 dif: 0.0489921682 Go down to mesh intervals: 4 dif: 0.0662737414 dif: 0.0394702442 dif: 0.0214067847 dif: 0.0107033923 D1/D0 = 0.50000000 dif: 0.0053516962 D1/D0 = 0.50000000 dif: 0.0026758537 D1/D0 = 0.50000107 dif: 0.0013379231 D1/D0 = 0.49999860 dif: 0.0006689653 D1/D0 = 0.50000280 dif: 0.0003344789 D1/D0 = 0.49999443 dif: 0.0001672432 D1/D0 = 0.50001115 dif: 0.0000836179 Time to go up! Go up to mesh intervals: 8 dif: 0.0156778097 dif: 0.0043120123 dif: 0.0011736453 dif: 0.0003177971 D1/D0 = 0.27077779 dif: 0.0001831651 D1/D0 = 0.57635862 dif: 0.0001069084 D1/D0 = 0.58367229 dif: 0.0000568926 Time to go up! Go up to mesh intervals: 16 dif: 0.0143342093 dif: 0.0045770202 dif: 0.0014605653 dif: 0.0004850700 D1/D0 = 0.33211118 dif: 0.0001883730 D1/D0 = 0.38834190 dif: 0.0001049433 D1/D0 = 0.55710357 dif: 0.0000935756 Time to go up! Go up to mesh intervals: 32 dif: 0.0089607826 dif: 0.0029318612 dif: 0.0009608874 dif: 0.0003205724 D1/D0 = 0.33362120 dif: 0.0001148619 D1/D0 = 0.35830244 dif: 0.0000620224 Time to go up! 1 0.00000 0.000000 2 0.03125 0.015117 3 0.06250 0.029262 4 0.09375 0.042432 5 0.12500 0.054630 6 0.15625 0.065854 7 0.18750 0.076106 8 0.21875 0.085382 9 0.25000 0.093685 10 0.28125 0.101013 11 0.31250 0.107367 12 0.34375 0.112744 13 0.37500 0.117148 14 0.40625 0.120575 15 0.43750 0.123028 16 0.46875 0.124503 17 0.50000 0.125003 18 0.53125 0.124526 19 0.56250 0.123072 20 0.59375 0.120639 21 0.62500 0.117230 22 0.65625 0.112841 23 0.68750 0.107474 24 0.71875 0.101130 25 0.75000 0.093808 26 0.78125 0.085510 27 0.81250 0.076234 28 0.84375 0.065978 29 0.87500 0.054742 30 0.90625 0.042524 31 0.93750 0.029327 32 0.96875 0.015152 33 1.00000 0.000000 maximum error= 6.75097108E-05 MGRID example of multigrid method. solve -u'(t)=1, u(0)=u(1)=0 solution is u(t)=0.5*(-t*t+t) Mesh index K = 6 Number of intervals N=2^K = 64 dif: 0.0151367188 dif: 0.0148925781 dif: 0.0147094727 dif: 0.0145568857 Go down to mesh intervals: 32 dif: 0.0283034556 dif: 0.0275939200 dif: 0.0269906037 dif: 0.0264589582 Go down to mesh intervals: 16 dif: 0.0499347299 dif: 0.0472503528 dif: 0.0449317507 dif: 0.0428716540 Go down to mesh intervals: 8 dif: 0.0743431076 dif: 0.0642947108 dif: 0.0558491573 dif: 0.0485739484 Go down to mesh intervals: 4 dif: 0.0656985492 dif: 0.0391116515 dif: 0.0212108791 dif: 0.0106054395 D1/D0 = 0.50000000 dif: 0.0053027272 D1/D0 = 0.50000072 dif: 0.0026513636 D1/D0 = 0.50000000 dif: 0.0013256818 D1/D0 = 0.50000000 dif: 0.0006628409 D1/D0 = 0.50000000 dif: 0.0003314167 D1/D0 = 0.49999437 dif: 0.0001657009 D1/D0 = 0.49997753 dif: 0.0000828505 Time to go up! Go up to mesh intervals: 8 dif: 0.0155412592 dif: 0.0042717159 dif: 0.0011620149 dif: 0.0003145710 D1/D0 = 0.27071163 dif: 0.0001813546 D1/D0 = 0.57651407 dif: 0.0001058206 D1/D0 = 0.58350110 dif: 0.0000563040 Time to go up! Go up to mesh intervals: 16 dif: 0.0141811594 dif: 0.0045308042 dif: 0.0014457460 dif: 0.0004797112 D1/D0 = 0.33180878 dif: 0.0001857951 D1/D0 = 0.38730618 dif: 0.0001032799 D1/D0 = 0.55588084 dif: 0.0000919029 Time to go up! Go up to mesh intervals: 32 dif: 0.0087924870 dif: 0.0028815661 dif: 0.0009451052 dif: 0.0003147889 D1/D0 = 0.33307284 dif: 0.0001175432 D1/D0 = 0.37340310 dif: 0.0000665616 Time to go up! Go up to mesh intervals: 64 dif: 0.0048446595 dif: 0.0016012941 dif: 0.0005297959 dif: 0.0001766719 D1/D0 = 0.33347163 dif: 0.0000628554 Time to go up! 1 0.00000 0.000000 2 0.01563 0.007680 3 0.03125 0.015116 4 0.04688 0.022309 5 0.06250 0.029259 6 0.07813 0.035967 7 0.09375 0.042431 8 0.10938 0.048653 9 0.12500 0.054630 10 0.14063 0.060366 11 0.15625 0.065856 12 0.17188 0.071105 13 0.18750 0.076109 14 0.20313 0.080871 15 0.21875 0.085388 16 0.23438 0.089662 17 0.25000 0.093692 18 0.26563 0.097479 19 0.28125 0.101022 20 0.29688 0.104321 21 0.31250 0.107377 22 0.32813 0.110189 23 0.34375 0.112756 24 0.35938 0.115081 25 0.37500 0.117161 26 0.39063 0.118998 27 0.40625 0.120590 28 0.42188 0.121939 29 0.43750 0.123043 30 0.45313 0.123905 31 0.46875 0.124521 32 0.48438 0.124894 33 0.50000 0.125022 34 0.51563 0.124906 35 0.53125 0.124546 36 0.54688 0.123942 37 0.56250 0.123092 38 0.57813 0.122000 39 0.59375 0.120662 40 0.60938 0.119080 41 0.62500 0.117253 42 0.64063 0.115182 43 0.65625 0.112866 44 0.67188 0.110306 45 0.68750 0.107501 46 0.70313 0.104452 47 0.71875 0.101158 48 0.73438 0.097619 49 0.75000 0.093836 50 0.76563 0.089808 51 0.78125 0.085535 52 0.79688 0.081018 53 0.81250 0.076255 54 0.82813 0.071248 55 0.84375 0.065995 56 0.85938 0.060497 57 0.87500 0.054755 58 0.89063 0.048768 59 0.90625 0.042537 60 0.92188 0.036061 61 0.93750 0.029339 62 0.95313 0.022372 63 0.96875 0.015159 64 0.98438 0.007702 65 1.00000 0.000000 maximum error= 8.64267349E-05 MGRID example of multigrid method. solve -u'(t)=1, u(0)=u(1)=0 solution is u(t)=0.5*(-t*t+t) Mesh index K = 7 Number of intervals N=2^K = 128 dif: 0.0076904297 dif: 0.0076293945 dif: 0.0075836182 dif: 0.0075454712 Go down to mesh intervals: 64 dif: 0.0148883639 dif: 0.0147109795 dif: 0.0145601509 dif: 0.0144272391 Go down to mesh intervals: 32 dif: 0.0281085987 dif: 0.0274372026 dif: 0.0268568769 dif: 0.0263406318 Go down to mesh intervals: 16 dif: 0.0497478098 dif: 0.0470978133 dif: 0.0448006652 dif: 0.0427552685 Go down to mesh intervals: 8 dif: 0.0741615668 dif: 0.0641497523 dif: 0.0557281226 dif: 0.0484699197 Go down to mesh intervals: 4 dif: 0.0655553192 dif: 0.0390226394 dif: 0.0211622790 dif: 0.0105811432 D1/D0 = 0.50000018 dif: 0.0052905679 D1/D0 = 0.49999964 dif: 0.0026452877 D1/D0 = 0.50000072 dif: 0.0013226457 D1/D0 = 0.50000072 dif: 0.0006613173 D1/D0 = 0.49999577 dif: 0.0003306568 D1/D0 = 0.49999717 dif: 0.0001653284 D1/D0 = 0.50000000 dif: 0.0000826642 Time to go up! Go up to mesh intervals: 8 dif: 0.0155073032 dif: 0.0042617321 dif: 0.0011591688 dif: 0.0003137887 D1/D0 = 0.27070144 dif: 0.0001809001 D1/D0 = 0.57650298 dif: 0.0001055375 D1/D0 = 0.58340198 dif: 0.0000561848 Time to go up! Go up to mesh intervals: 16 dif: 0.0141434781 dif: 0.0045194142 dif: 0.0014420841 dif: 0.0004784074 D1/D0 = 0.33174720 dif: 0.0001851749 D1/D0 = 0.38706526 dif: 0.0001027733 D1/D0 = 0.55500680 dif: 0.0000914000 Time to go up! Go up to mesh intervals: 32 dif: 0.0087541603 dif: 0.0028700000 dif: 0.0009414423 dif: 0.0003134832 D1/D0 = 0.33298182 dif: 0.0001168195 D1/D0 = 0.37265003 dif: 0.0000654552 Time to go up! Go up to mesh intervals: 64 dif: 0.0048026335 dif: 0.0015887087 dif: 0.0005261246 dif: 0.0001761396 D1/D0 = 0.33478692 dif: 0.0000639600 Time to go up! Go up to mesh intervals: 128 dif: 0.0025135637 dif: 0.0008344955 dif: 0.0002772417 dif: 0.0000925979 Time to go up! 1 0.00000 0.000000 2 0.00781 0.003870 3 0.01563 0.007679 4 0.02344 0.011427 5 0.03125 0.015115 6 0.03906 0.018742 7 0.04688 0.022309 8 0.05469 0.025814 9 0.06250 0.029260 10 0.07031 0.032644 11 0.07813 0.035967 12 0.08594 0.039230 13 0.09375 0.042432 14 0.10156 0.045573 15 0.10938 0.048654 16 0.11719 0.051673 17 0.12500 0.054632 18 0.13281 0.057529 19 0.14063 0.060367 20 0.14844 0.063143 21 0.15625 0.065859 22 0.16406 0.068513 23 0.17188 0.071107 24 0.17969 0.073639 25 0.18750 0.076112 26 0.19531 0.078522 27 0.20313 0.080873 28 0.21094 0.083162 29 0.21875 0.085390 30 0.22656 0.087558 31 0.23438 0.089665 32 0.24219 0.091710 33 0.25000 0.093695 34 0.25781 0.095619 35 0.26563 0.097482 36 0.27344 0.099284 37 0.28125 0.101025 38 0.28906 0.102705 39 0.29688 0.104324 40 0.30469 0.105882 41 0.31250 0.107380 42 0.32031 0.108816 43 0.32813 0.110192 44 0.33594 0.111506 45 0.34375 0.112760 46 0.35156 0.113953 47 0.35938 0.115085 48 0.36719 0.116155 49 0.37500 0.117165 50 0.38281 0.118113 51 0.39063 0.119002 52 0.39844 0.119828 53 0.40625 0.120594 54 0.41406 0.121299 55 0.42188 0.121943 56 0.42969 0.122526 57 0.43750 0.123048 58 0.44531 0.123508 59 0.45313 0.123909 60 0.46094 0.124247 61 0.46875 0.124525 62 0.47656 0.124742 63 0.48438 0.124898 64 0.49219 0.124992 65 0.50000 0.125026 66 0.50781 0.124999 67 0.51563 0.124911 68 0.52344 0.124761 69 0.53125 0.124551 70 0.53906 0.124279 71 0.54688 0.123946 72 0.55469 0.123552 73 0.56250 0.123098 74 0.57031 0.122581 75 0.57813 0.122005 76 0.58594 0.121366 77 0.59375 0.120667 78 0.60156 0.119906 79 0.60938 0.119085 80 0.61719 0.118202 81 0.62500 0.117259 82 0.63281 0.116253 83 0.64063 0.115188 84 0.64844 0.114060 85 0.65625 0.112872 86 0.66406 0.111622 87 0.67188 0.110312 88 0.67969 0.108940 89 0.68750 0.107507 90 0.69531 0.106013 91 0.70313 0.104458 92 0.71094 0.102841 93 0.71875 0.101164 94 0.72656 0.099425 95 0.73438 0.097626 96 0.74219 0.095764 97 0.75000 0.093843 98 0.75781 0.091859 99 0.76563 0.089815 100 0.77344 0.087709 101 0.78125 0.085542 102 0.78906 0.083314 103 0.79688 0.081025 104 0.80469 0.078674 105 0.81250 0.076263 106 0.82031 0.073789 107 0.82813 0.071255 108 0.83594 0.068659 109 0.84375 0.066003 110 0.85156 0.063284 111 0.85938 0.060505 112 0.86719 0.057665 113 0.87500 0.054763 114 0.88281 0.051800 115 0.89063 0.048776 116 0.89844 0.045690 117 0.90625 0.042544 118 0.91406 0.039335 119 0.92188 0.036066 120 0.92969 0.032735 121 0.93750 0.029343 122 0.94531 0.025889 123 0.95313 0.022375 124 0.96094 0.018799 125 0.96875 0.015162 126 0.97656 0.011464 127 0.98438 0.007704 128 0.99219 0.003882 129 1.00000 0.000000 maximum error= 9.31173563E-05 MGRID example of multigrid method. solve -u'(t)=1, u(0)=u(1)=0 solution is u(t)=0.5*(-t*t+t) Mesh index K = 8 Number of intervals N=2^K = 256 dif: 0.0038757324 dif: 0.0038604736 dif: 0.0038490295 dif: 0.0038394928 Go down to mesh intervals: 128 dif: 0.0076283412 dif: 0.0075839949 dif: 0.0075462880 dif: 0.0075130598 Go down to mesh intervals: 64 dif: 0.0148396492 dif: 0.0146718007 dif: 0.0145267192 dif: 0.0143976575 Go down to mesh intervals: 32 dif: 0.0280618668 dif: 0.0273990575 dif: 0.0268240720 dif: 0.0263114776 Go down to mesh intervals: 16 dif: 0.0497015826 dif: 0.0470599756 dif: 0.0447681062 dif: 0.0427263156 Go down to mesh intervals: 8 dif: 0.0741163939 dif: 0.0641136542 dif: 0.0556979775 dif: 0.0484439880 Go down to mesh intervals: 4 dif: 0.0655195788 dif: 0.0390004255 dif: 0.0211501494 dif: 0.0105750747 D1/D0 = 0.50000000 dif: 0.0052875429 D1/D0 = 0.50000054 dif: 0.0026437677 D1/D0 = 0.49999928 dif: 0.0013218820 D1/D0 = 0.49999928 dif: 0.0006609410 D1/D0 = 0.50000000 dif: 0.0003304705 D1/D0 = 0.50000000 dif: 0.0001652353 D1/D0 = 0.50000000 dif: 0.0000826232 Time to go up! Go up to mesh intervals: 8 dif: 0.0154988207 dif: 0.0042592213 dif: 0.0011584423 dif: 0.0003135689 D1/D0 = 0.27068144 dif: 0.0001807846 D1/D0 = 0.57653880 dif: 0.0001055039 D1/D0 = 0.58358920 dif: 0.0000561327 Time to go up! Go up to mesh intervals: 16 dif: 0.0141340736 dif: 0.0045165699 dif: 0.0014411844 dif: 0.0004781019 D1/D0 = 0.33174235 dif: 0.0001850072 D1/D0 = 0.38696194 dif: 0.0001026597 D1/D0 = 0.55489552 dif: 0.0000912827 Time to go up! Go up to mesh intervals: 32 dif: 0.0087447641 dif: 0.0028671464 dif: 0.0009405334 dif: 0.0003132075 D1/D0 = 0.33301052 dif: 0.0001166845 D1/D0 = 0.37254685 dif: 0.0000653015 Time to go up! Go up to mesh intervals: 64 dif: 0.0047930223 dif: 0.0015858137 dif: 0.0005252203 dif: 0.0001758202 D1/D0 = 0.33475515 dif: 0.0000636759 Time to go up! Go up to mesh intervals: 128 dif: 0.0025030621 dif: 0.0008313714 dif: 0.0002763239 dif: 0.0000925991 Time to go up! Go up to mesh intervals: 256 dif: 0.0012795597 dif: 0.0004257470 dif: 0.0001417382 dif: 0.0000473359 Time to go up! 1 0.00000 0.000000 2 0.00391 0.001942 3 0.00781 0.003870 4 0.01172 0.005782 5 0.01563 0.007679 6 0.01953 0.009561 7 0.02344 0.011427 8 0.02734 0.013279 9 0.03125 0.015115 10 0.03516 0.016936 11 0.03906 0.018742 12 0.04297 0.020533 13 0.04688 0.022309 14 0.05078 0.024069 15 0.05469 0.025815 16 0.05859 0.027545 17 0.06250 0.029260 18 0.06641 0.030960 19 0.07031 0.032644 20 0.07422 0.034313 21 0.07813 0.035968 22 0.08203 0.037607 23 0.08594 0.039231 24 0.08984 0.040839 25 0.09375 0.042433 26 0.09766 0.044011 27 0.10156 0.045574 28 0.10547 0.047121 29 0.10938 0.048654 30 0.11328 0.050171 31 0.11719 0.051674 32 0.12109 0.053161 33 0.12500 0.054632 34 0.12891 0.056089 35 0.13281 0.057530 36 0.13672 0.058956 37 0.14063 0.060368 38 0.14453 0.061763 39 0.14844 0.063144 40 0.15234 0.064509 41 0.15625 0.065859 42 0.16016 0.067194 43 0.16406 0.068514 44 0.16797 0.069818 45 0.17188 0.071107 46 0.17578 0.072381 47 0.17969 0.073640 48 0.18359 0.074884 49 0.18750 0.076112 50 0.19141 0.077325 51 0.19531 0.078523 52 0.19922 0.079706 53 0.20313 0.080873 54 0.20703 0.082026 55 0.21094 0.083163 56 0.21484 0.084284 57 0.21875 0.085391 58 0.22266 0.086482 59 0.22656 0.087559 60 0.23047 0.088620 61 0.23438 0.089665 62 0.23828 0.090696 63 0.24219 0.091711 64 0.24609 0.092711 65 0.25000 0.093696 66 0.25391 0.094665 67 0.25781 0.095620 68 0.26172 0.096559 69 0.26563 0.097483 70 0.26953 0.098391 71 0.27344 0.099285 72 0.27734 0.100163 73 0.28125 0.101026 74 0.28516 0.101874 75 0.28906 0.102706 76 0.29297 0.103523 77 0.29688 0.104325 78 0.30078 0.105112 79 0.30469 0.105884 80 0.30859 0.106640 81 0.31250 0.107381 82 0.31641 0.108107 83 0.32031 0.108818 84 0.32422 0.109513 85 0.32813 0.110193 86 0.33203 0.110858 87 0.33594 0.111508 88 0.33984 0.112142 89 0.34375 0.112761 90 0.34766 0.113365 91 0.35156 0.113954 92 0.35547 0.114527 93 0.35938 0.115086 94 0.36328 0.115628 95 0.36719 0.116156 96 0.37109 0.116669 97 0.37500 0.117166 98 0.37891 0.117648 99 0.38281 0.118115 100 0.38672 0.118566 101 0.39063 0.119003 102 0.39453 0.119424 103 0.39844 0.119830 104 0.40234 0.120220 105 0.40625 0.120595 106 0.41016 0.120955 107 0.41406 0.121300 108 0.41797 0.121630 109 0.42188 0.121944 110 0.42578 0.122243 111 0.42969 0.122527 112 0.43359 0.122796 113 0.43750 0.123049 114 0.44141 0.123287 115 0.44531 0.123510 116 0.44922 0.123717 117 0.45313 0.123910 118 0.45703 0.124087 119 0.46094 0.124249 120 0.46484 0.124395 121 0.46875 0.124526 122 0.47266 0.124642 123 0.47656 0.124743 124 0.48047 0.124829 125 0.48438 0.124899 126 0.48828 0.124954 127 0.49219 0.124994 128 0.49609 0.125018 129 0.50000 0.125027 130 0.50391 0.125021 131 0.50781 0.125000 132 0.51172 0.124963 133 0.51563 0.124912 134 0.51953 0.124844 135 0.52344 0.124762 136 0.52734 0.124664 137 0.53125 0.124552 138 0.53516 0.124423 139 0.53906 0.124280 140 0.54297 0.124121 141 0.54688 0.123947 142 0.55078 0.123758 143 0.55469 0.123554 144 0.55859 0.123334 145 0.56250 0.123099 146 0.56641 0.122848 147 0.57031 0.122583 148 0.57422 0.122302 149 0.57813 0.122006 150 0.58203 0.121694 151 0.58594 0.121367 152 0.58984 0.121025 153 0.59375 0.120668 154 0.59766 0.120296 155 0.60156 0.119908 156 0.60547 0.119505 157 0.60938 0.119086 158 0.61328 0.118652 159 0.61719 0.118204 160 0.62109 0.117739 161 0.62500 0.117260 162 0.62891 0.116765 163 0.63281 0.116255 164 0.63672 0.115729 165 0.64063 0.115189 166 0.64453 0.114633 167 0.64844 0.114062 168 0.65234 0.113475 169 0.65625 0.112873 170 0.66016 0.112256 171 0.66406 0.111624 172 0.66797 0.110976 173 0.67188 0.110313 174 0.67578 0.109635 175 0.67969 0.108941 176 0.68359 0.108232 177 0.68750 0.107508 178 0.69141 0.106769 179 0.69531 0.106014 180 0.69922 0.105244 181 0.70313 0.104459 182 0.70703 0.103659 183 0.71094 0.102843 184 0.71484 0.102012 185 0.71875 0.101165 186 0.72266 0.100304 187 0.72656 0.099427 188 0.73047 0.098534 189 0.73438 0.097627 190 0.73828 0.096704 191 0.74219 0.095766 192 0.74609 0.094812 193 0.75000 0.093844 194 0.75391 0.092860 195 0.75781 0.091861 196 0.76172 0.090846 197 0.76563 0.089816 198 0.76953 0.088771 199 0.77344 0.087710 200 0.77734 0.086635 201 0.78125 0.085544 202 0.78516 0.084437 203 0.78906 0.083315 204 0.79297 0.082178 205 0.79688 0.081026 206 0.80078 0.079858 207 0.80469 0.078676 208 0.80859 0.077477 209 0.81250 0.076264 210 0.81641 0.075035 211 0.82031 0.073791 212 0.82422 0.072531 213 0.82813 0.071257 214 0.83203 0.069966 215 0.83594 0.068661 216 0.83984 0.067340 217 0.84375 0.066004 218 0.84766 0.064653 219 0.85156 0.063286 220 0.85547 0.061904 221 0.85938 0.060507 222 0.86328 0.059094 223 0.86719 0.057667 224 0.87109 0.056223 225 0.87500 0.054765 226 0.87891 0.053291 227 0.88281 0.051802 228 0.88672 0.050297 229 0.89063 0.048778 230 0.89453 0.047242 231 0.89844 0.045692 232 0.90234 0.044126 233 0.90625 0.042545 234 0.91016 0.040949 235 0.91406 0.039337 236 0.91797 0.037710 237 0.92188 0.036068 238 0.92578 0.034410 239 0.92969 0.032737 240 0.93359 0.031049 241 0.93750 0.029345 242 0.94141 0.027626 243 0.94531 0.025892 244 0.94922 0.024142 245 0.95313 0.022377 246 0.95703 0.020596 247 0.96094 0.018801 248 0.96484 0.016990 249 0.96875 0.015163 250 0.97266 0.013322 251 0.97656 0.011465 252 0.98047 0.009592 253 0.98438 0.007705 254 0.98828 0.005801 255 0.99219 0.003883 256 0.99609 0.001949 257 1.00000 0.000000 maximum error= 9.44584608E-05 TEST_PACK PACK packs a square matrix into contiguous storage. UNPACK restores it. 5X5 matrix in 7x5 storage Col 1 2 3 4 5 Row 1: 11.0000 12.0000 13.0000 14.0000 15.0000 2: 21.0000 22.0000 23.0000 24.0000 25.0000 3: 31.0000 32.0000 33.0000 34.0000 35.0000 4: 41.0000 42.0000 43.0000 44.0000 45.0000 5: 51.0000 52.0000 53.0000 54.0000 55.0000 6: 4.00000 0.00000 -0.381470E-05 -17.0002 10.0001 7: 3.00000 1.00002 0.00000 10.0001 5.00006 After packing: Col 1 2 3 4 5 Row 1: 11.0000 32.0000 53.0000 25.0000 0.00000 2: 21.0000 42.0000 14.0000 35.0000 0.00000 3: 31.0000 52.0000 24.0000 45.0000 0.00000 4: 41.0000 13.0000 34.0000 55.0000 0.00000 5: 51.0000 23.0000 44.0000 0.00000 0.00000 6: 12.0000 33.0000 54.0000 0.00000 0.00000 7: 22.0000 43.0000 15.0000 0.00000 0.00000 After unpacking: Col 1 2 3 4 5 Row 1: 11.0000 12.0000 13.0000 14.0000 15.0000 2: 21.0000 22.0000 23.0000 24.0000 25.0000 3: 31.0000 32.0000 33.0000 34.0000 35.0000 4: 41.0000 42.0000 43.0000 44.0000 45.0000 5: 51.0000 52.0000 53.0000 54.0000 55.0000 6: 0.00000 0.00000 0.00000 0.00000 0.00000 7: 0.00000 0.00000 0.00000 0.00000 0.00000 TEST_RPACK RPACK packs a rectangular matrix into contiguous storage. RUNPACK reverses the process. 3X5 matrix in 6x5 storage Col 1 2 3 4 5 Row 1: 11.0000 12.0000 13.0000 14.0000 15.0000 2: 21.0000 22.0000 23.0000 24.0000 25.0000 3: 31.0000 32.0000 33.0000 34.0000 35.0000 4: 23.0000 14.0000 0.00000 0.00000 0.840779E-44 5: 33.0000 24.0000 15.0000 0.00000 4487.89 6: 43.0000 34.0000 25.0000 -3.00004 0.700649E-44 After packing: Col 1 2 3 4 5 Row 1: 11.0000 13.0000 15.0000 0.00000 0.00000 2: 21.0000 23.0000 25.0000 0.00000 0.00000 3: 31.0000 33.0000 35.0000 0.00000 0.00000 4: 12.0000 14.0000 0.00000 0.00000 0.00000 5: 22.0000 24.0000 0.00000 0.00000 0.00000 6: 32.0000 34.0000 0.00000 0.00000 0.00000 After unpacking: Col 1 2 3 4 5 Row 1: 11.0000 12.0000 13.0000 14.0000 15.0000 2: 21.0000 22.0000 23.0000 24.0000 25.0000 3: 31.0000 32.0000 33.0000 34.0000 35.0000 4: 0.00000 0.00000 0.00000 0.00000 0.00000 5: 0.00000 0.00000 0.00000 0.00000 0.00000 6: 0.00000 0.00000 0.00000 0.00000 0.00000 TEST_SCON SCON computes the condition number of a symmetric matrix. Matrix A: Col 1 2 3 4 Row 1: 7.00000 6.00000 5.00000 5.00000 2: 6.00000 8.00000 7.00000 7.00000 3: 5.00000 7.00000 9.00000 6.00000 4: 5.00000 7.00000 6.00000 5.00000 L1 condition number estimate is 44.5454 TEST_SDET SDET computes the determinant of a symmetric matrix. Matrix A: Col 1 2 3 4 Row 1: 7.00000 6.00000 5.00000 5.00000 2: 6.00000 8.00000 7.00000 7.00000 3: 5.00000 7.00000 9.00000 6.00000 4: 5.00000 7.00000 6.00000 5.00000 Determinant = -66.0000 * 10 ^ 0 TEST_SMULT SMULT computes y=A*x for a symmetric matrix A. Matrix A: Col 1 2 3 4 Row 1: 7.00000 6.00000 5.00000 5.00000 2: 6.00000 8.00000 7.00000 7.00000 3: 5.00000 7.00000 9.00000 6.00000 4: 5.00000 7.00000 6.00000 5.00000 X: 1: 1.0000000 2: 2.0000000 3: 3.0000000 4: 4.0000000 Y = A*X: 1: 54.000000 2: 71.000000 3: 70.000000 4: 57.000000 TEST_SORT SORT sorts a real array. X before sorting: 1: 0.21841830 2: 0.95631760 3: 0.82950926 4: 0.56169546 5: 0.41530707 6: 0.66118732E-01 7: 0.25757781 8: 0.10995679 9: 0.43828998E-01 10: 0.63396573 X after sorting: 1: 0.43828998E-01 2: 0.66118732E-01 3: 0.10995679 4: 0.21841830 5: 0.25757781 6: 0.41530707 7: 0.56169546 8: 0.63396573 9: 0.82950926 10: 0.95631760 TEST_SORT2 SORT2 index sorts a real array. X before indexing: 1: 0.21841830 2: 0.95631760 3: 0.82950926 4: 0.56169546 5: 0.41530707 6: 0.66118732E-01 7: 0.25757781 8: 0.10995679 9: 0.43828998E-01 10: 0.63396573 I Y(I) X(Y(I)) 1 9 0.438290E-01 2 6 0.661187E-01 3 8 0.109957 4 1 0.218418 5 7 0.257578 6 5 0.415307 7 4 0.561695 8 10 0.633966 9 3 0.829509 10 2 0.956318 TEST02 Approximate the semiconductor equation. whatis - iteration: 116 difference: 7.09667802E-05 whatis - current error is below user tolerance. 10 intervals t x(t) 0.1000 0.0413 0.2000 0.0731 0.3000 0.0956 0.4000 0.1090 0.5000 0.1134 0.6000 0.1090 0.7000 0.0956 0.8000 0.0731 0.9000 0.0413 Test03 Semiconductor equation, another algorithm. error: must factor with tfact before solving