code: def _computeforceArray(self,dr_dx, dtheta_dx, dphi_dx, R, z, phi):
               
          R = nu.array(R,dtype=float); z = nu.array(z,dtype=float); phi = nu.array(phi,dtype=float);
          shape = (R*z*phi).shape
          if shape == (): 
              dPhi_dr,dPhi_dtheta,dPhi_dphi = \
              self._computeforce(R,z,phi)
              return dr_dx*dPhi_dr + dtheta_dx*dPhi_dtheta +dPhi_dphi*dphi_dx
          
          R = R*nu.ones(shape);
          z = z* nu.ones(shape);
          phi = phi* nu.ones(shape);
          force = nu.zeros(shape, float)
          dr_dx = dr_dx*nu.ones(shape); dtheta_dx = dtheta_dx*nu.ones(shape);dphi_dx = dphi_dx*nu.ones(shape);  
          li = _cartesian(shape)
  
          for i in range(li.shape[0]):
              j = tuple(nu.split(li[i], li.shape[1]))
              dPhi_dr,dPhi_dtheta,dPhi_dphi = \
              self._computeforce(R[j][0],z[j][0],phi[j][0])
              force[j] = dr_dx[j][0]*dPhi_dr + dtheta_dx[j][0]*dPhi_dtheta +dPhi_dphi*dphi_dx[j][0]
          return force
docs: NAME:
             _computeforceArray
          PURPOSE:
             evaluate the forces in the x direction for a given array of coordinates
          INPUT:
             dr_dx - the derivative of r with respect to the chosen variable x
             dtheta_dx - the derivative of theta with respect to the chosen variable x
             dphi_dx - the derivative of phi with respect to the chosen variable x
             R - Cylindrical Galactocentric radius
             z - vertical height
             phi - azimuth
             t - time
          OUTPUT:
             The forces in the x direction
          HISTORY:
             2016-06-02 - Written - Aladdin