Sat Aug 27 07:39:07 2022 r8sd_test(): Python version: 3.6.9 Test R8SD(). R8SD_CG_TEST R8SD_CG applies the conjugate gradient method to a symmetric positive definite linear system stored by diagonals. Matrix order N = 100 Number of diagonals is 3 Rows 0-9, Cols 0-9: Col: 0 1 2 3 4 Row 0 : 4 -1 0 0 0 1 : -1 4 -1 0 0 2 : 0 -1 4 -1 0 3 : 0 0 -1 4 -1 4 : 0 0 0 -1 4 5 : 0 0 0 0 -1 6 : 0 0 0 0 0 7 : 0 0 0 0 0 8 : 0 0 0 0 0 9 : 0 0 0 0 0 Col: 5 6 7 8 9 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 0 0 0 0 0 3 : 0 0 0 0 0 4 : -1 0 0 0 0 5 : 4 -1 0 0 0 6 : -1 4 -1 0 0 7 : 0 -1 4 -1 0 8 : 0 0 -1 4 -1 9 : 0 0 0 -1 4 Right hand side: 0 11 1 20 2 30 3 40 4 50 5 60 6 70 7 80 ...... .............. 99 231 Solution: 0 11 1 21 2 31 3 41 4 51 5 61 6 71 7 81 ...... .............. 99 110 Maximum residual = 2.1316282072803006e-13 Second attempt at solution: 0 11 1 21 2 31 3 41 4 51 5 61 6 71 7 81 ...... .............. 99 110 Maximum residual of second attempt = 5.684341886080802e-14 R8SD_DIF2_TEST R8SD_DIF2 sets up a R8SD second difference matrix. Matrix order N = 5 Matrix diagonals NDIAG = 2 The R8SD matrix: Col: 0 1 2 3 4 Row 0 : 2 -1 0 0 0 1 : -1 2 -1 0 0 2 : 0 -1 2 -1 0 3 : 0 0 -1 2 -1 4 : 0 0 0 -1 2 R8SD_INDICATOR_TEST R8SD_INDICATOR sets up a R8SD indicator matrix. Matrix order N = 10 Matrix diagonals NDIAG = 3 The R8SD indicator matrix: Col: 0 1 2 3 4 Row 0 : 101 102 0 104 0 1 : 102 202 203 0 205 2 : 0 203 303 304 0 3 : 104 0 304 404 405 4 : 0 205 0 405 505 5 : 0 0 306 0 506 6 : 0 0 0 407 0 7 : 0 0 0 0 508 8 : 0 0 0 0 0 9 : 0 0 0 0 0 Col: 5 6 7 8 9 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 306 0 0 0 0 3 : 0 407 0 0 0 4 : 506 0 508 0 0 5 : 606 607 0 609 0 6 : 607 707 708 0 710 7 : 0 708 808 809 0 8 : 609 0 809 909 910 9 : 0 710 0 910 1010 R8SD_MV_TEST R8SD_MV computes b=A*x, where A is an R8SD matrix. Matrix order N = 10 Matrix diagonals NDIAG = 3 The R8SD matrix: Col: 0 1 2 3 4 Row 0 : 101 102 0 104 0 1 : 102 202 203 0 205 2 : 0 203 303 304 0 3 : 104 0 304 404 405 4 : 0 205 0 405 505 5 : 0 0 306 0 506 6 : 0 0 0 407 0 7 : 0 0 0 0 508 8 : 0 0 0 0 0 9 : 0 0 0 0 0 Col: 5 6 7 8 9 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 306 0 0 0 0 3 : 0 407 0 0 0 4 : 506 0 508 0 0 5 : 606 607 0 609 0 6 : 607 707 708 0 710 7 : 0 708 808 809 0 8 : 609 0 809 909 910 9 : 0 710 0 910 1010 The vector x: 0: 1 1: 2 2: 3 3: 4 4: 5 5: 6 6: 7 7: 8 8: 9 9: 10 The product b=A*x 0: 721 1: 2140 2: 4367 3: 7506 4: 11655 5: 16814 6: 22983 7: 21241 8: 27407 9: 23260 R8SD_PRINT_TEST R8SD_PRINT prints an R8SD matrix. Matrix order N = 10 Matrix diagonals NDIAG = 3 The R8SD matrix: Col: 0 1 2 3 4 Row 0 : 101 102 0 104 0 1 : 102 202 203 0 205 2 : 0 203 303 304 0 3 : 104 0 304 404 405 4 : 0 205 0 405 505 5 : 0 0 306 0 506 6 : 0 0 0 407 0 7 : 0 0 0 0 508 8 : 0 0 0 0 0 9 : 0 0 0 0 0 Col: 5 6 7 8 9 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 306 0 0 0 0 3 : 0 407 0 0 0 4 : 506 0 508 0 0 5 : 606 607 0 609 0 6 : 607 707 708 0 710 7 : 0 708 808 809 0 8 : 609 0 809 909 910 9 : 0 710 0 910 1010 R8SD_PRINT_SOME_TEST R8SD_PRINT_SOME prints some of an R8SD matrix. Matrix order N = 10 Matrix diagonals NDIAG = 3 Rows 2-8, Cols 3-7: Col: 3 4 5 6 7 Row 2 : 304 0 306 0 0 3 : 404 405 0 407 0 4 : 405 505 506 0 508 5 : 0 506 606 607 0 6 : 407 0 607 707 708 7 : 0 508 0 708 808 8 : 0 0 609 0 809 R8SD_RANDOM_TEST R8SD_RANDOM randomizes an R8SD matrix. Matrix order N = 10 Matrix diagonals NDIAG = 3 The R8SD matrix: Col: 0 1 2 3 4 Row 0 : 0.905313 0.173227 0 0.70274 0 1 : 0.173227 0.0646019 0.340369 0 0.515765 2 : 0 0.340369 0.975605 0.464907 0 3 : 0.70274 0 0.464907 0.721383 0.32174 4 : 0 0.515765 0 0.32174 0.627771 5 : 0 0 0.653442 0 0.478635 6 : 0 0 0 0.710623 0 7 : 0 0 0 0 0.780845 8 : 0 0 0 0 0 9 : 0 0 0 0 0 Col: 5 6 7 8 9 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 0.653442 0 0 0 0 3 : 0 0.710623 0 0 0 4 : 0.478635 0 0.780845 0 0 5 : 0.113678 0.185331 0 0.74821 0 6 : 0.185331 0.651732 0.173878 0 0.985125 7 : 0 0.173878 0.803664 0.497264 0 8 : 0.74821 0 0.497264 0.144516 0.384356 9 : 0 0.985125 0 0.384356 0.374438 R8SD_RES_TEST R8SD_RES computes a residual r=b-A*x Matrix order N = 10 Number of diagonals is 2 The R8SD matrix: Col: 0 1 2 3 4 Row 0 : 0.836506 0.671096 0 0 0 1 : 0.671096 0.598671 0.0675594 0 0 2 : 0 0.0675594 0.235023 0.218826 0 3 : 0 0 0.218826 0.0371628 0.585705 4 : 0 0 0 0.585705 0.91049 5 : 0 0 0 0 0.752338 6 : 0 0 0 0 0 7 : 0 0 0 0 0 8 : 0 0 0 0 0 9 : 0 0 0 0 0 Col: 5 6 7 8 9 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 0 0 0 0 0 3 : 0 0 0 0 0 4 : 0.752338 0 0 0 0 5 : 0.670381 0.873324 0 0 0 6 : 0.873324 0.585165 0.162517 0 0 7 : 0 0.162517 0.0826011 0.249766 0 8 : 0 0 0.249766 0.752156 0.74776 9 : 0 0 0 0.74776 0.0640668 The vector x: 0: 1 1: 2 2: 3 3: 4 4: 5 5: 6 6: 7 7: 8 8: 9 9: 10 The product b=A*x 0: 2.1787 1: 2.07112 2: 1.71549 3: 3.73365 4: 11.4093 5: 13.8972 6: 10.6362 7: 4.04633 8: 16.2451 9: 7.3705 The defective vector x2: 0: 1.08532 1: 2.04379 2: 3.07026 3: 4.05669 4: 5.08998 5: 6.07818 6: 7.08773 7: 8.05762 8: 9.06077 9: 10.0244 Residual r=b-A*x2: 0: -0.100759 1: -0.0882212 2: -0.0318764 3: -0.0701824 4: -0.17394 5: -0.196716 6: -0.128972 7: -0.0341949 8: -0.0783764 9: -0.0470072 R8SD_TO_R8GE_TEST R8SD_TO_R8GE converts an R8SD matrix to R8GE format. Matrix order N = 10 Matrix diagonals NDIAG = 3 The R8SD matrix: Col: 0 1 2 3 4 Row 0 : 101 102 0 104 0 1 : 102 202 203 0 205 2 : 0 203 303 304 0 3 : 104 0 304 404 405 4 : 0 205 0 405 505 5 : 0 0 306 0 506 6 : 0 0 0 407 0 7 : 0 0 0 0 508 8 : 0 0 0 0 0 9 : 0 0 0 0 0 Col: 5 6 7 8 9 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 306 0 0 0 0 3 : 0 407 0 0 0 4 : 506 0 508 0 0 5 : 606 607 0 609 0 6 : 607 707 708 0 710 7 : 0 708 808 809 0 8 : 609 0 809 909 910 9 : 0 710 0 910 1010 The R8GE matrix: [[ 101. 102. 0. 104. 0. 0. 0. 0. 0. 0.] [ 102. 202. 203. 0. 205. 0. 0. 0. 0. 0.] [ 0. 203. 303. 304. 0. 306. 0. 0. 0. 0.] [ 104. 0. 304. 404. 405. 0. 407. 0. 0. 0.] [ 0. 205. 0. 405. 505. 506. 0. 508. 0. 0.] [ 0. 0. 306. 0. 506. 606. 607. 0. 609. 0.] [ 0. 0. 0. 407. 0. 607. 707. 708. 0. 710.] [ 0. 0. 0. 0. 508. 0. 708. 808. 809. 0.] [ 0. 0. 0. 0. 0. 609. 0. 809. 909. 910.] [ 0. 0. 0. 0. 0. 0. 710. 0. 910. 1010.]] R8SD_ZEROS_TEST R8SD_ZEROS zeros an R8SD matrix. Matrix order N = 5 Matrix diagonals NDIAG = 3 The R8SD matrix: Col: 0 1 2 3 4 Row 0 : 0 0 0 0 0 1 : 0 0 0 0 0 2 : 0 0 0 0 0 3 : 0 0 0 0 0 4 : 0 0 0 0 0 r8sd_test(): Normal end of execution. Sat Aug 27 07:39:08 2022