Hello everyone: It has become necessary to lean on Magma's extensive ability to compute with lattices (and in particular with ideal classes in definite quaternion algebras).
I am trying to write some code in Magma (granting that this is an abomination) and for the life of me, I cannot figure out how to make block matrices using a bunch of 3x 3 matrices all defined over a number field. Here is the code I have. The function that I am trying to get to work is the BrandtOperator function: function representations(I, J, n) reqlat := J*invideal(I); reqnorm := n*Norm(reqlat); return Enumerate(reqlat, reqnorm, reqnorm); end function; function BrandtBlock(I, J, wt, n) assert RightOrder(I) eq RightOrder(J); eI := 1/2*#Units(LeftOrder(I)); RIJn := representations(I, J, n); phi := MatrixRepresentation(QuaternionAlgebra(RightOrder(I))); bnIJ := SymmetricPower(phi(0),wt-2); for alph in RIJn do bnIJ := bnIJ + SymmetricPower(phi(alph),wt-2); end for; return 1/eI*bnIJ; end function; function BrandtOperator(O, wt, n) Cl := RightIdealClasses(O); H := #Cl; blkr := [BrandtBlock(I, J, wt, n) : I, J in Cl]; // needs tweaking // return blkr; return BlockMatrix(blkr); end function; Also, if anyone is working on building functionality for lattices and in particular definite quaternion algebras over number field in Sage, I am willing to contribute to your project or in any case, if any one has any kind of a blueprint, I am willing to spend the next couple of months to thrash out some working code to compute spaces of automorphic forms of higher weight (just as BrandtModules do for weight 2; in this case, already, it would be desirable to work with Pizer-type orders but I am not sure if people have tried to implement these things in Sage). Thank you for your help with this! Kannappan. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.