1 | initial version |

Yes. In Sage, Weyl groups are constructed as matrix groups acting on the weight (or coweight) lattices. The Weyl groups in question are canonically isomorphic and what you want is an explicit isomorphism between them.

It's not terribly well documented, but there is a `hom`

method for matrix groups that allows you to define a homomorphism by specifying the images of the generators of the domain.

The following code creates the canonical isomorphism `phi`

between `W1`

the Weyl group acting on weights and `W2`

the Weyl group acting on coweights:

```
sage: W1 = RootSystem(['A', Integer(3)]).weight_lattice().weyl_group()
sage: W2 = RootSystem(['A', Integer(3)]).coweight_lattice().weyl_group()
sage: phi = W1.hom(W1.gens())
sage: phi
Homomorphism : Weyl Group of type ['A', 3] (as a matrix group acting on the weight
lattice) --> Weyl Group of type ['A', 3] (as a matrix group acting on the weight
lattice)
sage: (s1, s2, s3) = W1.gens()
sage: phi(s1*s2*s1)
[ 0 -1 0]
[-1 0 0]
[ 1 1 1]
```

The element `phi(s1*s2*s1)`

will act on the coweight lattice the way you want.

2 | No.2 Revision |

Yes. In Sage, Weyl groups are constructed as matrix groups acting on the weight (or coweight) lattices. The Weyl groups in question are canonically isomorphic and what you want is an explicit isomorphism between them.

It's not terribly well documented, but there is a `hom`

method for matrix groups that allows you to define a homomorphism by specifying the images of the generators of the domain.

The following code creates the canonical isomorphism `phi`

between `W1`

the Weyl group acting on weights and `W2`

the Weyl group acting on coweights:

```
sage: W1 = RootSystem(['A', Integer(3)]).weight_lattice().weyl_group()
sage: W2 = RootSystem(['A', Integer(3)]).coweight_lattice().weyl_group()
sage: phi =
```~~W1.hom(W1.gens())
~~W1.hom(W2.gens())
sage: phi
Homomorphism : Weyl Group of type ['A', 3] (as a matrix group acting on the weight
lattice) --> Weyl Group of type ['A', 3] (as a matrix group acting on the weight
lattice)
sage: (s1, s2, s3) = W1.gens()
sage: phi(s1*s2*s1)
[ 0 -1 0]
[-1 0 0]
[ 1 1 1]

The element `phi(s1*s2*s1)`

will act on the coweight lattice the way you want.

```
phi = W1.hom(W2.gens())
```

defines a homomorphism (actually an isomorphism) by sending `W1.gen(i)`

to `W2.gen(i)`

for `i = 0 ... 2`

.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.