Это дает ожидаемый результат
x = random.rand(1) + random.rand(1)*1j
print x.dtype
print x, x.real, x.imag
и это работает
C = zeros((2,2),dtype=complex)
C[0,0] = 1+1j
print C
но если мы изменим его на
C[0,0] = 1+1j + x
Я получаю "TypeError: невозможно преобразовать комплекс в float".
Если мы теперь опустим явный dtype = complex
, я получаю "ValueError: установка элемента массива с последовательностью".
Может кто-нибудь объяснить, что происходит, и как это сделать без ошибок? Я потерян.