It seems that a multiplication by (R * ~R) is happening when a division should be
>>> base = Ga('a b', g=[1, 1], coords=symbols('x, y', real=True))
>>> a, b = base.mv()
>>> R = base.mv('R', 'spinor')
>>> f = base.lt(R)
>>> R * a * R.inv() # expected result of a rotor transform
(R**2 - R__xy**2)*a/(R**2 + R__xy**2) - 2*R*R__xy*b/(R**2 + R__xy**2)
>>> (R * a * ~R) / (R * ~R) # equivalent formulation
(R**2 - R__xy**2)*a/(R**2 + R__xy**2) - 2*R*R__xy*b/(R**2 + R__xy**2)
>>> f(a) # actual result of a rotor transform
(R**4 - R__xy**4)*a - 2*R*R__xy*(R**2 + R__xy**2)*b
>>> (R * a * ~R) * (R * ~R) # computation method
(R**4 - R__xy**4)*a - 2*R*R__xy*(R**2 + R__xy**2)*b
It seems that a multiplication by
(R * ~R)is happening when a division should be