Кто-нибудь знает о документации для этого поведения?
import numpy as np
A = np.random.uniform(0,1,(10,5))
w = np.ones(5)
Aw = A*w
Sym1 = Aw.dot(Aw.T)
Sym2 = (A*w).dot((A*w).T)
diff = Sym1 - Sym2
diff.max() находится рядом с машинной точностью отличной от нуля, например. 4.4e-16.
Это (несоответствие от 0) обычно отлично... в мире с конечной точностью мы не должны удивляться.
Более того, я бы предположил, что numpy умнее о симметричных продуктах, чтобы сохранить флопы и обеспечить симметричный вывод...
Но я имею дело с хаотическими системами, и это небольшое несоответствие быстро становится заметным при отладке. Поэтому я хотел бы точно знать, что происходит.