'Checks if this object\'s frame as the same as that of the ``other``
object.
To be the same frame, two objects must be the same frame class and have
the same frame attributes. For two `SkyCoord` objects, *all* of the
frame attributes have to match, not just those relevant for the object\'s
frame.
Parameters
other : SkyCoord or BaseCoordinateFrame
The other object to check.
Returns
isequiv : bool
True if the frames are the same, False if not.
Raises
TypeError
If ``other`` isn\'t a `SkyCoord` or a `BaseCoordinateFrame` or subclass.'

def is_equivalent_frame(self, other):

    if isinstance(other, BaseCoordinateFrame):
        return self.frame.is_equivalent_frame(other)
    elif isinstance(other, SkyCoord):
        if (other.frame.name != self.frame.name):
            return False
        for fattrnm in frame_transform_graph.frame_attributes:
            if np.any((getattr(self, fattrnm) != getattr(other, fattrnm))):
                return False
        return True
    else:
        raise TypeError(u"Tried    to    do    is_equivalent_frame    on    something    that    isn't    frame-like")
