'Returns the cross product between this Dyadic, and a Vector, as a
Vector instance.
Parameters
other : Vector
The Vector that we are crossing this Dyadic with
Examples
>>> from sympy.vector import CoordSys3D
>>> N = CoordSys3D(\'N\')
>>> d = N.i.outer(N.i)
>>> d.cross(N.j)
(N.i|N.k)'

def cross(self, other):

    Vector = sympy.vector.Vector
    if (other == Vector.zero):
        return Dyadic.zero
    elif isinstance(other, Vector):
        outdyad = Dyadic.zero
        for (k, v) in self.components.items():
            cross_product = k.args[1].cross(other)
            outer = k.args[0].outer(cross_product)
            outdyad += (v * outer)
        return outdyad
    else:
        raise TypeError(((str(type(other)) + '    not    supported    for    ') + 'cross    with    dyadics'))
