Ticket #6745 (closed enhancement: fixed)
[with patch, positive review] quaternion algebras -- add computation of left and right orders associated to ideals
| Reported by: | was | Owned by: | tbd |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.1.2 |
| Component: | algebra | Keywords: | |
| Cc: | Author(s): | William Stein | |
| Report Upstream: | Reviewer(s): | Robert Bradshaw | |
| Merged in: | Sage 4.1.2.alpha0 | Work issues: |
Description (last modified by was) (diff)
A big gap in functionality for quaternion algebras right now is that one can't compute the left and right orders associated to ideals (the functions raise NotImplementedError?). I just designed a little algorithm and wrote code to do this for my research and will post a patch here soon.
Just in case I misplace it, some demo code that works is the following:
def left_order(I):
Q = I.quaternion_algebra()
M = [matrix([(a*b).coefficient_tuple() for a in Q.basis()]) for b in I.basis()]
B = I.basis_matrix()
invs = [(B*m^(-1)).row_module(ZZ) for m in M]
IS = invs[0].intersection(invs[1]).intersection(invs[2]).intersection(invs[3])
ISB = [Q(v) for v in IS.basis()]
return Q.quaternion_order(ISB)
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

