Ответ 1
Чтобы быть на вашем месте, я бы попытался "рассорить" (сохранить) матрицу на моем жестком диске, закрыть python, а затем в командной строке повторно открыть файл с выделенным файлом и выполнить мои вычисления на экземпляре "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 where you pickle the file
Здесь вы закрываете python. Ваш файл должен быть сохранен в вашем домашнем каталоге как "M.pic".
import cPickle
import numpy
M = cPickle.load( open( "~/M.pic", "r") )
M = numpy.coa( M )
Если он все еще не работает, попробуйте установить "хороший" тип данных для ваших данных. numpy seams для использования dtype 'float64' из 'int64' по умолчанию. Это огромно, и если вам не нужна эта точность, вы можете уменьшить ее до "int32" или "float32".
import numpy
M = numpy.array([[1,2],[3,4]] , dtype.float32 )
В самом деле, я могу гарантировать, что C/Fortran не является для вас вариантом. Numpy уже написана на C/Fortran и, вероятно, людьми умнее, чем вы и я;)
Любопытством, насколько велика ваша матрица? насколько велик ваш маринованный файл?