Hello Federico,

--> isreal(%i^2, %eps)
 ans  =
  T

--> %i^2 == -1
 ans  =
  T

Regards
Stefan


On 2022-04-07 05:24, Federico Miyara wrote:

Dear all,

Consider

M = 16
w = [ones(1,M/4),zeros(1,M/4)]
w = [w(1:M/2), 0, conj(w($:-1:2))]
v = ifft(w)
isreal(v)

The first 3 lines defines a real spectrum of a real signal, then the real signal is recovered and finally it is checked whether it is real or not.

What puzzles me is that the result is T (true). However, the definition of the ifft() involves complex operations, so at some point the numbers must be converted to a complex representation such as

1. + 0.i

so I would expect that the result included 0i so the result of the test should be F. Where is this null imaginary component removed?

I don't say this is wrong, but it is perplexing if compared to much more simple operations such as

sqrt(%i^4)

which yields 1. + 0.i, a complex representation of real scalar 1.

Maybe the fftw package is so refined to detect whether the result is actually real and removes the useless 0.i components?

Regards,

Federico Miyara



<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> Libre de virus. www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>

<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users

Reply via email to