{{{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| /// }}}