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