If I do:
a = np.ones((10,1))
b = np.ones((10,1))
c = np.memmap('zeros.mat', dtype=np.float64, mode='w+', shape=(10,10), order='C')
a.dot(b.T, out=c)
Я получаю:
ValueError: выходной массив неприемлем (должен иметь правильный тип, количество измерений и быть C-массивом)
Я проверяю все условия из сообщения об ошибке, и они кажутся подходящими:
>>> print(a.dtype == b.dtype == c.dtype)
>>> print(np.dot(a, b.T).shape == c.shape)
>>> print(c.flags['C_CONTIGUOUS'])
True
True
True
Когда я заменяю c на:
c = np.zeros((10,10))
оно работает.
Что я делаю не так?