Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
79 views
unlisted
ubuntu2004
load('brick_functions.sage')
# Defining the quiver for which we will find a real brick which is not a shard module. defining_dict = {1:{4:['e14']}, 2:{4:['e24']}} defining_dict.update({i:{i+1:['e{0}{1}'.format(i, i+1)]} for i in range(3, 6)}) Ds6 = DiGraph(defining_dict, multiedges=True)
Ds6.show()
# And here is the dimension vector beta of the representation we'll construct, # followed by a list of roots which cut the associated hyperplane. plane_and_fractures(cartan(Ds6), 6, [5, 4, 2, 1, 4, 5, 3, 4, 2, 1])
([3 3 2 4 2 1], [[2 2 2 3 1 0], [2 2 1 3 1 0], [2 1 1 2 1 0], [1 2 1 2 1 0], [1 1 1 1 1 0], [1 1 0 1 1 0], [1 1 1 1 0 0], [1 1 0 1 0 0], [0 1 0 0 0 0], [1 0 0 0 0 0]])
# Now we obtain a list of sign vectors representing the shards of this hyperplane. # Each sign vector specifies, for each of the cutting hyperplanes listed above, # which side our shard lies on. R = region_signs(cartan(Ds6), 6, [5, 4, 2, 1, 4, 5, 3, 4, 2, 1]) R
['++++++++++', '++++-+++++', '++++++-+++', '++++-+-+++', '+++++-++++', '++++--++++', '+++++++-++', '++++++--++', '+++++-+-++', '+++++++++-', '++++-++++-', '++++++-++-', '++++-+-++-', '+++++-+++-', '++++--+++-', '+++++++-+-', '++++++--+-', '+++++-+-+-', '++-+++++++', '++-+-+++++', '++-++-++++', '++-+--++++', '++-++++++-', '++-+-++++-', '++-+++-++-', '++-+-+-++-', '++-++-+++-', '++-+--+++-', '++-+---++-', '++-++++-+-', '++-+++--+-', '++-+-+--+-', '++-++-+-+-', '++-+--+-+-', '++-++---+-', '++-+----+-', '++++++++-+', '++++-+++-+', '++++++-+-+', '++++-+-+-+', '+++++-++-+', '++++--++-+', '+++++++--+', '++++++---+', '+++++-+--+', '++++++++--', '++++-+++--', '++++++-+--', '++++-+-+--', '+++++-++--', '++++--++--', '++++---+--', '+++++++---', '++++++----', '++++-+----', '+++++-+---', '++++--+---', '+++++-----', '++++------', '++-+-+-+--', '++-+--++--', '++-+---+--', '++-+++----', '++-+-+----', '++-++-+---', '++-+--+---', '++-++-----', '++-+------', '+++-++++++', '+++--+++++', '+++-+-++++', '+++---++++', '++----++++', '++----+++-', '+++-++++-+', '+++--+++-+', '+++-++-+-+', '+++--+-+-+', '+++-+-++-+', '+++---++-+', '+++----+-+', '+++-+++--+', '+++-++---+', '+++--+---+', '+++-+-+--+', '+++---+--+', '+++-+----+', '+++------+', '+++--+-+--', '+++---++--', '+++----+--', '+++-++----', '+++--+----', '+++-+-+---', '+++---+---', '+++-+-----', '+++-------', '++----++-+', '++----++--', '++-----+--', '++----+---', '++--------', '-+++++++++', '-+++-+++++', '-+++++-+++', '-+++-+-+++', '-+++++--++', '-+++++-++-', '-+++-+-++-', '-+++++--+-', '-+-+++++++', '-+-+-+++++', '-+-+++-+++', '-+-+-+-+++', '-+-+--++++', '-+-++++++-', '-+-+-++++-', '-+-+++-++-', '-+-+-+-++-', '-+-+--+++-', '-+-+---++-', '-+-+++--+-', '-+-+-+--+-', '-+-+----+-', '-+++++-+-+', '-+++-+-+-+', '-+++++---+', '-+++++-+--', '-+++-+-+--', '-+++++----', '-+++-+----', '-+-+-+-+--', '-+-+---+--', '-+-+++----', '-+-+-+----', '-+-+------', '-++-++++++', '-++--+++++', '-++-++-+++', '-++--+-+++', '-++---++++', '-+---+++++', '-+---+-+++', '-+----++++', '-+-----+++', '-+---+-++-', '-+----+++-', '-+-----++-', '-++-++++-+', '-++--+++-+', '-++-++-+-+', '-++--+-+-+', '-++---++-+', '-++----+-+', '-++-++---+', '-++--+---+', '-++------+', '-++--+-+--', '-++----+--', '-++-++----', '-++--+----', '-++-------', '-+---+-+-+', '-+----++-+', '-+-----+-+', '-+---+-+--', '-+----++--', '-+-----+--', '-+---+----', '-+--------', '----------', '----+-----', '------+---', '----+-+---', '-----+----', '----++----', '-------+--', '------++--', '-----+-+--', '---------+', '----+----+', '------+--+', '----+-+--+', '-----+---+', '----++---+', '-------+-+', '------++-+', '-----+-+-+', '--+-------', '--+-+-----', '--+--+----', '--+-++----', '--+------+', '--+-+----+', '--+---+--+', '--+-+-+--+', '--+--+---+', '--+-++---+', '--+-+++--+', '--+----+-+', '--+---++-+', '--+-+-++-+', '--+--+-+-+', '--+-++-+-+', '--+--+++-+', '--+-++++-+', '--------+-', '----+---+-', '------+-+-', '----+-+-+-', '-----+--+-', '----++--+-', '-------++-', '------+++-', '-----+-++-', '--------++', '----+---++', '------+-++', '----+-+-++', '-----+--++', '----++--++', '----+++-++', '-------+++', '------++++', '----+-++++', '-----+-+++', '----++-+++', '-----+++++', '----++++++', '--+-+-+-++', '--+-++--++', '--+-+++-++', '--+---++++', '--+-+-++++', '--+--+-+++', '--+-++-+++', '--+--+++++', '--+-++++++', '---+------', '---++-----', '---+-+----', '---+++----', '--++++----', '--++++---+', '---+----+-', '---++---+-', '---+--+-+-', '---++-+-+-', '---+-+--+-', '---+++--+-', '---++++-+-', '---+---++-', '---+--+++-', '---++-+++-', '---+-+-++-', '---+++-++-', '---+-++++-', '---++++++-', '---++-+-++', '---+++--++', '---++++-++', '---+--++++', '---++-++++', '---+-+-+++', '---+++-+++', '---+-+++++', '---+++++++', '--++++--+-', '--++++--++', '--+++++-++', '--++++-+++', '--++++++++', '+---------', '+---+-----', '+-----+---', '+---+-+---', '+-----++--', '+-----+--+', '+---+-+--+', '+-----++-+', '+-+-------', '+-+-+-----', '+-+---+---', '+-+-+-+---', '+-+-++----', '+-+------+', '+-+-+----+', '+-+---+--+', '+-+-+-+--+', '+-+-++---+', '+-+-+++--+', '+-+---++-+', '+-+-+-++-+', '+-+-++++-+', '+-----+-+-', '+---+-+-+-', '+-----+++-', '+-----+-++', '+---+-+-++', '+-----++++', '+---+-++++', '+-+-+-+-++', '+-+-+++-++', '+-+---++++', '+-+-+-++++', '+-+-++++++', '+--+------', '+--++-----', '+--+--+---', '+--++-+---', '+--+++----', '+-+++-----', '+-+++-+---', '+-++++----', '+-+++++---', '+-+++-+--+', '+-++++---+', '+-+++++--+', '+--+----+-', '+--++---+-', '+--+--+-+-', '+--++-+-+-', '+--+++--+-', '+--++++-+-', '+--+--+++-', '+--++-+++-', '+--++++++-', '+--++-+-++', '+--++++-++', '+--+--++++', '+--++-++++', '+--+++++++', '+-+++-+-+-', '+-++++--+-', '+-+++++-+-', '+-+++-+-++', '+-++++--++', '+-+++++-++', '+-+++-++++', '+-++++++++']
# For each shard, we do the following: # - compute the associated shard module using reflection functors # - when possible, flip a sign in the sequence of reflection functors, # producing a different real brick # - check whether the sign vector obtained by flipping this sign represents # a shard: if it does not, we've found a real brick which isn't a shard module! for s in [s for s in R if s[0] == '+']: M = shard_module(Ds6, 6, [5, 4, 2, 1, 4, 5, 3, 4, 2, 1], s) wall_candidates = shard_module_walls(M, (6, [5, 4, 2, 1, 4, 5, 3, 4, 2, 1]))[2] for i in wall_candidates: index = i[0] if s[index] == '+': modified_s = s[:index] + '-' + s[index+1:] elif s[index] == '-': modified_s = s[:index] + '+' + s[index+1:] if modified_s not in R: print(modified_s)
+++---+++- ++-+--++-+ ++-+--++-+ ++-+--++-+ +++---+++- +++---+++- +++---+++- ++-+--++-+ +--++-+--+ +-+-+-+-+- +-+-+-+-+- +-+-+-+-+- +--++-+--+ +--++-+--+ +--++-+--+ +-+-+-+-+-
# Now we check the first of these sign vectors. # First, we verify that it actually does give a well-defined sequence of reflection functors # and thus a real brick of the appropriate dimension. # (If this were not the case, the "shard_module" method would throw an error.) shard_module(Ds6, 6, [5, 4, 2, 1, 4, 5, 3, 4, 2, 1], '+++---+++-')
Representation with dimension vector (3, 3, 2, 4, 2, 1)
# On the other hand, this sign vector does not describe a shard. '+++---+++-' in R
False
# We can verify this in more detail by computing the dual cone of the stability domain of the brick. # If it were a shard module, its stability domain would have codimension 1, so its dual cone would contain only one line. # Here, the dual cone contains four lines, implying that the stability domain has codimension 4. dual_shard(cartan(Ds6), 6, [5, 4, 2, 1, 4, 5, 3, 4, 2, 1], '+++---+++-').lines()
(A line in the direction (0, 0, 0, 0, 0, 1), A line in the direction (0, 0, 1, 2, 1, 0), A line in the direction (0, 1, 0, 0, 0, 0), A line in the direction (1, 0, 0, 0, 0, 0))