'The constituents of this vector in different coordinate systems,
as per its definition.
Returns a dict mapping each CoordSys3D to the corresponding
constituent Vector.
Examples
>>> from sympy.vector import CoordSys3D
>>> R1 = CoordSys3D(\'R1\')
>>> R2 = CoordSys3D(\'R2\')
>>> v = R1.i + R2.i
>>> v.separate() == {R1: R1.i, R2: R2.i}
True'

def separate(self):

    parts = {}
    for (vect, measure) in self.components.items():
        parts[vect.system] = (parts.get(vect.system, Vector.zero) + (vect * measure))
    return parts
