Neal Becker wrote:
> Neal Becker wrote:
> 
>> 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?
> 
> I don't think there is any ambiguity about the definition of the variance of
> complex.
> 
> Var(x) = E{(x-E[x])^2} = E{x}^2 - E{x}

That's currently what's implemented, but there is simply no evidence that 
anyone 
ever uses this definition for complex random variables. Note that for real 
variables,

   E{(x-E[x])^2} = E{|x-E[x]|^2}

but for complex variables, there is a large difference. Since the || are 
superfluous with real variables, probability texts rarely include them unless 
if 
they are then going on to talk about complex variables. If you want to extend 
the definition for real variables to complex variables, that is an ambiguity 
you 
have to resolve.

There is, apparently, a large body of statistical signal processing literature 
that defines the complex variance as

   E{|z-E[z]|^2}

so, I (now) believe that this is what should be implemented.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to