def _cross_np(fld_a, fld_b):
    """cross product of two vector fields"""
    ax, ay, az = fld_a.component_views()
    bx, by, bz = fld_b.component_views()
    prodx = ay * bz - az * by
    prody = -ax * bz + az * bx
    prodz = ax * by - ay * bx
    return fld_a.wrap([prodx, prody, prodz])