@@ -173,7 +173,10 @@ def __init__(self, domain, codomain, data={}):
173
173
# this is the case it will be loaded directly into _vector and then
174
174
# _assert_valid_hom is called.
175
175
176
- from sage .quivers .representation import QuiverRepElement , QuiverRep_with_path_basis
176
+ from sage .quivers .representation import (
177
+ QuiverRep_with_path_basis ,
178
+ QuiverRepElement ,
179
+ )
177
180
178
181
self ._domain = domain
179
182
self ._codomain = codomain
@@ -210,25 +213,24 @@ def __init__(self, domain, codomain, data={}):
210
213
# If data is not a list create one, then create a dict from it
211
214
if isinstance (data , list ):
212
215
im_list = data
213
- else :
214
- # If data is a QuiverRepHom, create a list from it
215
- if isinstance (data , QuiverRepHom ):
216
- f = data ._domain .coerce_map_from (domain )
217
- g = self ._codomain .coerce_map_from (data ._codomain )
218
- im_list = [g (data (f (x ))) for x in domain .gens ()]
216
+ # If data is a QuiverRepHom, create a list from it
217
+ elif isinstance (data , QuiverRepHom ):
218
+ f = data ._domain .coerce_map_from (domain )
219
+ g = self ._codomain .coerce_map_from (data ._codomain )
220
+ im_list = [g (data (f (x ))) for x in domain .gens ()]
219
221
220
- # The only case left is that data is a QuiverRepElement
221
- else :
222
- if not isinstance (data , QuiverRepElement ):
223
- raise TypeError ("input data must be dictionary, list, "
224
- "QuiverRepElement or vector" )
225
- if not isinstance (domain , QuiverRep_with_path_basis ):
226
- raise TypeError ("if data is a QuiverRepElement then domain "
227
- "must be a QuiverRep_with_path_basis." )
228
- if data not in codomain :
229
- raise ValueError ("if data is a QuiverRepElement then it must "
230
- "be an element of codomain" )
231
- im_list = [codomain .right_edge_action (data , p ) for v in domain ._quiver for p in domain ._bases [v ]]
222
+ # The only case left is that data is a QuiverRepElement
223
+ else :
224
+ if not isinstance (data , QuiverRepElement ):
225
+ raise TypeError ("input data must be dictionary, list, "
226
+ "QuiverRepElement or vector" )
227
+ if not isinstance (domain , QuiverRep_with_path_basis ):
228
+ raise TypeError ("if data is a QuiverRepElement then domain "
229
+ "must be a QuiverRep_with_path_basis." )
230
+ if data not in codomain :
231
+ raise ValueError ("if data is a QuiverRepElement then it must "
232
+ "be an element of codomain" )
233
+ im_list = [codomain .right_edge_action (data , p ) for v in domain ._quiver for p in domain ._bases [v ]]
232
234
233
235
# WARNING: This code assumes that the function QuiverRep.gens() returns
234
236
# the generators ordered first by vertex and then by the order of the
@@ -337,7 +339,7 @@ def _call_(self, x):
337
339
if not isinstance (x , QuiverRepElement ):
338
340
raise ValueError ("QuiverRepHom can only be called on QuiverRepElement" )
339
341
340
- elements = dict (( v , self .get_map (v )(x ._elems [v ])) for v in self ._quiver )
342
+ elements = { v : self .get_map (v )(x ._elems [v ]) for v in self ._quiver }
341
343
return self ._codomain (elements )
342
344
343
345
def __add__ (left , right ):
@@ -952,7 +954,7 @@ def kernel(self):
952
954
sage: g.kernel().dimension_vector()
953
955
(0, 1, 0)
954
956
"""
955
- spaces = dict (( v , self .get_map (v ).kernel ()) for v in self ._quiver )
957
+ spaces = { v : self .get_map (v ).kernel () for v in self ._quiver }
956
958
return self ._domain ._submodule (spaces )
957
959
958
960
def image (self ):
@@ -979,7 +981,7 @@ def image(self):
979
981
sage: g.image().dimension_vector()
980
982
(0, 1, 1)
981
983
"""
982
- spaces = dict (( v , self .get_map (v ).image ()) for v in self ._quiver )
984
+ spaces = { v : self .get_map (v ).image () for v in self ._quiver }
983
985
return self ._codomain ._submodule (spaces )
984
986
985
987
def cokernel (self ):
@@ -1051,7 +1053,7 @@ def linear_dual(self):
1051
1053
"""
1052
1054
# The effect of the functor D is that it just transposes the matrix of
1053
1055
# a hom
1054
- maps = dict (( v , self .get_matrix (v ).transpose ()) for v in self ._quiver )
1056
+ maps = { v : self .get_matrix (v ).transpose () for v in self ._quiver }
1055
1057
return self ._codomain .linear_dual ().hom (maps , self ._domain .linear_dual ())
1056
1058
1057
1059
def algebraic_dual (self ):
@@ -1232,7 +1234,7 @@ def lift(self, x):
1232
1234
ValueError: element is not in the image
1233
1235
"""
1234
1236
# Lift at each vertex
1235
- elems = dict (( v , self .get_map (v ).lift (x ._elems [v ])) for v in self ._quiver )
1237
+ elems = { v : self .get_map (v ).lift (x ._elems [v ]) for v in self ._quiver }
1236
1238
return self ._domain (elems )
1237
1239
1238
1240
###########################################################################
0 commit comments