Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

How to compute covariance matrix in MKL?

Hai
Beginner
886 Views

Given a 2D matrix A as input, how to compute its covariance matrix? For example, in Matlab, I use cov(A) to do the computation.

Thanks

0 Kudos
2 Replies
Gennady_F_Intel
Moderator
886 Views

you can do that by using Summary Statistical Functions.   Vslsssnewtask(&taskpnxstoragexwindices)  where  P -- Dimension of the task, number of variables

There are many examples show how to do that. You can find these examples into manual or into <mkl_root>\examples\vsls\source\"

0 Kudos
Ilya_B_Intel
Employee
886 Views

More specifically you should be interested in vslsbasicstats.c/vsldbasicstats.c for C or vslsbasicstats.f/vsldbasicstats.f for Fortran examples.

At the same time those examples show calculation for all basic stats including min/max, moments, skewness, etc.

In order to calculate covariance only you can skip several steps there, the rest will be: vslsSSNewTask() + vslsSSEditCovCor() + vslsSSCompute() + vslSSDeleteTask().

You can also look here:

0 Kudos
Reply