Opened 8 years ago

# Implement Disjoint Sum and Various Products of Quivers

Reported by: Owned by: gmoose05 sage-combinat major sage-6.4 combinatorics quiver stumpc5 N/A u/gmoose05/ticket/14443 b75ba3d6716526790cd0b2c345cdb57431bd8d6c

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.

### 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: ↓ 8 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
```

```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.

```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

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
```

```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.