Hello,

I am interested in the following operation:

Y = A^T * X

using the cblas_dgemv or cblas_dgemm routine in MKL. In the code I use small letters: y, a, and x.

I have a test example as follows:

#include <cstdio>

#include <cstdlib>

#include "mkl.h"

void main()

{

double a[6] = {2., 3., 1., 1., 0., 2. }; // 3 x 2 matrix

double x[3] = {1., 1., 1.};

double y[2] = {0., 0.};

int m = 3;

int n = 2;

double alpha = 1.0;

double beta = 1.0;

int incx = 1;

int incy = 1;

int i,j;

for (i=0; i<m; i++){

for (j=0; j<n; j++)

printf("%g ", a[i*n + j]);

printf("\n");

}

cblas_dgemv(CblasRowMajor, CblasTrans, m, n, alpha, a, m, x, incx, beta, y, incy );

for (i=0; i<n; i++)

printf("%g\n", y[i]);

}

After running the code, I get wrong results. Can someone point out the mistake?

Regards,

Pawan