25 July 2016 09:50:48 PM R8CBB_PRB C++ version Test the R8CBB library. R8CBB_ADD_TEST R8CBB_ADD adds a value to elements of an R8CBB matrix. Matrix order N = 5 Matrix suborder N1 = 3 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 0 Matrix before additions: Col: 0 1 2 3 4 Row --- 0 11 0 0 14 15 1 21 22 0 24 25 2 0 32 33 34 35 3 41 42 43 44 45 4 51 52 53 54 55 The R8BB matrix after additions: Col: 0 1 2 3 4 Row --- 0 111 0 0 214 215 1 21 122 0 224 225 2 0 32 133 234 235 3 41 42 43 44 445 4 51 52 53 454 55 R8CBB_DIF2_TEST R8CBB_DIF2 sets up an R8CBB second difference matrix. Matrix order N = 8 Matrix suborder N1 = 6 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB second difference 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 5 0 0 0 0 -1 6 0 0 0 0 0 7 0 0 0 0 0 Col: 5 6 7 Row --- 0 0 0 0 1 0 0 0 2 0 0 0 3 0 0 0 4 -1 0 0 5 2 -1 0 6 -1 2 -1 7 0 -1 2 R8CBB_FA_TEST R8CBB_FA factors an R8CBB matrix with no pivoting; Matrix order N = 10 Matrix suborder N1 = 8 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB matrix: Col: 0 1 2 3 4 Row --- 0 0.218418 0.829509 0 0 0 1 0.956318 0.561695 0.0661187 0 0 2 0 0.415307 0.257578 0.043829 0 3 0 0 0.109957 0.633966 0.449539 4 0 0 0 0.0617272 0.401306 5 0 0 0 0 0.754673 6 0 0 0 0 0 7 0 0 0 0 0 8 0.396988 0.574366 0.617205 0.21293 0.117707 9 0.185314 0.367027 0.361529 0.714471 0.299329 Col: 5 6 7 8 9 Row --- 0 0 0 0 0.123104 0.692066 1 0 0 0 0.00751236 0.561662 2 0 0 0 0.260303 0.861216 3 0 0 0 0.912484 0.453794 4 0.797287 0 0 0.113664 0.911977 5 0.00183837 0.350752 0 0.351629 0.597917 6 0.897504 0.0945448 0.859097 0.822887 0.188955 7 0 0.0136169 0.840847 0.267132 0.761492 8 0.825003 0.0618618 0.0882833 0.745303 0.899373 9 0.82466 0.710781 0.777994 0.308675 0.763537 The factored R8CBB matrix: Col: 0 1 2 3 4 Row --- 0 0.218418 0.829509 0 0 0 1 -4.37838 -3.07021 0.0661187 0 0 2 0 0.13527 0.266522 0.043829 0 3 0 0 -0.412562 0.615884 0.449539 4 0 0 0 -0.100225 0.356251 5 0 0 0 0 -2.11838 6 0 0 0 0 0 7 0 0 0 0 0 8 0.396988 0.574366 0.617205 0.21293 0.117707 9 0.185314 0.367027 0.361529 0.714471 0.299329 Col: 5 6 7 8 9 Row --- 0 0 0 0 0.125967 0.0710759 1 0 0 0 -0.181574 -0.853023 2 0 0 0 -0.39304 -2.27612 3 0 0 0 -1.90868 1.80997 4 0.797287 0 0 0.758046 -3.00525 5 -1.68711 0.350752 0 -0.376345 0.228679 6 0.531976 0.281136 0.859097 -2.63153 4.76017 7 0 -0.0484352 0.799237 -0.275079 -0.982712 8 0.825003 0.0618618 0.0882833 -0.366315 -0.539156 9 0.82466 0.710781 0.777994 -9.30432 7.85831 The right hand side vector b: 1 9.90604 2 7.9623 3 12.7335 4 17.8637 5 17.1799 6 15.3835 7 22.2151 8 16.8412 9 26.6284 10 32.9193 Solution to A*x=b: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 R8CBB_GET_TEST R8CBB_GET gets a value of an element of an R8CBB matrix. Matrix order N = 5 Matrix suborder N1 = 3 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 0 The R8CBB matrix to be queried: Col: 0 1 2 3 4 Row --- 0 11 0 0 14 15 1 21 22 0 24 25 2 0 32 33 34 35 3 41 42 43 44 45 4 51 52 53 54 55 A[1,4] = 25 A[4,2] = 53 A[2,0] = 0 A[1,0] = 21 A[0,3] = 14 A[0,2] = 0 A[2,3] = 34 A[3,0] = 41 A[4,1] = 52 A[0,0] = 11 R8CBB_INDICATOR_TEST R8CBB_INDICATOR sets up an R8CBB indicator matrix. Matrix order N = 8 Matrix suborder N1 = 6 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB indicator matrix: Col: 0 1 2 3 4 Row --- 0 11 12 0 0 0 1 21 22 23 0 0 2 0 32 33 34 0 3 0 0 43 44 45 4 0 0 0 54 55 5 0 0 0 0 65 6 71 72 73 74 75 7 81 82 83 84 85 Col: 5 6 7 Row --- 0 0 17 18 1 0 27 28 2 0 37 38 3 0 47 48 4 56 57 58 5 66 67 68 6 76 77 78 7 86 87 88 R8CBB_MTV_TEST R8CBB_MTV computes b=A'*x, where A is an R8CBB matrix. Matrix order N = 8 Matrix suborder N1 = 6 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB indicator matrix: Col: 0 1 2 3 4 Row --- 0 11 12 0 0 0 1 21 22 23 0 0 2 0 32 33 34 0 3 0 0 43 44 45 4 0 0 0 54 55 5 0 0 0 0 65 6 71 72 73 74 75 7 81 82 83 84 85 Col: 5 6 7 Row --- 0 0 17 18 1 0 27 28 2 0 37 38 3 0 47 48 4 56 57 58 5 66 67 68 6 76 77 78 7 86 87 88 The vector x: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 The product b=A'*x: 1 1145 2 1213 3 1327 4 1507 5 1753 6 2065 7 1911 8 2307 R8CBB_MV_TEST R8CBB_MV computes b=A*x, where A is an R8CBB matrix. Matrix order N = 8 Matrix suborder N1 = 6 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB indicator matrix: Col: 0 1 2 3 4 Row --- 0 11 12 0 0 0 1 21 22 23 0 0 2 0 32 33 34 0 3 0 0 43 44 45 4 0 0 0 54 55 5 0 0 0 0 65 6 71 72 73 74 75 7 81 82 83 84 85 Col: 5 6 7 Row --- 0 0 17 18 1 0 27 28 2 0 37 38 3 0 47 48 4 56 57 58 5 66 67 68 6 76 77 78 7 86 87 88 The vector x: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 The product b=A*x: 1 298 2 547 3 862 4 1243 5 1690 6 1734 7 2724 8 3084 R8CBB_PRINT_TEST R8CBB_PRINT prints an R8CBB matrix; Matrix order N = 10 Matrix suborder N1 = 8 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB matrix: Col: 0 1 2 3 4 Row --- 0 0.218418 0.829509 0 0 0 1 0.956318 0.561695 0.0661187 0 0 2 0 0.415307 0.257578 0.043829 0 3 0 0 0.109957 0.633966 0.449539 4 0 0 0 0.0617272 0.401306 5 0 0 0 0 0.754673 6 0 0 0 0 0 7 0 0 0 0 0 8 0.396988 0.574366 0.617205 0.21293 0.117707 9 0.185314 0.367027 0.361529 0.714471 0.299329 Col: 5 6 7 8 9 Row --- 0 0 0 0 0.123104 0.692066 1 0 0 0 0.00751236 0.561662 2 0 0 0 0.260303 0.861216 3 0 0 0 0.912484 0.453794 4 0.797287 0 0 0.113664 0.911977 5 0.00183837 0.350752 0 0.351629 0.597917 6 0.897504 0.0945448 0.859097 0.822887 0.188955 7 0 0.0136169 0.840847 0.267132 0.761492 8 0.825003 0.0618618 0.0882833 0.745303 0.899373 9 0.82466 0.710781 0.777994 0.308675 0.763537 R8CBB_PRINT_TEST R8CBB_PRINT prints an R8CBB matrix; Matrix order N = 10 Matrix suborder N1 = 8 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 Rows 0-9, Cols 8-9 Col: 8 9 Row --- 0 0.123104 0.692066 1 0.00751236 0.561662 2 0.260303 0.861216 3 0.912484 0.453794 4 0.113664 0.911977 5 0.351629 0.597917 6 0.822887 0.188955 7 0.267132 0.761492 8 0.745303 0.899373 9 0.308675 0.763537 R8CBB_RANDOM_TEST R8CBB_RANDOM returns a random R8CBB matrix Matrix order N = 10 Matrix suborder N1 = 8 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB matrix: Col: 0 1 2 3 4 Row --- 0 0.218418 0.829509 0 0 0 1 0.956318 0.561695 0.0661187 0 0 2 0 0.415307 0.257578 0.043829 0 3 0 0 0.109957 0.633966 0.449539 4 0 0 0 0.0617272 0.401306 5 0 0 0 0 0.754673 6 0 0 0 0 0 7 0 0 0 0 0 8 0.396988 0.574366 0.617205 0.21293 0.117707 9 0.185314 0.367027 0.361529 0.714471 0.299329 Col: 5 6 7 8 9 Row --- 0 0 0 0 0.123104 0.692066 1 0 0 0 0.00751236 0.561662 2 0 0 0 0.260303 0.861216 3 0 0 0 0.912484 0.453794 4 0.797287 0 0 0.113664 0.911977 5 0.00183837 0.350752 0 0.351629 0.597917 6 0.897504 0.0945448 0.859097 0.822887 0.188955 7 0 0.0136169 0.840847 0.267132 0.761492 8 0.825003 0.0618618 0.0882833 0.745303 0.899373 9 0.82466 0.710781 0.777994 0.308675 0.763537 R8CBB_SET_TEST R8CBB_SET sets the value of elements of an R8CBB matrix. Matrix order N = 5 Matrix suborder N1 = 3 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 0 The R8BB matrix: Col: 0 1 2 3 4 Row --- 0 11 0 0 14 15 1 21 22 0 24 25 2 0 32 33 34 35 3 41 42 43 44 45 4 51 52 53 54 55 R8CBB_SL_TEST R8CBB_SL solves linear systems factored by R8CBB_FA. Matrix order N = 10 Matrix suborder N1 = 8 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB matrix: Col: 0 1 2 3 4 Row --- 0 0.218418 0.829509 0 0 0 1 0.956318 0.561695 0.0661187 0 0 2 0 0.415307 0.257578 0.043829 0 3 0 0 0.109957 0.633966 0.449539 4 0 0 0 0.0617272 0.401306 5 0 0 0 0 0.754673 6 0 0 0 0 0 7 0 0 0 0 0 8 0.396988 0.574366 0.617205 0.21293 0.117707 9 0.185314 0.367027 0.361529 0.714471 0.299329 Col: 5 6 7 8 9 Row --- 0 0 0 0 0.123104 0.692066 1 0 0 0 0.00751236 0.561662 2 0 0 0 0.260303 0.861216 3 0 0 0 0.912484 0.453794 4 0.797287 0 0 0.113664 0.911977 5 0.00183837 0.350752 0 0.351629 0.597917 6 0.897504 0.0945448 0.859097 0.822887 0.188955 7 0 0.0136169 0.840847 0.267132 0.761492 8 0.825003 0.0618618 0.0882833 0.745303 0.899373 9 0.82466 0.710781 0.777994 0.308675 0.763537 The factored R8CBB matrix: Col: 0 1 2 3 4 Row --- 0 0.218418 0.829509 0 0 0 1 -4.37838 -3.07021 0.0661187 0 0 2 0 0.13527 0.266522 0.043829 0 3 0 0 -0.412562 0.615884 0.449539 4 0 0 0 -0.100225 0.356251 5 0 0 0 0 -2.11838 6 0 0 0 0 0 7 0 0 0 0 0 8 0.396988 0.574366 0.617205 0.21293 0.117707 9 0.185314 0.367027 0.361529 0.714471 0.299329 Col: 5 6 7 8 9 Row --- 0 0 0 0 0.125967 0.0710759 1 0 0 0 -0.181574 -0.853023 2 0 0 0 -0.39304 -2.27612 3 0 0 0 -1.90868 1.80997 4 0.797287 0 0 0.758046 -3.00525 5 -1.68711 0.350752 0 -0.376345 0.228679 6 0.531976 0.281136 0.859097 -2.63153 4.76017 7 0 -0.0484352 0.799237 -0.275079 -0.982712 8 0.825003 0.0618618 0.0882833 -0.366315 -0.539156 9 0.82466 0.710781 0.777994 -9.30432 7.85831 The right hand side vector b: 1 9.90604 2 7.9623 3 12.7335 4 17.8637 5 17.1799 6 15.3835 7 22.2151 8 16.8412 9 26.6284 10 32.9193 Solution to A*x=b: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 R8CBB_TO_R8GE_TEST R8CBB_TO_R8GE converts an R8CBB matrix to R8GE format. Matrix order N = 8 Matrix suborder N1 = 6 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB matrix: Col: 0 1 2 3 4 Row --- 0 11 12 0 0 0 1 21 22 23 0 0 2 0 32 33 34 0 3 0 0 43 44 45 4 0 0 0 54 55 5 0 0 0 0 65 6 71 72 73 74 75 7 81 82 83 84 85 Col: 5 6 7 Row --- 0 0 17 18 1 0 27 28 2 0 37 38 3 0 47 48 4 56 57 58 5 66 67 68 6 76 77 78 7 86 87 88 The R8GE matrix: Col: 1 2 3 4 5 Row --- 1 11 12 32 0 0 2 21 22 23 43 0 3 0 32 33 34 54 4 0 0 43 44 45 5 0 0 0 54 55 6 0 0 0 0 65 7 71 72 73 74 75 8 81 82 83 84 85 Col: 6 7 8 Row --- 1 0 17 18 2 0 27 28 3 0 37 38 4 65 47 48 5 56 57 58 6 66 67 68 7 76 77 78 8 86 87 88 R8CBB_ZEROS_TEST R8CBB_ZEROS zeros an R8CBB matrix. Matrix order N = 8 Matrix suborder N1 = 6 Matrix suborder N2 = 2 Lower bandwidth ML = 1 Upper bandwidth MU = 1 The R8CBB zero 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 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 0 Col: 5 6 7 Row --- 0 0 0 0 1 0 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 6 0 0 0 7 0 0 0 R8CBB_PRB Normal end of execution. 25 July 2016 09:50:48 PM