Чтобы оказаться на вашем месте, я бы попытался «засолить» (сохранить) матрицу на моем жестком диске, закрыть python, а затем в командной строке заново открыть файл pickeled и выполнить мои вычисления на экземпляре «fresh python»..
Я бы сделал это, потому что, возможно, ваша проблема до вычисления ковариации.
import cPickle
import numpy
M = numpy.array([[1,2],[3,4]]) # here it will be your matrix
cPickle( M , open( "~/M.pic", "w") ) # here it's where you pickle the file
Здесь вы закрываете python.Ваш файл должен быть сохранен в вашем домашнем каталоге как «M.pic».
import cPickle
import numpy
M = cPickle.load( open( "~/M.pic", "r") )
M = numpy.coa( M )
Если он все еще не работает, попробуйте установить «хороший» dtype для ваших данных.numpy швы, чтобы использовать dtype 'float64' из 'int64' по умолчанию.Это огромно, и если вам не нужна эта точность, вы можете уменьшить ее до 'int32' или 'float32'.
import numpy
M = numpy.array([[1,2],[3,4]] , dtype.float32 )
Действительно, я могу гарантировать вам, что C / Fortran не вариантдля тебя.Numpy уже написан на C / Fortran и, вероятно, людьми умнее вас и меня;)
Из любопытства, насколько велика ваша матрица?насколько большой твой маринованный файл?