Opened 8 years ago

Closed 7 years ago

#17947 closed enhancement (fixed)

implement the cluster fans

Reported by: chapoton Owned by:
Priority: minor Milestone: sage-6.10
Component: combinatorics Keywords: cluster, fan, Sage Days 64.5
Cc: gmoose05, jipilab Merged in:
Authors: Frédéric Chapoton Reviewers: Jean-Philippe Labbé
Report Upstream: N/A Work issues:
Branch: 97214cf (Commits, GitHub, GitLab) Commit: 97214cfb04c33355ec82ff3af0662d96b6502e73
Dependencies: Stopgaps:

Status badges

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 chapoton

Branch: u/chapoton/17947
Cc: gmoose05 added
Commit: 66173bd0290a13e922a4ca0499f911e0646eb80b
Keywords: cluster fan added
Status: newneeds_review

New commits:

66173bdtrac #17947 implement the cluster fans

comment:2 Changed 8 years ago by git

Commit: 66173bd0290a13e922a4ca0499f911e0646eb80b07cd33c875465cff46f4d46dc3a14691eff85eb6

Branch pushed to git repo; I updated commit sha1. New commits:

07cd33ctrac #17947 details about cluster fan

comment:3 Changed 8 years ago by darij

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 git

Commit: 07cd33c875465cff46f4d46dc3a14691eff85eb69628ba3adff463a4d57a030bd75a57ae2b7aea44

Branch pushed to git repo; I updated commit sha1. New commits:

9628ba3trac #17947 more doc

comment:5 Changed 8 years ago by darij

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 finite-type enough?

comment:6 in reply to:  5 Changed 8 years ago by chapoton

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 finite-type 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 g-vector instead. I do not remember the details right now.

comment:7 Changed 8 years ago by darij

Branch: u/chapoton/17947public/ticket/17947
Commit: 9628ba3adff463a4d57a030bd75a57ae2b7aea44fb98b4d01681aa841740eef28ae2f1e3490d3793

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:

db09838Merge branch 'u/chapoton/17947' of git://trac.sagemath.org/sage into fan
fb98b4ddoc improvements to quiver.py:

comment:8 Changed 8 years ago by git

Commit: fb98b4d01681aa841740eef28ae2f1e3490d379382ed22231efa4aa698097a885b43f5fa07b82422

Branch pushed to git repo; I updated commit sha1. New commits:

82ed222trivial doc fix

comment:9 Changed 8 years ago by jipilab

Cc: jipilab added

comment:10 Changed 8 years ago by chapoton

Milestone: sage-6.6sage-6.7

comment:11 Changed 8 years ago by chapoton

Milestone: sage-6.7sage-6.8

comment:12 Changed 8 years ago by git

Commit: 82ed22231efa4aa698097a885b43f5fa07b82422df182e500b4723fbf2a87aa4b565293397d8f904

Branch pushed to git repo; I updated commit sha1. New commits:

c3b9534Merge branch 'develop' into t/17947/public/ticket/17947
b6e225aAdd d-vector to ClusterSeed
d18903fAdd d-matrix to ClusterSeed
b2a8278Removed trailing spaces
9f56277Merge remote-tracking branch 'origin/u/etn40ff/add_d_vectors' into t/17947/public/ticket/17947
df182e5I changed the name of the function fan to d_vector_fan.

comment:13 Changed 8 years ago by vpilaud

Dependencies: #18588

comment:14 Changed 8 years ago by vpilaud

Keywords: Sage Days 64.5 added

I attempt my first Sage Days on cluster algebras, and I wanted to implant d-vector fans and g-vector 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.

Last edited 8 years ago by vpilaud (previous) (diff)

comment:15 Changed 8 years ago by jipilab

Hi!

I would be happy to review this ticket!

It will be quite handy!

comment:16 Changed 8 years ago by chapoton

Status: needs_reviewneeds_work

Duplicate import

+        from cluster_seed import ClusterSeed
+        from cluster_seed import ClusterSeed

comment:17 Changed 8 years ago by git

Commit: df182e500b4723fbf2a87aa4b565293397d8f9040eea07be8e10af1b0606cc3ecd4c3040e10339b9

Branch pushed to git repo; I updated commit sha1. New commits:

0eea07bremove duplicate import, as well as a non-necessary import

comment:18 Changed 8 years ago by jipilab

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 git

Commit: 0eea07be8e10af1b0606cc3ecd4c3040e10339b92b1e105e52ff12082a58680b52d8e144aeb51cb0

Branch pushed to git repo; I updated commit sha1. New commits:

9b2eb28Merge branch 'public/ticket/17947' into 6.8.b6
2b1e105trac #17947 taking care of trailing whitespaces

comment:20 Changed 8 years ago by chapoton

Status: needs_workneeds_review

comment:21 Changed 7 years ago by git

Commit: 2b1e105e52ff12082a58680b52d8e144aeb51cb074a57fc25b2987562510312e0f06c0558a530f4b

Branch pushed to git repo; I updated commit sha1. New commits:

74a57fcMerge branch 'public/ticket/17947' into 6.9.b6

comment:22 Changed 7 years ago by chapoton

Milestone: sage-6.8sage-6.9

comment:23 Changed 7 years ago by git

Commit: 74a57fc25b2987562510312e0f06c0558a530f4b97214cfb04c33355ec82ff3af0662d96b6502e73

Branch pushed to git repo; I updated commit sha1. New commits:

97214cfMerge branch 'public/ticket/17947' into 6.9.rc0

comment:24 Changed 7 years ago by chapoton

Ping ? The patchbot has given a green light !

comment:25 Changed 7 years ago by chapoton

Re-ping ? this should be an easy ticket !

comment:26 Changed 7 years ago by jipilab

Reviewers: Jean-Philippe Labbé
Status: needs_reviewpositive_review

All test passed on sage-6.9.

This looks good to me. I set this as positive review.

comment:27 Changed 7 years ago by chapoton

Thanks a lot ! Maybe you could also look at #16209 ?

comment:28 Changed 7 years ago by chapoton

Milestone: sage-6.9sage-6.10

comment:29 Changed 7 years ago by vbraun

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 chapoton

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 vbraun

Branch: public/ticket/1794797214cfb04c33355ec82ff3af0662d96b6502e73
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.