Community
cancel
Showing results for
Did you mean: Beginner
30 Views

## Efficient calculation of vT A v

Hi,

What is the most efficient way to calculate vTAv where A is a CRS sparse matrix and v is a vector using Intel MKL (Fortran)?

Carlos

3 Replies Employee
30 Views

Dear customer,

The quadratic form x'*A*x is actually calculated as a sum of `n^2` terms `A(i,j)*x(i)*x(j)`, where `i` and `j` runs from `1` to `n.`

Are you going to use CSR format for matrix A? If so, you could split the quadratic form into two equations. You could use mkl_?csrsymv to calculate y:=A*x first and then use ?dot to calculate sum of dot multiplication of two vectors res=x' * y. Hope it would be useful to you.

Best regards,
Fiona Beginner
30 Views

Hi,

Thanks for the reply, I was wondering if there was a built-in function for such calculation in MKL, thus my question.

Best regards

Carlos Employee
30 Views

Dear customer,

I am afraid there might no real quadratic form function for matrix with sparse storage format. The good way is to separate calculation. Thanks.

Best regards,
Fiona 