Как я могу использовать cblas Dgemv для того, чтобы умножить разные векторы измерения? - PullRequest
0 голосов
/ 30 мая 2018

У меня есть вектор sigma[40000] и еще один u[200].

Я хочу использовать dgemv для умножения первых 200 чисел sigma на u, а затем следующий 200-400 снова с u, пока я не использую все числа sigma.

У меня есть что-то вроде этого:

for(i=0; i<200; i++)
{
    for(j=0; j<200; j++)
    {
        sum = sum +sigma[i*200 + j]*u[j]
    }

    z=...+sum;
}

Я хочу сделать что-то вроде этого:

cblas_dgemv(CblasRowMajor,CblasNoTrans,1,200,1,u,200,sigma,1,0,return,1)

for(i=0; i<200; i++)
{
    sum=...+return[i];
}

Возвращаемым значением является вектор (return[200]), в котором return[0]=sigma[0-199]*u[0-199].

...