### dual of weyl group

I was wondering if, given an element in a Weyl group, to produce the corresponding element in the dual Weyl group. As an example, if
~~w ~~`w`

in

`W = RootSystem(['A', 3]).weight_lattice().weyl_group()`

Then I would like a function f such that
~~f(w) ~~`f(w)`

in

`RootSystem(['A', `~~3]).coroot_lattice().weyl_group(),
~~3]).coroot_lattice().weyl_group()

,
with the obvious duality

`<w*x,y> = `~~<x,f(w)*(y)>, where="" x="" in="" the="" weight="" lattice="" and="" y="" is="" in="" the="" coroot="" lattice.<="" p="">
~~<x,f(w)*(y)>

,
where x in the weight lattice and y is in the coroot lattice.

thanks