diff options
Diffstat (limited to 'gsl-1.9/doc/examples/blas.c')
-rw-r--r-- | gsl-1.9/doc/examples/blas.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gsl-1.9/doc/examples/blas.c b/gsl-1.9/doc/examples/blas.c new file mode 100644 index 0000000..ab4b39b --- /dev/null +++ b/gsl-1.9/doc/examples/blas.c @@ -0,0 +1,31 @@ +#include <stdio.h> +#include <gsl/gsl_blas.h> + +int +main (void) +{ + double a[] = { 0.11, 0.12, 0.13, + 0.21, 0.22, 0.23 }; + + double b[] = { 1011, 1012, + 1021, 1022, + 1031, 1032 }; + + double c[] = { 0.00, 0.00, + 0.00, 0.00 }; + + gsl_matrix_view A = gsl_matrix_view_array(a, 2, 3); + gsl_matrix_view B = gsl_matrix_view_array(b, 3, 2); + gsl_matrix_view C = gsl_matrix_view_array(c, 2, 2); + + /* Compute C = A B */ + + gsl_blas_dgemm (CblasNoTrans, CblasNoTrans, + 1.0, &A.matrix, &B.matrix, + 0.0, &C.matrix); + + printf ("[ %g, %g\n", c[0], c[1]); + printf (" %g, %g ]\n", c[2], c[3]); + + return 0; +} |