Opened 9 years ago
Closed 6 years ago
#15328 closed enhancement (fixed)
Filtered vector spaces and Klyachko bundles on toric varieties
Reported by:  vbraun  Owned by:  

Priority:  major  Milestone:  sage6.10 
Component:  algebraic geometry  Keywords:  filtered 
Cc:  Merged in:  
Authors:  Volker Braun  Reviewers:  Dima Pasechnik 
Report Upstream:  N/A  Work issues:  
Branch:  649f93d (Commits, GitHub, GitLab)  Commit:  649f93d1bcc4c059015eb7cd14ee05466b8c3e7b 
Dependencies:  Stopgaps: 
Description (last modified by )
This ticket implements filtered vector spaces and multifiltered vector spaces (multiple filtrations of a single vector space). This is then used to implement Klyachko bundles.
Mandatory fun example: There are 3 torusequivariant deformations of the tangent bundle on the del Pezzo of degree 6:
sage: dP6 = toric_varieties.dP6() sage: TX = dP6.sheaves.tangent_bundle() sage: (TX * TX.dual()).cohomology(weight=(0,0), dim=True) (1, 3, 0)
Change History (45)
comment:1 Changed 9 years ago by
 Branch set to u/vbraun/toric_bundle
 Commit set to 2ccbe41bb6c7274eb0b5ff823c41c2b44d0a0481
 Status changed from new to needs_review
comment:2 Changed 9 years ago by
 Description modified (diff)
comment:3 Changed 9 years ago by
 Commit changed from 2ccbe41bb6c7274eb0b5ff823c41c2b44d0a0481 to f8795453690992d9c65330436dd96621f8f4d449
Branch pushed to git repo; I updated commit sha1. New commits:
[changeset:f879545]  docstring fix 
comment:4 Changed 8 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:5 Changed 8 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:6 Changed 8 years ago by
 Status changed from needs_review to needs_work
 Work issues set to rebase
comment:7 Changed 8 years ago by
 Commit changed from f8795453690992d9c65330436dd96621f8f4d449 to 4d79e8d7a13fca464b470c58b23a2dcef6005758
Branch pushed to git repo; I updated commit sha1. New commits:
4d79e8d  Merge branch 'develop' into t/15328/toric_bundle

comment:8 Changed 8 years ago by
 Status changed from needs_work to needs_review
 Work issues rebase deleted
comment:9 Changed 8 years ago by
 Status changed from needs_review to needs_work
Error building the documentation. Traceback (most recent call last): ... OSError: [modules ] /home/ralf/sage/local/lib/python2.7/sitepackages/sage/modules/tensor_operations.py:docstring of sage.modules.tensor_operations:31: ERROR: Unexpected indentation.
comment:10 Changed 8 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:11 Changed 7 years ago by
 Branch changed from u/vbraun/toric_bundle to public/ticket/15328
 Commit changed from 4d79e8d7a13fca464b470c58b23a2dcef6005758 to f4a57659e8677ecd781c75622525cc3744d32edd
 Milestone changed from sage6.4 to sage6.9
comment:12 Changed 7 years ago by
 Commit changed from f4a57659e8677ecd781c75622525cc3744d32edd to b0b6280cc688b0583625c89b3d36d9fcdb98843d
Branch pushed to git repo; I updated commit sha1. New commits:
b0b6280  trac #15328 make doc build, various doc corrections

comment:13 Changed 7 years ago by
 Status changed from needs_work to needs_review
doc now builds. Back to needs review.
comment:14 Changed 7 years ago by
 Status changed from needs_review to needs_work
Missing doctests modules/tensor_operations.py 12 / 14 = 85%
so needs_work again
comment:15 Changed 7 years ago by
 Keywords filtered added
comment:16 Changed 7 years ago by
See also #17096
comment:17 Changed 7 years ago by
 Commit changed from b0b6280cc688b0583625c89b3d36d9fcdb98843d to a49162dbc3f80c8b489a6c2c5a9493bea6bf8982
comment:18 Changed 7 years ago by
 Milestone changed from sage6.9 to sage6.10
 Work issues set to documentation
comment:19 Changed 6 years ago by
 Commit changed from a49162dbc3f80c8b489a6c2c5a9493bea6bf8982 to cdd3c2ae61535b290bb09de666c48beeb6eeb9f6
comment:20 Changed 6 years ago by
 Commit changed from cdd3c2ae61535b290bb09de666c48beeb6eeb9f6 to c7e87ee6f35c9c14f8630d9f6b87d21ba2e34471
comment:21 Changed 6 years ago by
 Status changed from needs_work to needs_review
There is no dot product in tensor_operations.py
, only tensor products. Your fix was incorrect because of this (somewhat questionable) behavior of cartesian product:
sage: cartesian_product([[1,2], [3,4]]) The cartesian product of ({1, 2}, {3, 4}) sage: list(_) [(1, 3), (1, 4), (2, 3), (2, 4)]
vs.
sage: cartesian_product([vector([1,2]), vector([3,4])]) ((1, 2), (3, 4))
comment:22 followup: ↓ 23 Changed 6 years ago by
Main question: what about the relation to filtered modules introduced in #17096 ?
a typo : function accepcts various
comment:23 in reply to: ↑ 22 Changed 6 years ago by
comment:24 Changed 6 years ago by
 Commit changed from c7e87ee6f35c9c14f8630d9f6b87d21ba2e34471 to f2bdf6a1f4481cb217c290cf1c5e6130f9454b7b
Branch pushed to git repo; I updated commit sha1. New commits:
f2bdf6a  Fix typo

comment:25 Changed 6 years ago by
Yes, and so what ? Do you claim priority of ticket creation has any importance ?
Now #17096 is in sage and this ticket is not. I think that there should be at least a try not to duplicate filtered modules.
comment:26 Changed 6 years ago by
#17096 doesn't have tensor operations as far as I can tell, its totally useless for this ticket.
comment:27 Changed 6 years ago by
this has just one reference, to a paper by Alex Klyachko published 25 years ago. Certainly there should be more modern references, otherwise it's unclear why one wants to have this in Sage... (this paper has a large following, perhaps you can mention more popular sources? A reference to a chapter in the Cox's et al. "Toric Varieties" book?)
comment:28 Changed 6 years ago by
Its implemented in M2 http://www.math.uiuc.edu/Macaulay2/doc/Macaulay21.8.2/share/doc/Macaulay2/ToricVectorBundles/html/
This implementation is a good deal faster, in fact I wrote it because M2 was too slow.
I don't know of a better reference than Klyachko. Really its obvious, an equivariant bundle is determined by how the (finitely many, in the case of a toric variety) orbits fit together. The rest is just technical bookkeeping, and Klyachko writes down the details if you care for them.
comment:29 Changed 6 years ago by
well, add this ref to M2, at least; otherwise it's really hard to put into context for anyone who is not deeply involved in the toric varieties business.
And, by the way, the name is wrong:
+ Klyachko, Anton Alexander:
it's a different guy: Klyachko, Aleksandr Anatolʹevich (MR Author ID: 189605)
Published as: Kljačko, A. A. ...
Klyachko, A. Klyachko, A. A. Klyachko, Alexander Klyachko, Alexander A.
comment:30 Changed 6 years ago by
there is indeed a mathematician named Anton Aleksandrovich Klyachko; the name says that the name of his father is Alexander.
comment:31 Changed 6 years ago by
The Journal website says "Alexander A Klyachko" fwiw:
comment:32 Changed 6 years ago by
 Commit changed from f2bdf6a1f4481cb217c290cf1c5e6130f9454b7b to e7a99af230281ebd70fa6f5015178d9f6805d128
Branch pushed to git repo; I updated commit sha1. New commits:
e7a99af  Improve references

comment:33 Changed 6 years ago by
tried building docs and got errors, cause this ref is already there:
git blame src/sage/geometry/fan.py  grep "\[Klya" ... bfd3bb4c (Volker Braun 20111215 22:41:11 +0000 3435) .. [Klyachko]
comment:34 Changed 6 years ago by
 Commit changed from e7a99af230281ebd70fa6f5015178d9f6805d128 to 233314b8b6d3a5af5e6d490dcf82e06e5b163d5a
Branch pushed to git repo; I updated commit sha1. New commits:
233314b  Remove duplicate citation

comment:35 Changed 6 years ago by
Hmm strange the patchbot didn't notice; Anyways fixed now.
comment:36 Changed 6 years ago by
try other fields, not just QQ. E.g. the following looks weird:
sage: FilteredVectorSpace({1:[(1,0), (1,1)], 3:[(1,0)]},base_ring=GF(3)) Finite Field of size 3^2 >= Finite Field of size 3^1 >= Finite Field of size 3^1 >= 0
comment:37 Changed 6 years ago by
 Commit changed from 233314b8b6d3a5af5e6d490dcf82e06e5b163d5a to 43beebcb5bc3459eb214c666aee853108d1cdf90
Branch pushed to git repo; I updated commit sha1. New commits:
43beebc  Beautification of filtered vector space repr()

comment:38 Changed 6 years ago by
sage: f1.random_deformation()  TypeError Traceback (most recent call last) <ipythoninput2904b4efece1b> in <module>() > 1 f1.random_deformation() /home/dima/software/sage/local/lib/python2.7/sitepackages/sage/modules/filtered_vector_space.pyc in random_deformation(self, epsilon) 1230 for v in filt.echelonized_basis()] 1231 filtration[deg] = generators > 1232 return FilteredVectorSpace(filtration, check=True) ... TypeError: Unable to coerce 1 (<type 'sage.rings.finite_rings.element_givaro.FiniteField_givaroElement'>) to Rational sage:
Somewhere here char=0 seems to be assumed...
comment:39 Changed 6 years ago by
there
sage: f1=FilteredVectorSpace({1:[(1,0), (0,1)], 3:[(1,0)]},base_ring=GF(9,'a'),check=True)
comment:40 Changed 6 years ago by
 Commit changed from 43beebcb5bc3459eb214c666aee853108d1cdf90 to f1c96bf0079fd4a1bd0c1ba1bd7fe917946ac553
Branch pushed to git repo; I updated commit sha1. New commits:
f1c96bf  Add missing base_ring argument in random_deformation()

comment:41 Changed 6 years ago by
Thanks, fixed.
comment:42 Changed 6 years ago by
Could you add a couple of examples in positive characteristic, just to illustrate that this all works? Otherwise I am happy to give it a positive review.
comment:43 Changed 6 years ago by
 Commit changed from f1c96bf0079fd4a1bd0c1ba1bd7fe917946ac553 to 649f93d1bcc4c059015eb7cd14ee05466b8c3e7b
Branch pushed to git repo; I updated commit sha1. New commits:
649f93d  Add a GF and a QQbar example

comment:44 Changed 6 years ago by
 Reviewers set to Dima Pasechnik
 Status changed from needs_review to positive_review
 Work issues documentation deleted
Done
comment:45 Changed 6 years ago by
 Branch changed from public/ticket/15328 to 649f93d1bcc4c059015eb7cd14ee05466b8c3e7b
 Resolution set to fixed
 Status changed from positive_review to closed
Last 10 new commits: