CommutativeDiagram( paramap1, paramap2,
paramap3, paramap4 )
CommutativeDiagram(
paramap1, paramap2, paramap3, paramap4,
improvements )
If [ CompositionMaps(paramap2,paramap1 ) =
CompositionMaps(paramap4,paramap3 ) ] shall hold,
the consistency is checked and the four maps will be improved according to
this condition.
If a record improvements with fields imp1, imp2,
imp3, imp4 (all lists) is entered as parameter,
only diagrams containing elements of impi as
positions in the i-th paramap are considered.
CommutativeDiagram returns false if an
inconsistency was found, otherwise a record is returned that contains four
lists imp1, ldots, imp4, where
impi is the list of classes where the i-th
paramap was improved.
gap> map1:= [ [ 1, 2, 3 ], [ 1, 3 ] ];;
gap> map2:= [ [ 1, 2 ], 1, [ 1, 3 ] ];;
gap> map3:= [ [ 2, 3 ], 3 ];; map4:= [ , 1, 2, [ 1, 2 ] ];;
gap> CommutativeDiagram( map1, map2, map3, map4 );
rec(
imp1 := [ 2 ],
imp2 := [ 1 ],
imp3 := [ ],
imp4 := [ ] )
gap> imp:= last;; map1; map2; map3; map4;
[ [ 1, 2, 3 ], 1 ]
[ 2, 1, [ 1, 3 ] ]
[ [ 2, 3 ], 3 ]
[ , 1, 2, [ 1, 2 ] ]
gap> CommutativeDiagram( map1, map2, map3, map4, imp );
rec(
imp1 := [ ],
imp2 := [ ],
imp3 := [ ],
imp4 := [ ] )