it must be real if you do W * W.conf()
It'd use np.abs(W) ** 2 unless it's slower.