Opened 8 years ago
Closed 7 years ago
#17947 closed enhancement (fixed)
implement the cluster fans
Reported by:  chapoton  Owned by:  

Priority:  minor  Milestone:  sage6.10 
Component:  combinatorics  Keywords:  cluster, fan, Sage Days 64.5 
Cc:  gmoose05, jipilab  Merged in:  
Authors:  Frédéric Chapoton  Reviewers:  JeanPhilippe Labbé 
Report Upstream:  N/A  Work issues:  
Branch:  97214cf (Commits, GitHub, GitLab)  Commit:  97214cfb04c33355ec82ff3af0662d96b6502e73 
Dependencies:  Stopgaps: 
Description
Fans play an important role in cluster algebra theory. Let's have them in.
Change History (31)
comment:1 Changed 8 years ago by
Branch:  → u/chapoton/17947 

Cc:  gmoose05 added 
Commit:  → 66173bd0290a13e922a4ca0499f911e0646eb80b 
Keywords:  cluster fan added 
Status:  new → needs_review 
comment:2 Changed 8 years ago by
Commit:  66173bd0290a13e922a4ca0499f911e0646eb80b → 07cd33c875465cff46f4d46dc3a14691eff85eb6 

Branch pushed to git repo; I updated commit sha1. New commits:
07cd33c  trac #17947 details about cluster fan

comment:3 Changed 8 years ago by
Care to define it in the docstring?
I've always wanted to understand what Nathan is talking about all the time, but I never got over my laziness to read up on it. I guess this is my chance :) Thanks a lot.
comment:4 Changed 8 years ago by
Commit:  07cd33c875465cff46f4d46dc3a14691eff85eb6 → 9628ba3adff463a4d57a030bd75a57ae2b7aea44 

Branch pushed to git repo; I updated commit sha1. New commits:
9628ba3  trac #17947 more doc

comment:5 followup: 6 Changed 8 years ago by
Thanks  this makes things a lot less scarier. I feel I need some more help, though. Is a simplicial fan the same as a simplicial complex but with "simplex" replaced by "simplicial cone"? How exactly do the vectors d
in \ZZ^n
give rise to a cone? Is the cone corresponding to a cluster simply the set of all nonnegative linear combinations of the denominator vectors? What is a smooth fan? Why do you require acyclicity; isn't finitetype enough?
comment:6 Changed 8 years ago by
Replying to darij:
Thanks  this makes things a lot less scarier. I feel I need some more help, though.
Yes. I hope you do not want all these explanations to be written in the doc ?
Is a simplicial fan the same as a simplicial complex but with "simplex" replaced by "simplicial cone"?
Yes, essentially, but not quite because some convexity issues enter the definition. For the exact definition of a fan, see Fulton book on toric varieties for example. A simplicial fan is a fan where every cone is simplicial, namely has the minimal number of generators wrt its dimension.
How exactly do the vectors
d
in\ZZ^n
give rise to a cone?
The d associated with variables in a given cluster span the rays of a cone.
Is the cone corresponding to a cluster simply the set of all nonnegative linear combinations of the denominator vectors?
Yes.
What is a smooth fan?
a smooth fan is a simplicial fan such that each cone is smooth. A smooth cone is a simplicial cone whose rays define a basis of the lattice (they have determinant +1)
This is related to the smoothness of the toric variety associated to the fan.
Why do you require acyclicity; isn't finitetype enough?
No, with this version of the fan. If you apply it to the cyclic quiver with 3 vertices, the result is not an interesting fan (in particular it is not smooth). There is maybe another version of the fan using the gvector instead. I do not remember the details right now.
comment:7 Changed 8 years ago by
Branch:  u/chapoton/17947 → public/ticket/17947 

Commit:  9628ba3adff463a4d57a030bd75a57ae2b7aea44 → fb98b4d01681aa841740eef28ae2f1e3490d3793 
OK, I am not able to review this, but thank you a lot for the explanations. I still don't know what almost positive roots are, how Cone
infers its lattice, etc., so I'll defer to someone more familiar with these things, though the code does look good to me.
New commits:
db09838  Merge branch 'u/chapoton/17947' of git://trac.sagemath.org/sage into fan

fb98b4d  doc improvements to quiver.py:

comment:8 Changed 8 years ago by
Commit:  fb98b4d01681aa841740eef28ae2f1e3490d3793 → 82ed22231efa4aa698097a885b43f5fa07b82422 

Branch pushed to git repo; I updated commit sha1. New commits:
82ed222  trivial doc fix

comment:9 Changed 8 years ago by
Cc:  jipilab added 

comment:10 Changed 8 years ago by
Milestone:  sage6.6 → sage6.7 

comment:11 Changed 8 years ago by
Milestone:  sage6.7 → sage6.8 

comment:12 Changed 8 years ago by
Commit:  82ed22231efa4aa698097a885b43f5fa07b82422 → df182e500b4723fbf2a87aa4b565293397d8f904 

Branch pushed to git repo; I updated commit sha1. New commits:
c3b9534  Merge branch 'develop' into t/17947/public/ticket/17947

b6e225a  Add dvector to ClusterSeed

d18903f  Add dmatrix to ClusterSeed

b2a8278  Removed trailing spaces

9f56277  Merge remotetracking branch 'origin/u/etn40ff/add_d_vectors' into t/17947/public/ticket/17947

df182e5  I changed the name of the function fan to d_vector_fan.

comment:13 Changed 8 years ago by
Dependencies:  → #18588 

comment:14 Changed 8 years ago by
Keywords:  Sage Days 64.5 added 

I attempt my first Sage Days on cluster algebras, and I wanted to implant dvector fans and gvector fans. I realized that this was already partially done in this ticket. For the functions d_vector_fan and g_vector_fan to be coherent, I merged with #18588 which implements the d_matrix function.
comment:15 Changed 8 years ago by
Hi!
I would be happy to review this ticket!
It will be quite handy!
comment:16 Changed 8 years ago by
Status:  needs_review → needs_work 

Duplicate import
+ from cluster_seed import ClusterSeed + from cluster_seed import ClusterSeed
comment:17 Changed 8 years ago by
Commit:  df182e500b4723fbf2a87aa4b565293397d8f904 → 0eea07be8e10af1b0606cc3ecd4c3040e10339b9 

Branch pushed to git repo; I updated commit sha1. New commits:
0eea07b  remove duplicate import, as well as a nonnecessary import

comment:18 Changed 8 years ago by
There are blank lines that contain white spaces in the function d_vector_fan in the quiver.py file.
Otherwise it looks good to me.
comment:19 Changed 8 years ago by
Commit:  0eea07be8e10af1b0606cc3ecd4c3040e10339b9 → 2b1e105e52ff12082a58680b52d8e144aeb51cb0 

comment:20 Changed 8 years ago by
Status:  needs_work → needs_review 

comment:21 Changed 7 years ago by
Commit:  2b1e105e52ff12082a58680b52d8e144aeb51cb0 → 74a57fc25b2987562510312e0f06c0558a530f4b 

Branch pushed to git repo; I updated commit sha1. New commits:
74a57fc  Merge branch 'public/ticket/17947' into 6.9.b6

comment:22 Changed 7 years ago by
Milestone:  sage6.8 → sage6.9 

comment:23 Changed 7 years ago by
Commit:  74a57fc25b2987562510312e0f06c0558a530f4b → 97214cfb04c33355ec82ff3af0662d96b6502e73 

Branch pushed to git repo; I updated commit sha1. New commits:
97214cf  Merge branch 'public/ticket/17947' into 6.9.rc0

comment:26 Changed 7 years ago by
Reviewers:  → JeanPhilippe Labbé 

Status:  needs_review → positive_review 
All test passed on sage6.9.
This looks good to me. I set this as positive review.
comment:28 Changed 7 years ago by
Milestone:  sage6.9 → sage6.10 

comment:29 Changed 7 years ago by
Just a PSA: Your ticket will never be merged if it depends on a invalid/wontfix ticket. At least not until that one is being merged into the git tree.
comment:30 Changed 7 years ago by
Dependencies:  #18588 

ok, thanks. Let us remove the dependency then. It has been taken care of in another ticket.
comment:31 Changed 7 years ago by
Branch:  public/ticket/17947 → 97214cfb04c33355ec82ff3af0662d96b6502e73 

Resolution:  → fixed 
Status:  positive_review → closed 
New commits:
trac #17947 implement the cluster fans