From: Randewijk P-J <pjr...@su...> - 2005-11-22 14:32:02
|
If I say: my_array =3D -my_other_array I get the correct result. However, if I say: my_array =3D +my_other_array Weired things happen... It worked fine using numarray-1.3.3... Part of my code looks as follows: ... #Input current as a function of the output current ia=3D0 ib=3D-iA ic=3D+iA iip_cbb=3Dsqrt(2.0/3)*(ia+ib*exp(-2j*pi/3)+ic*exp(+2j*pi/3)) ... The error code I get is: >>> Traceback (most recent call last): File "C:\My Documents\My PhD\Python\helle\helle.py", line 229, in ? iip_cbb=3Dsqrt(2.0/3)*(ia+ib*exp(-2j*pi/3)+ic*exp(+2j*pi/3)) TypeError: unsupported operand type(s) for *: 'dict' and 'complex' >>> I then "debuged" the results: >>> ia 0 >>> ib array([ -2.30940108e+02, -2.30061311e+02, -2.27431609e+02, -2.23071014e+02, -2.17012715e+02, -2.09302818e+02, -2.00000000e+02, -1.89175061e+02, -1.76910386e+02, ... 2.23071014e+02, 2.27431609e+02, 2.30061311e+02, 2.30940108e+02]) It looks fine. But the supprise was: >>> ic {'WE': WE, 'draw_if_interactive': <function draw_if_interactive at 0x01914EF0>, 'show': <function show at 0x01914F30>, 'text': <function text at 0x019C16B0>, 'hist': <function hist at 0x019C1130>, 'get_plot_commands': <function get_plot_commands at 0x019BD230>, 'entropy': <function entropy at 0x0178EEF0>, 'rot90': <function rot90 at 0x01763570>, 'rot': <function rot at 0x019C64B0>, 'find': <function find at 0x01792030>, 'ptp': <function ptp at 0x017636B0>, 'contourf': <function contourf at 0x019BEE70>, 'Int32': Int32, 'inverse': <function inverse at 0x01763E70>, 'randn': <function randn at 0x017633F0>, 'savefig': <function savefig at 0x019BE530>, 'title': <function title at 0x019BE930>, 'popd': <function popd at 0x017755B0>, 'putmask': <function putmask at 0x00EB06F0>, 'PolarAxes': <class matplotlib.axes.PolarAxes at 0x0190E120>, 'swapaxes': <function swapaxes at 0x00EB1BF0>, 'blackman': <function blackman at 0x01763A30>, 'center_matrix': <function center_matrix at 0x017923B0>, 'norm': <function norm at 0x01792A30>, 'vABr': array([ 3.00000000e+02, 2.91878510e+02, 2.81491031e+02, 2.68872055e+02, 2.54073166e+02, 2.37162701e+02, ... with lots and lots of garbage in between, ending with ... l', 'ytick.labelsize': 'small', 'ps.papersize': 'a4', 'image.origin': 'upper'}, 'compress': <function compress at 0x00EB1DB0>, 'UInt8': UInt8, 'amap': <function amap at 0x01792870>, 'multiply': <UFunc: 'multiply'>, 'amax': <function max at 0x01763630>, 'delaxes': <function delaxes at 0x019BE270>, 'logical_not': <UFunc: 'logical_not'>, 'phib': -2.0943951023931953, 'asum': <built-in method reduce of _BinaryUFunc object at 0x01032288>, 'FixedLocator': <class matplotlib.ticker.FixedLocator at 0x0187FD80>, 'detrend': <function detrend at 0x0178EB70>, 'Float': Float64, 'base_repr': <function base_repr at 0x01792AF0>, 'hsv': <function hsv at 0x019C18B0>, 'orth': <function orth at 0x01792230>, 'hamming': <function hamming at 0x01763AF0>, 'axvspan': <function axvspan at 0x019BEDB0>, 'FuncFormatter': <class matplotlib.ticker.FuncFormatter at 0x0187FBD0>, 'dot': <built-in function dot>} >>> ... ic=3D(+iA) ... Gives the same result... Most of the garbage looks like matplotlib stuff... I know the solution is to say: ... ic=3DiA ... without the "+", but this is a bug somewhere... Kind regards, Peter-Jan |