I'd like to ask the following question.
I would like to write a GAP program which does the following in general what I will now only illustrate with an example.
I have entered two quiver algebras modulo some relations in GAP, say $A_1=kQ_1/I_1$ and $A_2=kQ_2/I_2$.
The ideals $I_1$ and $I_2$ are given by some relations.
I would like to construct a new algebra $A_3=kQ_3/I_3$ in the following way:
Glue one vertex of $Q_1$ and one vertex of $Q_2$ together and keep the rest of the algebras $A_1$ and $A_2$ as it was before.
Question:
Is it possible in GAP to tell the computer to substitute one name every time it appears in a list?
I know that there are the commands Concatenation and String, but can GAP keep track of variable names?
Example: First algebra: $Q_1=Quiver( ["v1","v2","v3","v4","v5","v6","v7","v8"], [["v1","v3","a1"],["v2","v3","a2"],["v3","v8","a3"],["v4","v6","a4"],["v5","v6","a5"],["v6","v7","a6"],["v8","v4","a7"],["v8","v5","a8"]] )$
and the relations are $[ (Z(3))*a7*a4+(Z(3)^0)*a8*a5, (Z(3)^0)*a1*a3*a8, (Z(3)^0)*a2*a3*a7, (Z(3)^0)*a1*a3*a7*a4, (Z(3)^0)*a3*a7*a4*a6 ]$; choose vertex $v_7$ for glueing.
Second algebra: $Q_2=Quiver( ["v1","v2","v3"], [["v1","v2","a1"],["v2","v3","a2"]] )$
and here the relations are [ (Z(3)^0)*a1*a2 ].
Choose vertex $v_1$ of this algebra for glueing.
Desired result:
Quiver( ["v1","v2","v3","v4","v5","v6","v1n","v8","v2n","v3n"], [["v1","v3","a1"],["v2","v3","a2"],["v3","v8","a3"],["v4","v6","a4"],["v5","v6","a5"],["v6","v1n","a6"],["v8","v4","a7"],["v8","v5","a8"],["v1n","v2n","a1n"],["v2n","v3n","a2n"]] ) [ (Z(3))*a7*a4+(Z(3)^0)*a8*a5, (Z(3)^0)*a1*a3*a8, (Z(3)^0)*a2*a3*a7, (Z(3)^0)*a1*a3*a7*a4, (Z(3)^0)*a3*a7*a4*a6,(Z(3)^0)* an * a2n ]
I'm having problems with the renaming of the relations (to automatize it).
Thanks for the help!
(Caveat: I have never used the Quiver Package, so the following describes generic behavior)
First, variables of (e.g.) a polynomial ring (indeterminates) are objects that can be set to print in chosen ways, but equality of print name does not imply that the indeterminates are the same. (It would be possible, though not advisable, to have different objects to print in an identical way.)
Secondly, there is no feature to change the print name of an indeterminate once it has been set. If a different naming of variables is desired, it will be necessary to create a new, isomorphic object with the different names.
What it seems you want to do is to construct a new object from two existing ones as subset or quotient of a direct product. Again you would need to construct this object anew (say as appropriate quotient of a direct product of the algebras).