Bug with matplotlib-0.85 and numarray-1.4.1 on Python 2.4.2

If I say:

my_array = -my_other_array

I get the correct result.

However, if I say:

my_array = +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=0
ib=-iA
ic=+iA

iip_cbb=sqrt(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=sqrt(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=(+iA)
...

Gives the same result...

Most of the garbage looks like matplotlib stuff...

I know the solution is to say:

...
ic=iA
...

without the "+", but this is a bug somewhere...

Kind regards,

Peter-Jan