Hi

when trying to calculate the covariance matrix C in python and using it for PCA we noticed that when we simply calculate (1/m)X^T*X (with numpy.dot) we get different results than when we use numpy.cov (the covariance matrices are different from one another). when calculating C on a simple example it seems as though the result in both methods is identical except for the fact that numpy.cov divides the matrix by m-1 while we divide by m. since multiplying a matrix with a scalar doesn't have an effect on the eigen decomposition, the difference when using the train data could be again a problem of float precision. the results of the PCA make a lot more sense when using numpy.cov.

what should we do?

thanks!