I noticed that if I generate complex rv i.i.d. with var=1, that numpy says: var (<real part>) -> (close to 1.0) var (<imag part>) -> (close to 1.0) but var (complex array) -> (close to complex 0) Is that not a strange definition?