Opened 8 years ago
Last modified 7 years ago
#14443 new enhancement
Implement Disjoint Sum and Various Products of Quivers
Reported by: | gmoose05 | Owned by: | sage-combinat |
---|---|---|---|
Priority: | major | Milestone: | sage-6.4 |
Component: | combinatorics | Keywords: | quiver |
Cc: | stumpc5 | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | u/gmoose05/ticket/14443 (Commits, GitHub, GitLab) | Commit: | b75ba3d6716526790cd0b2c345cdb57431bd8d6c |
Dependencies: | Stopgaps: |
Description (last modified by )
Allow user to form new quivers from disjoint copies, and implement "tensor product", "triangle product" and "square product" from Section 3.3 of http://arxiv.org/pdf/1001.1531v5.pdf.
Change History (11)
comment:1 Changed 8 years ago by
- Milestone changed from sage-5.11 to sage-5.12
comment:2 Changed 8 years ago by
- Description modified (diff)
comment:3 Changed 8 years ago by
- Keywords quiver added; quivers removed
comment:4 Changed 8 years ago by
comment:5 follow-up: ↓ 8 Changed 8 years ago by
And one has already the is_bipartite
method for quivers, but its code is a bit strange:
is_bip = sum( [ innie[i]*outie[i] for i in range(len(innie)) ] ) == 0
could be written instead
is_bip = not any(innie[i] and outie[i] for i in range(len(innie)))
comment:6 Changed 8 years ago by
Thanks for the heads up Frederic! That should make the code vastly easier to write.
I already tested
sage: Q = ClusterQuiver(['A',4]) sage: Q2 = ClusterQuiver(['A',3]) sage: dg = Q.digraph(); sage: dg2 = Q2.digraph(); sage: dgnew = cartesian_product([dg,dg2]); dgnew.show() sage: dgnew2 = dg.strong_product(dg2); dgnew2.show()
regarding tensor and triangle products.
Gregg
comment:7 Changed 8 years ago by
- Branch set to u/gmoose05/ticket/14443
- Created changed from 04/11/13 18:59:27 to 04/11/13 18:59:27
- Modified changed from 09/20/13 19:44:44 to 09/20/13 19:44:44
comment:8 in reply to: ↑ 5 Changed 8 years ago by
- Commit set to b75ba3d6716526790cd0b2c345cdb57431bd8d6c
Replying to chapoton:
And one has already the
is_bipartite
method for quivers, but its code is a bit strange:is_bip = sum( [ innie[i]*outie[i] for i in range(len(innie)) ] ) == 0could be written instead
is_bip = not any(innie[i] and outie[i] for i in range(len(innie)))
Dear Frederic,
I just made this change from Sage Days 54 as an example using the new GIT workflow.
I will get to the other changes regarding square, triangle, etc. product later on.
Gregg
New commits:
[changeset:b75ba3d] | rewrote is_bipartite method for quivers |
comment:9 Changed 7 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:10 Changed 7 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:11 Changed 7 years ago by
- Milestone changed from sage-6.3 to sage-6.4
cartesian_product
strong_product
disjoint_union
So there remains only the very specific square product