# Covariance

I do not find if there is a command to evaluate the covariance between two vectors. Should I construct it by myself ?

edit retag close merge delete

Sort by » oldest newest most voted

You can use numpy to compute the covariance of two list of numbers:

sage: x = [random() for _ in range(10)]
sage: y = [random() for _ in range(10)]
sage: import numpy as np
sage: np.cov(x,y)
array([[ 0.09306006, -0.04053014],
[-0.04053014,  0.10647864]])


The numpy array can be converted back into a SageMath matrix:

sage: matrix(_)
[ 0.09306006427535807 -0.04053014267978353]
[-0.04053014267978353  0.10647864456311205]


More usage examples can be found in the numpy doc.

more

Thanks a lot. But that is to say that I must also learn Numpy in using Sagemath.

Indeed, doing search_src('covariance') seems to confirm there is nothing in the sage library to do that. I think as SageMath users, it is not a bad thing that we learn how to use python libraries such as numpy, pandas, matplotlib, etc.