Opened 6 years ago
Closed 5 years ago
#20029 closed enhancement (fixed)
Implement quantum matrix coordinate algebras
Reported by:  tscrim  Owned by:  tscrim 

Priority:  major  Milestone:  sage8.0 
Component:  algebra  Keywords:  quantum, coordinate ring 
Cc:  bump, buciumas  Merged in:  
Authors:  Travis Scrimshaw  Reviewers:  Daniel Bump, Valentin Buciumas, Frédéric Chapoton 
Report Upstream:  N/A  Work issues:  
Branch:  1119afe (Commits, GitHub, GitLab)  Commit:  1119afea4a903d5591314c869efcaf6f21cf03c4 
Dependencies:  Stopgaps: 
Description
We provide a basic implementation of quantum matrix coordinate algebras.
Change History (39)
comment:1 Changed 6 years ago by
 Branch set to public/algebras/quantum_matrix_coordinate_ring20029
 Commit set to 6772f0c377b9eab5b4e0d67652b1493e8adb6d7d
 Status changed from new to needs_review
comment:2 Changed 6 years ago by
 Cc bump buciumas added
comment:3 Changed 6 years ago by
This bialgebra (if m=n) has a natural comodule, namely the quantum affine space.
Would it be hard to implement that, too? It seems plausible that this could be useful.
comment:4 Changed 6 years ago by
 Reviewers set to Daniel Bump, Valentin Buciumas
comment:5 Changed 6 years ago by
Perhaps it would be good to add a reference to Faddeev, Reshetikhin and Takhtajan, Quantization of Lie Groups and Lie Algebras, Leningrad Math. J. vol. 1 no. 1 (1990).
The quantum determinant is described in this paper and there are also bialgebras/Hopf algebras constructed for the other classical types.
comment:6 Changed 6 years ago by
I looked over the document and it looks good!
I would suggest adding a note saying what qconvention you are using. For example the q squared in your document would be just a q in Chari and Pressley or in Kassel (or FRT for that matter). I think this would save some confusion for people that don't now about this.
Certain things that could be implemented going forward could be an antipode map for GL_q(n) and maybe the same construction for other classical types (see FRT). The quantum determinant is then replaced by the quantum similitude.
comment:7 Changed 6 years ago by
Thank you both for looking at this!
It's not hard to implement the quantum affine space, but I don't think we currently have a framework for comodules. We do have the basic infrastructure to do this though. However, I agree that this would be a good thing to implement; perhaps on a follow up ticket.
I will add the reference and a note about the qconvention. Does the antipode extend to GL_{q}(n)? From FRT (well, at least Ram's version), it is only given for SL_{q}(n). Just to let you know, one of my main motivations for implementing this was to look at the crystal basis (see http://arxiv.org/abs/math/0509651).
comment:8 Changed 6 years ago by
 Commit changed from 6772f0c377b9eab5b4e0d67652b1493e8adb6d7d to 691b99d2e6e351bc42edb60561c9c9389d45dcd8
Branch pushed to git repo; I updated commit sha1. New commits:
5dcccb8  Merge branch 'public/algebras/quantum_matrix_coordinate_ring20029' of trac.sagemath.org:sage into public/algebras/quantum_matrix_coordinate_ring20029

691b99d  Adding documentation and commented code for antipode once SL is implemented.

comment:9 Changed 6 years ago by
I've added the FRT reference and the note about the q convention, and I also had come across a small bug with how I was implementing the unique representation behavior that I fixed (and now it takes more general input too). I also added commented code for the antipode once we implement SL_{q}(n) (well, really, quantum Gröbner bases). However, considering the antipode is coming from "qinverting the matrix", I don't think we get an antipode map for generic q and the quantum determinant is not an invertible element in the algebra (in general). Or is there a different Hopf structure/antipode?
comment:10 Changed 6 years ago by
The FRT version at the above web page does not seem to be the whole paper. Both SL_q(n)
and GL_q(n)
have antipodes. For GL_q(n)
the qdeterminant (needed for the antipode) is invertible, and for SL_q(n)
the qdeterminant is 1.
comment:11 Changed 6 years ago by
Can you tell me a formula for the inverse of the qdeterminant for GL_q(n)
is or point me to a reference which has it?
Addendum  At least the FRT article is not on MathSciNet; just a description/reference information.
comment:12 Changed 6 years ago by
I don't think there is a formula for the inverse of the qdeterminant in GL_q(n). I think GL_q(n) is defined as the bialgebra generated by the regular generators plus a generator c that is central mod the relation c * qdet = 1. So you can write the antipode in GL_q(n) as a sum of products of the x_{ij}'s and multiply everything by the inverse of the qdet. In the case of SL_q(n) qdet is set to 1. In the case of the quantum coordinate ring which you implemented you can't write a formula for the antipode because qdet is not invertible or equal to 1.
Formulas for the antipode and qdet (which I think you already know) for SL_q(n) can be found (among many places) here : http://arxiv.org/abs/1602.04262 (page 16 last formula and page 17 first formula).
comment:13 Changed 6 years ago by
Thank you. I will see if I can implement this over the weekend (I'm flying to Seoul tomorrow).
comment:14 Changed 6 years ago by
 Commit changed from 691b99d2e6e351bc42edb60561c9c9389d45dcd8 to 087245c395b4d6b3f0f9b53e5e77100121c9bce1
comment:15 Changed 6 years ago by
 Status changed from needs_review to needs_work
I've added a class for GL_{q}(n), but it currently fails the antipode test. I've also changed the convention from q^2
to q
. I just ran another test and it says that it is failing associativity, so the bug is probably in the multiplication code.
However, can you check to make sure the following data is correct?
sage: O = algebras.QuantumGL(2) sage: O.quantum_determinant() x[1,1]*x[2,2]  q*x[1,2]*x[2,1] sage: for g in O.algebra_generators(): ....: print "{:>8}{:>33}{:>35}{:>2}".format(g, g.antipode(), ....: g.coproduct(), g.counit()) x[1,1] c*x[2,2] x[1,1] # x[1,1] + x[1,2] # x[2,1] 1 x[1,2] (q^1)*c*x[2,1] x[1,1] # x[1,2] + x[1,2] # x[2,2] 0 x[2,1] q*c*x[1,2] x[2,1] # x[1,1] + x[2,2] # x[2,1] 0 x[2,2] c*x[1,1] x[2,1] # x[1,2] + x[2,2] # x[2,2] 1 c x[1,1]*x[2,2]  q*x[1,2]*x[2,1] c # c 1
This agrees with Valentin's paper if c = 1
.
comment:16 Changed 6 years ago by
I know what the problem is: I need to do some commuting in order to do the cancellation I want to do.
comment:17 Changed 6 years ago by
 Commit changed from 087245c395b4d6b3f0f9b53e5e77100121c9bce1 to 953225a512b5f2be57e8d97a307a1ecef85a4812
comment:18 Changed 6 years ago by
Okay, I fixed the issue with multiplication not be associative by a slightly hacky Gröbner basis like process, but I left a little outline/proof of the method as a comment. I also forgot that it is the transpose of the cofactor matrix when doing the inverse (and hence the antipode).
Now just to do a little bit of cleanup and get back to full doctest coverage.
comment:19 Changed 6 years ago by
 Commit changed from 953225a512b5f2be57e8d97a307a1ecef85a4812 to 1287c625d32572b6168e593ecb5fc0a474afba80
Branch pushed to git repo; I updated commit sha1. New commits:
1287c62  Finishing up the documentation and coverage.

comment:20 Changed 6 years ago by
 Status changed from needs_work to needs_review
Back to needing review.
comment:21 Changed 6 years ago by
 Commit changed from 1287c625d32572b6168e593ecb5fc0a474afba80 to b91a3133a992f08c2ae8a0eaff331751519ea1e4
comment:22 Changed 6 years ago by
 Commit changed from b91a3133a992f08c2ae8a0eaff331751519ea1e4 to 44526fef2d349a60d7c2f31722ba973165d65eb3
Branch pushed to git repo; I updated commit sha1. New commits:
44526fe  Merge branch 'public/algebras/quantum_matrix_coordinate_ring20029' of trac.sagemath.org:sage into public/algebras/quantum_matrix_coordinate_ring20029

comment:23 Changed 5 years ago by
 Commit changed from 44526fef2d349a60d7c2f31722ba973165d65eb3 to 82f99a969d82f9bffeae43741d8d664732bfeda3
Branch pushed to git repo; I updated commit sha1. New commits:
82f99a9  Merge branch 'public/algebras/quantum_matrix_coordinate_ring20029' in 7.5.b3

comment:24 Changed 5 years ago by
 Commit changed from 82f99a969d82f9bffeae43741d8d664732bfeda3 to 8d79b27ff1dba18593fce99a1983c82f81a62426
comment:25 Changed 5 years ago by
 Status changed from needs_review to needs_work
doctest failures (cf. patchbot).
comment:26 Changed 5 years ago by
 Commit changed from 8d79b27ff1dba18593fce99a1983c82f81a62426 to a712c4fbbf3f8a910e64a601cdd77f2953ef036b
comment:27 Changed 5 years ago by
 Milestone changed from sage7.1 to sage7.6
 Status changed from needs_work to needs_review
comment:28 Changed 5 years ago by
could you remove gcmp, which seems not to be used anywhere ?
comment:29 Changed 5 years ago by
 Commit changed from a712c4fbbf3f8a910e64a601cdd77f2953ef036b to 0451a86c0d8b748565d3ed9a1abb0b668b698043
Branch pushed to git repo; I updated commit sha1. New commits:
0451a86  Some last little bit of fixing for print sorting orders.

comment:30 Changed 5 years ago by
I've removed it, and instead I replaced it with a key for sorting since I don't think there is a guaranteed sorting order between strings and tuples.
comment:32 Changed 5 years ago by
 Commit changed from 0451a86c0d8b748565d3ed9a1abb0b668b698043 to 21f5166217b89b5bd106694a067b5597463a5806
Branch pushed to git repo; I updated commit sha1. New commits:
21f5166  Merge branch 'public/algebras/quantum_matrix_coordinate_ring20029' of git://trac.sagemath.org/sage into public/algebras/quantum_matrix_coordinate_ring20029

comment:33 Changed 5 years ago by
 Status changed from needs_work to needs_review
comment:35 Changed 5 years ago by
 Commit changed from 21f5166217b89b5bd106694a067b5597463a5806 to 1119afea4a903d5591314c869efcaf6f21cf03c4
Branch pushed to git repo; I updated commit sha1. New commits:
1119afe  Merge branch 'public/algebras/quantum_matrix_coordinate_ring20029' of git://trac.sagemath.org/sage into public/algebras/quantum_matrix_coordinate_ring20029

comment:36 Changed 5 years ago by
 Milestone changed from sage7.6 to sage8.0
 Status changed from needs_work to needs_review
comment:38 Changed 5 years ago by
 Reviewers changed from Daniel Bump, Valentin Buciumas to Daniel Bump, Valentin Buciumas, Frédéric Chapoton
Thank you.
comment:39 Changed 5 years ago by
 Branch changed from public/algebras/quantum_matrix_coordinate_ring20029 to 1119afea4a903d5591314c869efcaf6f21cf03c4
 Resolution set to fixed
 Status changed from positive_review to closed
New commits:
Initial implementation of QMCA.