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:

Status badges

Description (last modified by chapoton)

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 jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:2 Changed 8 years ago by chapoton

  • Description modified (diff)

comment:3 Changed 8 years ago by chapoton

  • Keywords quiver added; quivers removed

comment:4 Changed 8 years ago by chapoton

  • Tensor product already exists for digraphs under the name cartesian_product
  • Triangle product already exists for digraphs under the name strong_product
  • Disjoint union already exists for digraphs under the name disjoint_union

So there remains only the very specific square product

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

comment:5 follow-up: Changed 8 years ago by 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)) ] ) == 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 gmoose05

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 gmoose05

  • 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 gmoose05

  • 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)) ] ) == 0

could 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 vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:10 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:11 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4
Note: See TracTickets for help on using tickets.