#include #include int main (void) { double a[] = { 0.11, 0.12, 0.13, 0.21, 0.22, 0.23, 0.21, 0.22, 0.23 }; double b[] = { 1011, 1012, 1.2, 1021, 1022, 1.2, 1031, 1032, 1.2 }; double c[] = { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }; gsl_matrix * aa; aa = gsl_matrix_alloc(3, 3); (*aa).data = a; gsl_matrix * bb; bb = gsl_matrix_alloc(3, 3); (*bb).data = b; gsl_matrix * cc; cc = gsl_matrix_alloc(3, 3); (*cc).data = c; //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, 3, 3); /* Compute C = A B */ gsl_blas_dgemm(CblasTrans, CblasTrans, 1.0, aa, bb, 0.0, aa); gsl_matrix_fprintf(stdout,aa,"%23.4f"); return 0; }