On Sat, 17 May 2008 14:58:20 -0400, Anne Archibald wrote: > numpy arrays are efficient, among other reasons, because they have > homogeneous types. So all the elements in an array are the same type. > (Yes, this means if you have an array of numbers only one of which > happens to be complex, you have to represent them all as complex numbers > whose imaginary part happens to be zero.) So if A is an array A.dtype is > the type of its elements. > > numpy provides two convenience functions for checking whether an array > is complex, depending on what you want: > > iscomplex checks whether each element has a nonzero imaginary part and > returns an array representing the element-by-element answer; so > any(iscomplex(A)) will be true if any element of A has a nonzero > imaginary part. > > iscomplexobj checks whether the array has a complex data type. This is > much much faster, but of course it may happen that all the imaginary > parts happen to be zero; if you want to treat this array as real, you > must use iscomplex. > > Anne > > > Anne
Thank you for the explanation. I knew there would be a speed penalty but the current numpy dot doesn't work as expected with mpf or mpc just yet and so I had to write my own. Your explanation helped as I decided to treat all numbers as complex and just implemented the complex version. Thanks, Zoho _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion