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

У меня есть вектор 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],

0 ответов

Другие вопросы по тегам