'Vector sum.
Adding is done by converting the representation to cartesian, and
summing the x, y, and z components. The result is converted back to the
same representation as the input.
Refer to `~numpy.sum` for full documentation of the arguments, noting
that ``axis`` is the entry in the ``shape`` of the representation, and
that the ``out`` argument cannot be used.
Returns
sum : representation
Vector sum, in the same representation as that of the input.'

def sum(self, *args, **kwargs):

    self._raise_if_has_differentials(u'sum')
    return self.from_cartesian(self.to_cartesian().sum(*args, **kwargs))
