05 October 2018 08:27:24 PM CBLAS_TEST C version Test the CBLAS library. DASUM_TEST DASUM adds the absolute values of elements of a vector. X = 1 -2.000000 2 4.000000 3 -6.000000 4 8.000000 5 -10.000000 6 12.000000 7 -14.000000 8 16.000000 9 -18.000000 10 20.000000 DASUM ( NX, X, 1 ) = 110.000000 DASUM ( NX/2, X, 2 ) = 50.000000 DASUM ( 2, X, NX/2 ) = 14.000000 Demonstrate with a matrix A: 11.000000 -12.000000 13.000000 -14.000000 -21.000000 22.000000 -23.000000 24.000000 31.000000 -32.000000 33.000000 -34.000000 -41.000000 42.000000 -43.000000 44.000000 51.000000 -52.000000 53.000000 -54.000000 DASUM(MA,A(1,2),1) = 160.000000 DASUM(NA,A(2,1),LDA) = 90.000000 DAXPY_TEST DAXPY adds a multiple of vector X to vector Y. X = 1 1.000000 2 2.000000 3 3.000000 4 4.000000 5 5.000000 6 6.000000 Y = 1 100.000000 2 200.000000 3 300.000000 4 400.000000 5 500.000000 6 600.000000 DAXPY ( N, 1.000000, X, 1, Y, 1 ) Y = 1 101.000000 2 202.000000 3 303.000000 4 404.000000 5 505.000000 6 606.000000 DAXPY ( N, -2.000000, X, 1, Y, 1 ) Y = 1 98.000000 2 196.000000 3 294.000000 4 392.000000 5 490.000000 6 588.000000 DAXPY ( 3, 3.000000, X, 2, Y, 1 ) Y = 1 103.000000 2 209.000000 3 315.000000 4 400.000000 5 500.000000 6 600.000000 DAXPY ( 3, -4.000000, X, 1, Y, 2 ) Y = 1 96.000000 2 200.000000 3 292.000000 4 400.000000 5 488.000000 6 600.000000 DCOPY_TEST DCOPY copies one vector into another. X = 1 1.000000 2 2.000000 3 3.000000 4 4.000000 5 5.000000 6 6.000000 7 7.000000 8 8.000000 9 9.000000 10 10.000000 Y = 1 10.000000 2 20.000000 3 30.000000 4 40.000000 5 50.000000 6 60.000000 7 70.000000 8 80.000000 9 90.000000 10 100.000000 A = 11.000000 12.000000 13.000000 14.000000 15.000000 21.000000 22.000000 23.000000 24.000000 25.000000 31.000000 32.000000 33.000000 34.000000 35.000000 41.000000 42.000000 43.000000 44.000000 45.000000 51.000000 52.000000 53.000000 54.000000 55.000000 DCOPY ( 5, X, 1, Y, 1 ) 1 1.000000 2 2.000000 3 3.000000 4 4.000000 5 5.000000 6 60.000000 7 70.000000 8 80.000000 9 90.000000 10 100.000000 DCOPY ( 3, X, 2, Y, 3 ) 1 1.000000 2 20.000000 3 30.000000 4 3.000000 5 50.000000 6 60.000000 7 5.000000 8 80.000000 9 90.000000 10 100.000000 DCOPY ( 5, X, 1, A, 1 ) A = 1.000000 12.000000 13.000000 14.000000 15.000000 2.000000 22.000000 23.000000 24.000000 25.000000 3.000000 32.000000 33.000000 34.000000 35.000000 4.000000 42.000000 43.000000 44.000000 45.000000 5.000000 52.000000 53.000000 54.000000 55.000000 DCOPY ( 5, X, 2, A, 5 ) A = 1.000000 3.000000 5.000000 7.000000 9.000000 21.000000 22.000000 23.000000 24.000000 25.000000 31.000000 32.000000 33.000000 34.000000 35.000000 41.000000 42.000000 43.000000 44.000000 45.000000 51.000000 52.000000 53.000000 54.000000 55.000000 DDOT_TEST DDOT computes the dot product of vectors. Dot product of X and Y is -385.000000 Product of row 2 of A and X is 463.000000 Product of column 2 of A and X is -162.000000 Matrix product computed with DDOT: 356 -488 -9088 -18726 -744 254 152 50 -52 -154 23 1053 -9267 -20471 -4437 283 171 59 -53 -165 -630 2434 -8966 -22096 -9206 312 190 68 -54 -176 -1305 6279 -9261 -23075 -13617 309 185 61 -63 -187 -1602 -5326 -7410 722 236 146 56 -34 -124 -214 -1091 -8331 -12783 343 265 165 65 -35 -135 -235 -488 -9088 -18726 -744 254 152 50 -52 -154 -256 1053 -9267 -20471 -4437 283 171 59 -53 -165 -277 2434 -8966 -22096 -9206 312 190 68 -54 -176 -298 6279 -9261 -23075 -13617 309 185 61 -63 -187 -311 DNRM2_TEST For a double precision real vector (D) DNRM2 computes the Euclidean norm. The vector X: 0: 1.000000 1: 2.000000 2: 3.000000 VALUE = 3.74166 DROT_TEST DROT carries out a Givens rotation. X and Y 1 1.000000 -11.000000 2 2.000000 -8.000000 3 3.000000 -3.000000 4 4.000000 4.000000 5 5.000000 13.000000 6 6.000000 24.000000 DROT ( N, X, 1, Y, 1, 0.500000, 0.866025 ) 1 -9.026279 -6.366025 2 -5.928203 -5.732051 3 -1.098076 -4.098076 4 5.464102 -1.464102 5 13.758330 2.169873 6 23.784610 6.803848 DROT ( N, X, 1, Y, 1, 0.090536, -0.995893 ) 1 11.045361 0.000000 2 8.148217 1.267500 3 3.259287 2.716072 4 -3.621430 4.345716 5 -12.493933 6.156431 6 -23.358222 8.148217 DROTG_TEST DROTG generates a real Givens rotation ( C S ) * ( A ) = ( R ) ( -S C ) ( B ) ( 0 ) A = 0.218418, B = 0.956318 C = 0.222661, S = 0.974896 R = 0.980944, Z = 4.491130 C*A+S*B = 0.980944 -S*A+C*B = 0.000000 A = 0.829509, B = 0.561695 C = 0.828025, S = 0.560690 R = 1.001792, Z = 0.560690 C*A+S*B = 1.001792 -S*A+C*B = 0.000000 A = 0.415307, B = 0.066119 C = 0.987563, S = 0.157225 R = 0.420537, Z = 0.157225 C*A+S*B = 0.420537 -S*A+C*B = -0.000000 A = 0.257578, B = 0.109957 C = 0.919705, S = 0.392611 R = 0.280066, Z = 0.392611 C*A+S*B = 0.280066 -S*A+C*B = 0.000000 A = 0.043829, B = 0.633966 C = 0.068970, S = 0.997619 R = 0.635479, Z = 14.499059 C*A+S*B = 0.635479 -S*A+C*B = -0.000000 DSCAL_TEST DSCAL multiplies a vector by a scalar. X = 1 1.000000 2 2.000000 3 3.000000 4 4.000000 5 5.000000 6 6.000000 DSCAL ( N, 5.000000, X, 1 ) 1 5.000000 2 10.000000 3 15.000000 4 20.000000 5 25.000000 6 30.000000 DSCAL ( 3, -2.000000, X, 2 ) 1 -2.000000 2 2.000000 3 -6.000000 4 4.000000 5 -10.000000 6 6.000000 DSWAP_TEST DSWAP swaps two vectors. X and Y: 1 1.000000 100.000000 2 2.000000 200.000000 3 3.000000 300.000000 4 4.000000 400.000000 5 5.000000 500.000000 6 6.000000 600.000000 DSWAP ( N, X, 1, Y, 1 ) X and Y: 1 100.000000 1.000000 2 200.000000 2.000000 3 300.000000 3.000000 4 400.000000 4.000000 5 500.000000 5.000000 6 600.000000 6.000000 DSWAP ( 3, X, 2, Y, 1 ) X and Y: 1 100.000000 1.000000 2 2.000000 3.000000 3 200.000000 5.000000 4 4.000000 400.000000 5 300.000000 500.000000 6 6.000000 600.000000 IDAMAX_TEST IDAMAX returns the index of maximum magnitude; The vector X: 1 2.000000 2 -2.000000 3 5.000000 4 1.000000 5 -3.000000 6 4.000000 7 0.000000 8 -4.000000 9 3.000000 10 -1.000000 11 -5.000000 The index of maximum magnitude = 3 CBLAS_TEST: Normal end of execution. 05 October 2018 08:27:24 PM