TypeError with ufunc bitwise_xor

In the offending line you are using a ^ when you want a ** to raise a value to a power. Python interprets this as an xor:

bfield += b_X(r_p(r,pos[2]))*(r_p(r,pos[2])/r)*((r-r_p(r,pos[2]))**2+
        pos[2]**2)^(-1/2)*np.array([(1-r_p(r,pos[2])/r)*pos[0],
        (1-r_p(r,pos[2])/r)*pos[1],pos[2]])

See:

http://docs.python.org/2/reference/expressions.html#binary-bitwise-operations

Leave a Comment