Plus and minus parts were not working for modular symbols. I tracked the bug down to the fact that when you type in something like phi * A where phi is modular symbol and A is Sigma0 matrix thing, then for some reason sage was going to the function mul on manin_maps and not the function _right_action. Looking in the mul function I see the line:
if isinstance(right, Matrix_integer_2x2):
I guess that Matrix_integer_2x2 should be changed to some Sigma0 type thing, but I can't figure out how to do this. Instead I hacked together the following which appears to work:
if isinstance(right, type(Sigma0(self._manin.level())(MatrixSpace(ZZ,2,2)([1,0,0,1])))):
Plus and minus parts were not working for modular symbols. I tracked the bug down to the fact that when you type in something like phi * A where phi is modular symbol and A is Sigma0 matrix thing, then for some reason sage was going to the function mul on manin_maps and not the function _right_action. Looking in the mul function I see the line:
I guess that Matrix_integer_2x2 should be changed to some Sigma0 type thing, but I can't figure out how to do this. Instead I hacked together the following which appears to work:
could someone do this the right way?
thanks.