{{{id=1|
S23 = ClusterSeed(['R2',[2,3],2]); S23
///
A seed for a cluster algebra of rank 2 of type ['R2', [2, 3], 2]
}}}
{{{id=2|
S11 = ClusterSeed(['R2',[1,1],2]); S11
///
A seed for a cluster algebra of rank 2 of type ['A', 2]
}}}
{{{id=3|
S11.cluster()
///
[x0, x1]
}}}
{{{id=4|
S11.b_matrix()
///
[ 0 1]
[-1 0]
}}}
{{{id=5|
S11.mutate(0); S11.cluster()
///
[(x1 + 1)/x0, x1]
}}}
{{{id=6|
S11.b_matrix()
///
[ 0 -1]
[ 1 0]
}}}
{{{id=12|
S11.mutate(1); S11.cluster()
///
[(x1 + 1)/x0, (x0 + x1 + 1)/(x0*x1)]
}}}
{{{id=11|
S11.b_matrix()
///
[ 0 1]
[-1 0]
}}}
{{{id=7|
S11.mutate([0,1,0,1])
///
}}}
{{{id=8|
S11.reset_cluster()
///
}}}
{{{id=9|
S11.mutation_sequence([0,1,0,1,0],return_output='matrix')
///
[
[ 0 1] [ 0 -1] [ 0 1] [ 0 -1] [ 0 1] [ 0 -1]
[-1 0], [ 1 0], [-1 0], [ 1 0], [-1 0], [ 1 0]
]
}}}
{{{id=10|
S11.mutation_sequence([0,1,0,1,0],return_output='var')
///
[(x1 + 1)/x0, (x0 + x1 + 1)/(x0*x1), (x0 + 1)/x1, x0, x1]
}}}
{{{id=13|
///
}}}
{{{id=14|
S22 = ClusterSeed(['R2',[2,2],2]); S22
///
A seed for a cluster algebra of rank 2 of type ['A', [1, 1], 1]
}}}
{{{id=15|
ms = S22.mutation_sequence([0,1,0,1,0],return_output='var'); ms
///
[(x1^2 + 1)/x0, (x1^4 + x0^2 + 2*x1^2 + 1)/(x0^2*x1), (x1^6 + x0^4 + 2*x0^2*x1^2 + 3*x1^4 + 2*x0^2 + 3*x1^2 + 1)/(x0^3*x1^2), (x1^8 + x0^6 + 2*x0^4*x1^2 + 3*x0^2*x1^4 + 4*x1^6 + 3*x0^4 + 6*x0^2*x1^2 + 6*x1^4 + 3*x0^2 + 4*x1^2 + 1)/(x0^4*x1^3), (x1^10 + x0^8 + 2*x0^6*x1^2 + 3*x0^4*x1^4 + 4*x0^2*x1^6 + 5*x1^8 + 4*x0^6 + 9*x0^4*x1^2 + 12*x0^2*x1^4 + 10*x1^6 + 6*x0^4 + 12*x0^2*x1^2 + 10*x1^4 + 4*x0^2 + 5*x1^2 + 1)/(x0^5*x1^4)]
}}}
{{{id=16|
[cv.subs(x0=1,x1=1) for cv in ms]
///
[2, 5, 13, 34, 89]
}}}
{{{id=20|
///
}}}
{{{id=21|
B3 = matrix([[0,1,0],[-1,0,-1],[0,1,0]]);
///
}}}
{{{id=22|
S3 = ClusterSeed(B3); S3
///
A seed for a cluster algebra of rank 3
}}}
{{{id=23|
S3.cluster()
///
[x0, x1, x2]
}}}
{{{id=24|
S3.mutate(0)
///
}}}
{{{id=25|
S3.b_matrix()
///
[ 0 -1 0]
[ 1 0 -1]
[ 0 1 0]
}}}
{{{id=26|
S3.cluster()
///
[(x1 + 1)/x0, x1, x2]
}}}
{{{id=27|
S3new = S3.mutate(0,inplace=False)
///
}}}
{{{id=28|
S3.mutate(1)
///
}}}
{{{id=29|
S3.b_matrix()
///
[ 0 1 -1]
[-1 0 1]
[ 1 -1 0]
}}}
{{{id=30|
S3.cluster()
///
[(x1 + 1)/x0, (x0*x2 + x1 + 1)/(x0*x1), x2]
}}}
{{{id=241|
S3.cluster_variable(1)
///
(x0*x2 + x1 + 1)/(x0*x1)
}}}
{{{id=242|
S3.cluster_variable(1) == S3.cluster()[1]
///
True
}}}
{{{id=243|
///
}}}
{{{id=31|
S3.mutate(0)
///
}}}
{{{id=32|
S3.b_matrix()
///
[ 0 -1 1]
[ 1 0 0]
[-1 0 0]
}}}
{{{id=33|
S3.cluster()
///
[(x0*x2 + 1)/x1, (x0*x2 + x1 + 1)/(x0*x1), x2]
}}}
{{{id=34|
S3 = ClusterSeed(B3); S3.mutate([0,1,0])
///
}}}
{{{id=35|
S3.reset_cluster()
///
}}}
{{{id=36|
S3.b_matrix()
///
[ 0 -1 1]
[ 1 0 0]
[-1 0 0]
}}}
{{{id=37|
S3.cluster()
///
[x0, x1, x2]
}}}
{{{id=38|
S3.set_cluster([7,11,13]); S3.b_matrix()
///
[ 0 -1 1]
[ 1 0 0]
[-1 0 0]
}}}
{{{id=39|
S3.cluster()
///
[7, 11, 13]
}}}
{{{id=40|
S3.mutate([0,1,2,0]); S3.cluster()
///
[8/11, 115/77, 192/1001]
}}}
{{{id=41|
S3.b_matrix()
///
[ 0 1 0]
[-1 0 1]
[ 0 -1 0]
}}}
{{{id=42|
S3.set_cluster([S3.x(0)+S3.x(1),S3.x(1)^2,S3.x(0)/S3.x(2)])
///
}}}
{{{id=43|
S3.cluster()
///
[x0 + x1, x1^2, x0/x2]
}}}
{{{id=44|
S3.mutate([0,1,0,2,0])
///
}}}
{{{id=45|
S3.cluster()
///
[(x1^2 + 1)/(x0 + x1), (x0*x1^2 + x0*x2 + x1*x2 + x0)/(x0*x1^2*x2 + x1^3*x2), (x0*x1^2*x2 + x1^3*x2 + x0*x1^2 + x0*x2 + x1*x2 + x0)/(x0^2*x1^2 + x0*x1^3)]
}}}
{{{id=46|
///
}}}
{{{id=220|
BB3 = matrix([[0,1,0],[-1,0,-1],[0,1,0],[1,0,-2],[2,-1,3]])
///
}}}
{{{id=219|
SS3 = ClusterSeed(BB3); SS3
///
A seed for a cluster algebra of rank 3 with 2 frozen variables
}}}
{{{id=221|
SS3.cluster()
///
[x0, x1, x2]
}}}
{{{id=224|
SS3.x(0); SS3.x(1); SS3.x(2)
///
x0
x1
x2
}}}
{{{id=223|
SS3.y(0); SS3.y(1);
///
y0
y1
}}}
{{{id=225|
SS3.coefficients()
///
[y0*y1^2, 1/y1, y1^3/y0^2]
}}}
{{{id=229|
SS3.mutate(0); SS3.cluster()
///
[(y0*y1^2 + x1)/x0, x1, x2]
}}}
{{{id=228|
SS3.coefficients()
///
[1/(y0*y1^2), y0*y1, y1^3/y0^2]
}}}
{{{id=233|
SS3.b_matrix()
///
[ 0 -1 0]
[ 1 0 -1]
[ 0 1 0]
[-1 1 -2]
[-2 1 3]
}}}
{{{id=236|
SS3.c_vector(0); SS3.c_vector(1); SS3.c_vector(2)
///
(-1, -2)
(1, 1)
(-2, 3)
}}}
{{{id=237|
SS3.c_matrix()
///
[-1 1 -2]
[-2 1 3]
}}}
{{{id=235|
SS3.mutate(1); SS3.cluster()
///
[(y0*y1^2 + x1)/x0, (x0*x2*y0*y1 + y0*y1^2 + x1)/(x0*x1), x2]
}}}
{{{id=234|
SS3.coefficients()
///
[1/y1, 1/(y0*y1), y1^3/y0^2]
}}}
{{{id=227|
SS3.x(0); SS3.x(1); SS3.x(2); SS3.y(0); SS3.y(1)
///
x0
x1
x2
y0
y1
}}}
{{{id=240|
///
}}}
{{{id=47|
S3.b_matrix()
///
[ 0 1 0]
[-1 0 1]
[ 0 -1 0]
}}}
{{{id=49|
S3.reset_cluster(); S3.cluster()
///
[x0, x1, x2]
}}}
{{{id=51|
S3.coefficients()
///
[1, 1, 1]
}}}
{{{id=52|
SP3 = S3.principal_extension(); SP3
///
A seed for a cluster algebra of rank 3 of type ['A', 3] with 3 frozen variables
}}}
{{{id=53|
SP3.b_matrix()
///
[ 0 1 0]
[-1 0 1]
[ 0 -1 0]
[ 1 0 0]
[ 0 1 0]
[ 0 0 1]
}}}
{{{id=54|
SP3.cluster()
///
[x0, x1, x2]
}}}
{{{id=215|
SP3.coefficients()
///
[y0, y1, y2]
}}}
{{{id=55|
S3.b_matrix()
///
[ 0 1 0]
[-1 0 1]
[ 0 -1 0]
}}}
{{{id=56|
SP3.mutation_sequence([0,1,0,2],return_output='matrix')
///
[
[ 0 1 0] [ 0 -1 0] [ 0 1 0] [ 0 -1 0] [ 0 -1 0]
[-1 0 1] [ 1 0 1] [-1 0 -1] [ 1 0 -1] [ 1 0 1]
[ 0 -1 0] [ 0 -1 0] [ 0 1 0] [ 0 1 0] [ 0 -1 0]
[ 1 0 0] [-1 1 0] [ 0 -1 1] [ 0 -1 1] [ 0 0 -1]
[ 0 1 0] [ 0 1 0] [ 1 -1 1] [-1 0 1] [-1 1 -1]
[ 0 0 1], [ 0 0 1], [ 0 0 1], [ 0 0 1], [ 0 1 -1]
]
}}}
{{{id=57|
SP3.mutation_sequence([0,1,0,2],return_output='var')
///
[(x1 + y0)/x0, (x0*y0*y1 + x1*x2 + x2*y0)/(x0*x1), (x0*y1 + x2)/x1, (x0*x1*y0*y1*y2 + x0*y0*y1 + x1*x2 + x2*y0)/(x0*x1*x2)]
}}}
{{{id=58|
seeds3 = SP3.mutation_sequence([0,1,0,2]); seeds3
///
[A seed for a cluster algebra of rank 3 of type ['A', 3] with 3 frozen variables, A seed for a cluster algebra of rank 3 of type ['A', 3] with 3 frozen variables, A seed for a cluster algebra of rank 3 of type ['A', 3] with 3 frozen variables, A seed for a cluster algebra of rank 3 of type ['A', 3] with 3 frozen variables, A seed for a cluster algebra of rank 3 of type ['A', 3] with 3 frozen variables]
}}}
{{{id=59|
///
}}}
{{{id=61|
SP3.mutate([0,1,0,2]); SP3.cluster()
///
[(x0*y1 + x2)/x1, (x0*y0*y1 + x1*x2 + x2*y0)/(x0*x1), (x0*x1*y0*y1*y2 + x0*y0*y1 + x1*x2 + x2*y0)/(x0*x1*x2)]
}}}
{{{id=70|
SP3 == seeds3[len(seeds3)-1]
///
True
}}}
{{{id=247|
B3 = matrix([[0,1,0],[-1,0,1],[0,-1,0]]); S3 = ClusterSeed(B3); SP3 = S3.principal_extension(); SP3
///
A seed for a cluster algebra of rank 3 with 3 frozen variables
}}}
{{{id=66|
SP3.f_polynomials()
///
[1, 1, 1]
}}}
{{{id=67|
SP3.g_vector(0); SP3.g_vector(1); SP3.g_vector(2)
///
(1, 0, 0)
(0, 1, 0)
(0, 0, 1)
}}}
{{{id=68|
SP3.g_matrix()
///
[1 0 0]
[0 1 0]
[0 0 1]
}}}
{{{id=248|
SP3.mutate([0,1,0,2]); SP3.f_polynomials()
///
[y1 + 1, y0*y1 + y0 + 1, y0*y1*y2 + y0*y1 + y0 + 1]
}}}
{{{id=246|
SP3.f_polynomial(2)
///
y0*y1*y2 + y0*y1 + y0 + 1
}}}
{{{id=245|
SP3.g_matrix()
///
[ 0 -1 -1]
[-1 0 0]
[ 1 1 0]
}}}
{{{id=244|
SP3.g_vector(0)
///
(0, -1, 1)
}}}
{{{id=267|
SP3.cluster()
///
[(x0*y1 + x2)/x1, (x0*y0*y1 + x1*x2 + x2*y0)/(x0*x1), (x0*x1*y0*y1*y2 + x0*y0*y1 + x1*x2 + x2*y0)/(x0*x1*x2)]
}}}
{{{id=260|
SP3.c_matrix()
///
[ 0 0 -1]
[-1 1 -1]
[ 0 1 -1]
}}}
{{{id=259|
SP3.c_matrix().inverse().transpose()
///
[ 0 -1 -1]
[-1 0 0]
[ 1 1 0]
}}}
{{{id=256|
SP3.c_matrix().inverse().transpose() == SP3.g_matrix()
///
True
}}}
{{{id=268|
///
}}}
{{{id=69|
B3 = matrix([[0,1,0],[-1,0,-1],[0,1,0]]); S3 = ClusterSeed(B3)
///
}}}
{{{id=71|
Q1 = Quiver(B3); Q2 = Quiver(S3)
///
}}}
{{{id=72|
Q3 = S3.quiver(); Q1 == Q2; Q2 == Q3; Q1
///
True
True
Quiver on 3 vertices
}}}
{{{id=73|
dg = DiGraph(); dg.add_edges([[0,1],[2,1]]); Q4 = Quiver(dg); Q1 == Q4
///
True
}}}
{{{id=74|
dg = DiGraph(); dg.allows_multiple_edges()
///
False
}}}
{{{id=75|
dg.add_edges([[0,1],[2,1],[2,1]]); dg.edges(labels=False)
///
[(0, 1), (2, 1)]
}}}
{{{id=76|
Q5 = Quiver(dg)
///
}}}
{{{id=77|
Q1 == Q5
///
True
}}}
{{{id=78|
dg = DiGraph(); dg.add_edges([[0,1,2],[2,1,1]]); Q6 = Quiver(dg); Q1 == Q6; Q6.digraph().edges()
///
False
[(0, 1, (2, -2)), (2, 1, (1, -1))]
}}}
{{{id=79|
dg = DiGraph(); dg.add_edges([[0,1,1],[2,1,1]]); Q7 = Quiver(dg); Q1 == Q7
///
True
}}}
{{{id=80|
dg = DiGraph(); dg.add_edges([[0,1,2],[2,1,(1,-1)]]); Q8 = Quiver(dg); Q6 == Q8
///
True
}}}
{{{id=81|
Q9 = Quiver([[0,1,2],[2,1,1]]); Q6 == Q9
///
True
}}}
{{{id=82|
Q10 = Quiver(Q9); Q10 == Q9
///
True
}}}
{{{id=83|
Q10.mutate(0); Q10 == Q9
///
False
}}}
{{{id=84|
Q1.show()
///
}}}
{{{id=85|
Q1.mutate(1); Q1.show()
///
}}}
{{{id=86|
Q1.b_matrix()
///
[ 0 -1 0]
[ 1 0 1]
[ 0 -1 0]
}}}
{{{id=87|
Q1.mutate(1); Q1.b_matrix()
///
[ 0 1 0]
[-1 0 -1]
[ 0 1 0]
}}}
{{{id=88|
Q1.mutation_sequence([0,1,2,0,1,0],show_sequence=True)
///
[Quiver on 3 vertices, Quiver on 3 vertices, Quiver on 3 vertices, Quiver on 3 vertices, Quiver on 3 vertices, Quiver on 3 vertices, Quiver on 3 vertices]
}}}
{{{id=89|
NewS = ClusterSeed(Q1); Q2 = NewS.quiver(); Q2 == Q1; NewS.show()
///
True
}}}
{{{id=90|
NewS.mutation_sequence([0,1,2,0,1,0], show_sequence=True,return_output='matrix')
///
[
[ 0 1 0] [ 0 -1 0] [ 0 1 -1] [ 0 0 1] [ 0 0 -1] [ 0 0 -1]
[-1 0 -1] [ 1 0 -1] [-1 0 1] [ 0 0 -1] [ 0 0 -1] [ 0 0 1]
[ 0 1 0], [ 0 1 0], [ 1 -1 0], [-1 1 0], [ 1 1 0], [ 1 -1 0],
[ 0 0 1]
[ 0 0 1]
[-1 -1 0]
]
}}}
{{{id=91|
Quivs = Q1.mutation_sequence([0,1,2,0,1,0]); [Q.digraph().edges() for Q in Quivs]
///
[[(0, 1, (1, -1)), (2, 1, (1, -1))], [(1, 0, (1, -1)), (2, 1, (1, -1))], [(0, 1, (1, -1)), (1, 2, (1, -1)), (2, 0, (1, -1))], [(0, 2, (1, -1)), (2, 1, (1, -1))], [(2, 0, (1, -1)), (2, 1, (1, -1))], [(1, 2, (1, -1)), (2, 0, (1, -1))], [(0, 2, (1, -1)), (1, 2, (1, -1))]]
}}}
{{{id=92|
B = matrix([(0,1,0,0,0,1),(-1,0,-1,0,0,0),(0,1,0,1,0,0),(0,0,-1,0,-2,0),(0,0,0,1,0,0),(-2,0,0,0,0,0)]);
S = ClusterSeed(B); S.show()
///
}}}
{{{id=93|
S.mutation_sequence([1,2,0],show_sequence=True,return_output='matrix')
///
[
[ 0 1 0 0 0 1] [ 0 -1 0 0 0 1] [ 0 -1 0 0 0 1]
[-1 0 -1 0 0 0] [ 1 0 1 0 0 0] [ 1 0 -1 1 0 0]
[ 0 1 0 1 0 0] [ 0 -1 0 1 0 0] [ 0 1 0 -1 0 0]
[ 0 0 -1 0 -2 0] [ 0 0 -1 0 -2 0] [ 0 -1 1 0 -2 0]
[ 0 0 0 1 0 0] [ 0 0 0 1 0 0] [ 0 0 0 1 0 0]
[-2 0 0 0 0 0], [-2 0 0 0 0 0], [-2 0 0 0 0 0],
[ 0 1 0 0 0 -1]
[-1 0 -1 1 0 1]
[ 0 1 0 -1 0 0]
[ 0 -1 1 0 -2 0]
[ 0 0 0 1 0 0]
[ 2 -2 0 0 0 0]
]
}}}
{{{id=94|
Q = Quiver(S); Q2 = Q.principal_extension(); Q2; Q2.show()
///
Quiver on 12 vertices with 6 frozen vertices
}}}
{{{id=95|
Q2.mutation_sequence([1,2,0], show_sequence=True)
///
[Quiver on 12 vertices with 6 frozen vertices, Quiver on 12 vertices with 6 frozen vertices, Quiver on 12 vertices with 6 frozen vertices, Quiver on 12 vertices with 6 frozen vertices]
}}}
{{{id=96|
S2 = S.principal_extension(); Q3 = Quiver(S2); Q2 == Q3
///
True
}}}
{{{id=97|
S.interact()
///
}}}
{{{id=98|
Q.interact()
///
}}}
{{{id=99|
QM1 = QuiverMutationType(['A',5]); QM2 = QuiverMutationType(['A',5]); QM1 == QM2; QM1; type(QM1)
///
True
['A', 5]
}}}
{{{id=100|
QM1.b_matrix(); Quiv = QM1.standard_quiver(); Quiv
///
[ 0 1 0 0 0]
[-1 0 -1 0 0]
[ 0 1 0 1 0]
[ 0 0 -1 0 -1]
[ 0 0 0 1 0]
Quiver on 5 vertices of type ['A', 5]
}}}
{{{id=101|
Quiv.show()
///
}}}
{{{id=102|
QM2 = QuiverMutationType('BC',6,1); QM2; QM2.b_matrix()
///
['BC', 6, 1]
[ 0 1 0 0 0 0 1]
[-1 0 -1 0 0 0 0]
[ 0 1 0 1 0 0 0]
[ 0 0 -1 0 -1 0 0]
[ 0 0 0 1 0 2 0]
[ 0 0 0 0 -1 0 0]
[-2 0 0 0 0 0 0]
}}}
{{{id=103|
QM2.standard_quiver().show()
///
}}}
{{{id=104|
QM1.properties()
///
['A', 5] has rank 5 and the following properties:
- irreducible: True
- mutation finite: True
- simply-laced: True
- skew-symmetric: True
- finite: True
- affine: False
- elliptic: False
}}}
{{{id=105|
QM2.properties()
///
['BC', 6, 1] has rank 7 and the following properties:
- irreducible: True
- mutation finite: True
- simply-laced: False
- skew-symmetric: False
- finite: False
- affine: True
- elliptic: False
}}}
{{{id=106|
ClusterSeed(['A',5])
///
A seed for a cluster algebra of rank 5 of type ['A', 5]
}}}
{{{id=107|
ClusterSeed(['BC',6,1])
///
A seed for a cluster algebra of rank 7 of type ['BC', 6, 1]
}}}
{{{id=108|
Quiver(['A',5])
///
Quiver on 5 vertices of type ['A', 5]
}}}
{{{id=109|
Quiver(['BC',6,1])
///
Quiver on 7 vertices of type ['BC', 6, 1]
}}}
{{{id=110|
S3 = ClusterSeed(['B',3]); S3.b_matrix_class()
///
[
[ 0 0 1] [ 0 0 1] [ 0 1 1] [ 0 2 0] [ 0 -1 1]
[ 0 0 2] [ 0 0 -2] [-2 0 0] [-1 0 1] [ 2 0 -2]
[-1 -1 0], [-1 1 0], [-1 0 0], [ 0 -1 0], [-1 1 0]
]
}}}
{{{id=111|
S4 = ClusterSeed(['C',3]); S4.b_matrix_class()
///
[
[ 0 0 1] [ 0 0 1] [ 0 2 1] [ 0 1 0] [ 0 1 -1]
[ 0 0 1] [ 0 0 -1] [-1 0 0] [-2 0 1] [-2 0 1]
[-1 -2 0], [-1 2 0], [-1 0 0], [ 0 -1 0], [ 2 -1 0]
]
}}}
{{{id=263|
S3.show()
///
}}}
{{{id=112|
S4.show()
///
}}}
{{{id=113|
S3.quiver().digraph().edges(); S4.quiver().digraph().edges()
///
[(0, 1, (1, -1)), (2, 1, (2, -1))]
[(0, 1, (1, -1)), (2, 1, (1, -2))]
}}}
{{{id=114|
S3.variable_class();
///
[x0, x1, x2, (x1 + 1)/x0, (x0*x2^2 + 1)/x1, (x1 + 1)/x2, (x0*x2^2 + x1 + 1)/(x0*x1), (x0*x2^2 + x1 + 1)/(x1*x2), (x0*x2^2 + x1^2 + 2*x1 + 1)/(x0*x1*x2), (x0*x2^2 + x1^2 + 2*x1 + 1)/(x1*x2^2), (x1^3 + x0*x2^2 + 3*x1^2 + 3*x1 + 1)/(x0*x1*x2^2), (x0^2*x2^4 + 3*x0*x1*x2^2 + x1^3 + 2*x0*x2^2 + 3*x1^2 + 3*x1 + 1)/(x0*x1^2*x2^2)]
}}}
{{{id=115|
S4.variable_class()
///
[x0, x1, x2, (x1 + 1)/x0, (x0*x2 + 1)/x1, (x1^2 + 1)/x2, (x0*x2 + x1 + 1)/(x0*x1), (x1^2 + x0*x2 + 1)/(x1*x2), (x1^3 + x1^2 + x0*x2 + x1 + 1)/(x0*x1*x2), (x0^2*x2^2 + x1^2 + 2*x0*x2 + 1)/(x1^2*x2), (x0^2*x2^2 + x1^3 + x0*x1*x2 + x1^2 + 2*x0*x2 + x1 + 1)/(x0*x1^2*x2), (x1^4 + x0^2*x2^2 + 2*x1^3 + 2*x0*x1*x2 + 2*x1^2 + 2*x0*x2 + 2*x1 + 1)/(x0^2*x1^2*x2)]
}}}
{{{id=116|
QuiverMutationType('C',2)
///
['B', 2]
}}}
{{{id=117|
QuiverMutationType('B',4,1)
///
['BD', 4, 1]
}}}
{{{id=118|
QuiverMutationType('C',4,1)
///
['BC', 4, 1]
}}}
{{{id=119|
QuiverMutationType('A',2,2)
///
['BC', 1, 1]
}}}
{{{id=120|
QuiverMutationType('A',4,2)
///
['BC', 2, 1]
}}}
{{{id=121|
QuiverMutationType('A',5,2)
///
['CD', 3, 1]
}}}
{{{id=122|
QuiverMutationType('A',6,2)
///
['BC', 3, 1]
}}}
{{{id=123|
QuiverMutationType('A',7,2)
///
['CD', 4, 1]
}}}
{{{id=124|
QuiverMutationType('D',5,1)
///
['D', 5, 1]
}}}
{{{id=125|
QuiverMutationType('D',5,2)
///
['CC', 5, 1]
}}}
{{{id=126|
QuiverMutationType('D',4,3)
///
['G', 2, -1]
}}}
{{{id=127|
QuiverMutationType('E',6,1)
///
['E', 6, 1]
}}}
{{{id=128|
QuiverMutationType('E',6,2)
///
['F', 4, -1]
}}}
{{{id=129|
QuiverMutationType('F',4,1)
///
['F', 4, 1]
}}}
{{{id=130|
Qu = Quiver(['A',[2,3],1]); Qu
///
Quiver on 5 vertices of type ['A', [2, 3], 1]
}}}
{{{id=131|
Qu.show()
///
}}}
{{{id=132|
Quiver(['A',[4,1],1]).show()
///
}}}
{{{id=133|
Quiver(['A',[3,3],1]).show()
///
}}}
{{{id=134|
///
}}}
{{{id=135|
S = ClusterSeed(['A',2]); S.cluster_class()
///
[[x0, x1], [x0, (x0 + 1)/x1], [(x1 + 1)/x0, x1], [(x0 + x1 + 1)/(x0*x1), (x0 + 1)/x1], [(x1 + 1)/x0, (x0 + x1 + 1)/(x0*x1)]]
}}}
{{{id=136|
S.cluster_class(up_to_equivalence=False)
///
[[x0, x1], [x0, (x0 + 1)/x1], [(x1 + 1)/x0, x1], [(x1 + 1)/x0, (x0 + x1 + 1)/(x0*x1)], [(x0 + x1 + 1)/(x0*x1), (x0 + 1)/x1], [(x0 + x1 + 1)/(x0*x1), (x1 + 1)/x0], [(x0 + 1)/x1, (x0 + x1 + 1)/(x0*x1)], [x1, (x1 + 1)/x0], [(x0 + 1)/x1, x0], [x1, x0]]
}}}
{{{id=137|
S = ClusterSeed(['A',[2,2],1]); S.b_matrix(); S.is_bipartite()
///
[ 0 -1 0 -1]
[ 1 0 1 0]
[ 0 -1 0 -1]
[ 1 0 1 0]
True
}}}
{{{id=138|
S.variable_class(depth=1)
///
Found a bipartite seed - restarting the depth counter at zero and constructing the variable class using its bipartite belt.
[x0, x1, x2, x3, (x1*x3 + 1)/x0, (x0*x2 + 1)/x1, (x1*x3 + 1)/x2, (x0*x2 + 1)/x3, (x1^2*x3^2 + x0*x2 + 2*x1*x3 + 1)/(x0*x1*x2), (x0^2*x2^2 + 2*x0*x2 + x1*x3 + 1)/(x0*x1*x3), (x1^2*x3^2 + x0*x2 + 2*x1*x3 + 1)/(x0*x2*x3), (x0^2*x2^2 + 2*x0*x2 + x1*x3 + 1)/(x1*x2*x3)]
}}}
{{{id=139|
S.mutate([0,1]); S.cluster()
///
[(x1*x3 + 1)/x0, (x0*x2 + x1*x3 + 1)/(x0*x1), x2, x3]
}}}
{{{id=140|
S.variable_class(depth=2, ignore_bipartite_belt=True)
///
[x0, x1, x2, x3, (x1*x3 + 1)/x0, (x0*x2 + 1)/x1, (x1*x3 + 1)/x2, (x0*x2 + x1*x3 + 1)/(x0*x1), (x0*x2 + x1*x3 + 1)/(x0*x3), (x0*x2 + x1*x3 + 1)/(x1*x2), (x1^2*x3^2 + x0*x2 + 2*x1*x3 + 1)/(x0*x1*x2), (x0^2*x2^2 + 2*x0*x2 + x1*x3 + 1)/(x0*x1*x3), (x1^3*x3^3 + x0^2*x2^2 + 2*x0*x1*x2*x3 + 3*x1^2*x3^2 + 2*x0*x2 + 3*x1*x3 + 1)/(x0^2*x1*x2*x3)]
}}}
{{{id=141|
///
}}}
{{{id=142|
for f in ClusterSeed(['A',2]).variable_class():
print f, f.almost_positive_root()
///
x0 -alpha[1]
x1 -alpha[2]
(x1 + 1)/x0 alpha[1]
(x0 + 1)/x1 alpha[2]
(x0 + x1 + 1)/(x0*x1) alpha[1] + alpha[2]
}}}
{{{id=143|
f
///
(x0 + x1 + 1)/(x0*x1)
}}}
{{{id=144|
root = f.almost_positive_root(); root
///
alpha[1] + alpha[2]
}}}
{{{id=145|
root.parent()
///
Root lattice of the Root system of type ['A', 2]
}}}
{{{id=146|
S = RootSystem(['A',2]).root_space();
tau_plus, tau_minus = S.tau_plus_minus();
for beta in S.almost_positive_roots():
print beta, tau_plus(beta), tau_minus(beta)
print
///
-alpha[1] alpha[1] -alpha[1]
alpha[1] -alpha[1] alpha[1] + alpha[2]
alpha[1] + alpha[2] alpha[2] alpha[1]
-alpha[2] -alpha[2] alpha[2]
alpha[2] alpha[1] + alpha[2] -alpha[2]
}}}
{{{id=147|
AssoA2 = Associahedron(['A',2]); AssoA2
///
Generalized associahedron of type ['A', 2] with 5 vertices
}}}
{{{id=148|
AssoB2 = Associahedron(['B',2]); AssoB2
///
Generalized associahedron of type ['B', 2] with 6 vertices
}}}
{{{id=149|
AssoC2 = Associahedron(['C',2]); AssoC2
///
Generalized associahedron of type ['C', 2] with 6 vertices
}}}
{{{id=150|
AssoG2 = Associahedron(['G',2]); AssoG2
///
Generalized associahedron of type ['G', 2] with 8 vertices
}}}
{{{id=151|
AssoA2.show(); AssoB2.show(); AssoC2.show(); AssoG2.show()
///
}}}
{{{id=152|
AssoA3 = Associahedron(['A',3]); AssoA3
///
Generalized associahedron of type ['A', 3] with 14 vertices
}}}
{{{id=153|
AssoB3 = Associahedron(['B',3]); AssoB3
///
Generalized associahedron of type ['B', 3] with 20 vertices
}}}
{{{id=154|
##AssoA3.show(); AssoB3.show(); AssoC3.show()
///
}}}
{{{id=155|
ClusterComplex(['A',2]); ClusterComplex(['A',3]); Delta = ClusterComplex(['B',3]); Delta
///
Cluster complex of type ['A', 2] with 5 vertices and 5 facets
Cluster complex of type ['A', 3] with 9 vertices and 14 facets
Cluster complex of type ['B', 3] with 12 vertices and 20 facets
}}}
{{{id=156|
Delta.homology()
///
{0: 0, 1: 0, 2: Z}
}}}
{{{id=158|
///
}}}
{{{id=159|
S = ClusterSeed(['A',3]); M1 = S._M; M2 = S.b_matrix(); M1 == M2; M1 is M2
///
True
False
}}}
{{{id=160|
mut_type1 = QuiverMutationType('A',3); mut_type2 = QuiverMutationType('A',3); mut_type1 is mut_type2
///
True
}}}
{{{id=261|
ClusterSeed(['TR',5,3]).show(); S = ClusterSeed(['GR',[5,11],3]); S.show(); S=ClusterSeed(['T',[4,4,5],3]); S.show()
///
}}}
{{{id=265|
ClusterSeed(['X',6,2]).show()
///
}}}
{{{id=266|
S = ClusterSeed(['W',4,2]); S.show()
///
}}}
{{{id=161|
S=ClusterSeed(['W',4,-2]); S.show()
///
}}}
{{{id=162|
QuiverMutationType(['A',5]).coxeter_diagram()
///
Coxeter diagram of rank 5
}}}
{{{id=163|
QuiverMutationType(['A',3],['B',3]).coxeter_diagram()
///
Coxeter diagram of rank 6
}}}
{{{id=164|
QuiverMutationType(['A',5]).b_matrix()
///
[ 0 1 0 0 0]
[-1 0 -1 0 0]
[ 0 1 0 1 0]
[ 0 0 -1 0 -1]
[ 0 0 0 1 0]
}}}
{{{id=165|
QuiverMutationType(['A',3],['B',3]).b_matrix()
///
[ 0 1 0 0 0 0]
[-1 0 -1 0 0 0]
[ 0 1 0 0 0 0]
[ 0 0 0 0 1 0]
[ 0 0 0 -1 0 -1]
[ 0 0 0 0 2 0]
}}}
{{{id=166|
QuiverMutationType('A',5).cartan_matrix()
///
[ 2 -1 0 0 0]
[-1 2 -1 0 0]
[ 0 -1 2 -1 0]
[ 0 0 -1 2 -1]
[ 0 0 0 -1 2]
}}}
{{{id=167|
QuiverMutationType(['A',3],['B',3]).cartan_matrix()
///
[ 2 -1 0 0 0 0]
[-1 2 -1 0 0 0]
[ 0 -1 2 0 0 0]
[ 0 0 0 2 -1 0]
[ 0 0 0 -1 2 -1]
[ 0 0 0 0 -2 2]
}}}
{{{id=168|
QuiverMutationType(['A',22],['BD',16,1]).class_size()
///
4257164518523691840
}}}
{{{id=169|
QuiverMutationType(['GR',[4,9],3]).class_size()
///
+Infinity
}}}
{{{id=170|
QuiverMutationType('A',4).dual()
///
['A', 4]
}}}
{{{id=171|
QuiverMutationType('B',4).dual()
///
['C', 4]
}}}
{{{id=172|
QuiverMutationType(['A',4]).is_irreducible()
///
True
}}}
{{{id=173|
QuiverMutationType(['A',3],['B',3]).is_irreducible()
///
False
}}}
{{{id=174|
QuiverMutationType(['GR',[4,8],3]).is_mutation_finite()
///
True
}}}
{{{id=175|
QuiverMutationType(['GR',[4,9],3]).is_mutation_finite()
///
False
}}}
{{{id=176|
QuiverMutationType('A',5).irreducible_components()
///
(['A', 5],)
}}}
{{{id=177|
QuiverMutationType(['A',3],['B',3]).irreducible_components()
///
(['A', 3], ['B', 3])
}}}
{{{id=178|
Q1 = Quiver([(0,1),(1,2),(2,3)]); Q1
///
Quiver on 4 vertices
}}}
{{{id=179|
Q2 = Quiver([(0,1),(1,2),(2,3)],frozen=1); Q2
///
Quiver on 4 vertices with 1 frozen vertex
}}}
{{{id=180|
Q1.show()
///
}}}
{{{id=181|
Q2.show()
///
}}}
{{{id=182|
Q = Quiver(['A',5]); T = Q.mutate(2, inplace=False); Q.__eq__(T)
///
False
}}}
{{{id=183|
T.mutate(2); Q.__eq__(T)
///
True
}}}
{{{id=184|
Q = Quiver(['A',5]); Q._repr_()
///
"Quiver on 5 vertices of type ['A', 5]"
}}}
{{{id=185|
Quiver(['A',4]).b_matrix()
///
[ 0 1 0 0]
[-1 0 -1 0]
[ 0 1 0 1]
[ 0 0 -1 0]
}}}
{{{id=186|
Quiver(['B',4]).b_matrix()
///
[ 0 1 0 0]
[-1 0 -1 0]
[ 0 1 0 1]
[ 0 0 -2 0]
}}}
{{{id=187|
Quiver(['D',4]).b_matrix()
///
[ 0 1 0 0]
[-1 0 -1 -1]
[ 0 1 0 0]
[ 0 1 0 0]
}}}
{{{id=188|
Quiver(QuiverMutationType(['A',2],['B',2])).b_matrix()
///
[ 0 1 0 0]
[-1 0 0 0]
[ 0 0 0 1]
[ 0 0 -2 0]
}}}
{{{id=189|
Quiver(['A',4]).digraph()
///
Digraph on 4 vertices
}}}
{{{id=190|
Q = Quiver([(0,1),(1,2),(2,3)],frozen=1); Q.n(); Q.m()
///
3
1
}}}
{{{id=191|
Quiver(['A',4]).canonical_label(certify=True)
///
(Quiver on 4 vertices of type ['A', 4], {0: 0, 1: 3, 2: 1, 3: 2})
}}}
{{{id=192|
Quiver(['A',4]).is_bipartite(return_bipartition=True)
///
(set([0, 2]), set([1, 3]))
}}}
{{{id=193|
Q = Quiver(['A',2]); Q.group_of_mutations()
///
Permutation Group with generators [(1,2)]
}}}
{{{id=194|
Q = Quiver(['A',3]); Q.group_of_mutations()
///
Permutation Group with generators [(1,2)(3,4)(5,9)(6,7)(8,12)(10,11)(13,14), (1,3)(2,5)(4,6)(7,14)(8,11)(9,13)(10,12), (1,4)(2,3)(5,10)(6,8)(7,13)(9,14)(11,12)]
}}}
{{{id=195|
Q = Quiver(['B',2]); Q.group_of_mutations()
///
Permutation Group with generators [(1,2)]
}}}
{{{id=196|
Q = Quiver(['B',3]); Q.group_of_mutations()
///
Permutation Group with generators [(1,2)(3,4)(5,6)(7,10)(8,9), (1,3)(2,6)(4,5)(7,9)(8,10), (1,4)(2,3)(5,7)(6,8)(9,10)]
}}}
{{{id=197|
Q = Quiver(['A',1]); Q.group_of_mutations().cardinality()
///
1
}}}
{{{id=198|
Q = Quiver(['A',2]); Q.group_of_mutations().cardinality()
///
2
}}}
{{{id=199|
Q = Quiver(['A',3]); Q.group_of_mutations().cardinality()
///
322560
}}}
{{{id=200|
S1 = ClusterSeed([(0,1),(1,2),(2,3)]); S1
///
A seed for a cluster algebra of rank 4
}}}
{{{id=201|
Q2 = Quiver([(0,1),(1,2),(2,3)],frozen=1); ClusterSeed(Q2)
///
A seed for a cluster algebra of rank 3 with 1 frozen variable
}}}
{{{id=202|
Q1.b_matrix(); Q2.b_matrix()
///
[ 0 1 0 0]
[-1 0 1 0]
[ 0 -1 0 1]
[ 0 0 -1 0]
[ 0 1 0]
[-1 0 1]
[ 0 -1 0]
[ 0 0 -1]
}}}
{{{id=203|
S = ClusterSeed(['A',3]); S.__repr__()
///
"A seed for a cluster algebra of rank 3 of type ['A', 3]"
}}}
{{{id=204|
S = ClusterSeed(['A',3]); S.cluster(); S.mutate(0); S.cluster(); S.mutate(1); S.cluster()
///
[x0, x1, x2]
[(x1 + 1)/x0, x1, x2]
[(x1 + 1)/x0, (x0*x2 + x1 + 1)/(x0*x1), x2]
}}}
{{{id=205|
S.ground_field()
///
Fraction Field of Multivariate Polynomial Ring in x0, x1, x2 over Rational Field
}}}
{{{id=206|
ClusterSeed(['A',4]).is_bipartite(return_bipartition=True)
///
(set([0, 2]), set([1, 3]))
}}}
{{{id=207|
S = ClusterSeed(['A',2]); S.group_of_mutations()
///
Permutation Group with generators [(1,2)(3,4)(5,6)(7,9)(8,10), (1,3)(2,5)(4,7)(6,8)(9,10)]
}}}
{{{id=208|
S = ClusterSeed(['B',2]); S.group_of_mutations()
///
Permutation Group with generators [(1,2)(3,4)(5,6), (1,3)(2,5)(4,6)]
}}}
{{{id=209|
Q = ClusterSeed(['A',1]); Q.group_of_mutations().cardinality()
///
2
}}}
{{{id=210|
Q = ClusterSeed(['A',2]); Q.group_of_mutations().cardinality()
///
10
}}}
{{{id=211|
Q = ClusterSeed(['A',3]); Q.group_of_mutations().cardinality()
///
705438720
}}}
{{{id=212|
for f in ClusterSeed(['A',2]).variable_class():
print f, f.almost_positive_root()
///
x0 -alpha[1]
x1 -alpha[2]
(x1 + 1)/x0 alpha[1]
(x0 + 1)/x1 alpha[2]
(x0 + x1 + 1)/(x0*x1) alpha[1] + alpha[2]
}}}
{{{id=213|
///
}}}
{{{id=262|
///
}}}