Usage:
<adjoint f A B g
Given a map f:(A \tensor B) --> C and the identity maps A of A and
B of B,
where A,B,C are free modules, this script sets g to the adjoint
map g:A --> (C \tensor B^*).
Parameters:
f = c x a*b matrix
A = a x a identity matrix
B = b x b identity matrix
Output values:
g = b*c x a matrix
It does this by writing g as the composite of
T = (A \tensor t) : A --> (A \tensor B \tensor B^*)
where t is the trace map
t: R --> (B\tensor B^*),
and the map
S = (f \tensor B^*):(A \tensor B \tensor B^*) --> (C \tensor B^*).