Macaulay2 » Documentation
Packages » Macaulay2Doc » map » Hom » adjoint
next | previous | forward | backward | up | index | toc

# adjoint -- the tensor-Hom adjunction maps

## Description

Recall that tensor(Module,Module) and Hom(Module,Module) form an adjoint pair, meaning that there is a natural isomorphism $$ \mathrm{Hom}(F\otimes G,H) \cong \mathrm{Hom}(F,\mathrm{Hom}(G,H)). $$

## Synopsis

- Usage:
    `adjoint(f, F, G)`
- Inputs:
  - f, a matrix, a homomorphism $F \otimes G \to H$
  - F, a module, a free module;
  - G, a module, a free module;
- Outputs:
  - a matrix, the adjoint homomorphism $F \to \mathrm{Hom}(G,H)$

    i1 : R = QQ[x_1 .. x_24];

    i2 : f = genericMatrix(R, 2, 4*3)

    o2 = | x_1 x_3 x_5 x_7 x_9  x_11 x_13 x_15 x_17 x_19 x_21 x_23 |
         | x_2 x_4 x_6 x_8 x_10 x_12 x_14 x_16 x_18 x_20 x_22 x_24 |

                 2      12
    o2 : Matrix R  <-- R

    i3 : isHomogeneous f

    o3 = true

    i4 : g = adjoint(f, R^4, R^3)

    o4 = | x_1 x_7  x_13 x_19 |
         | x_2 x_8  x_14 x_20 |
         | x_3 x_9  x_15 x_21 |
         | x_4 x_10 x_16 x_22 |
         | x_5 x_11 x_17 x_23 |
         | x_6 x_12 x_18 x_24 |

                 6      4
    o4 : Matrix R  <-- R

If f is homogeneous, and source f === F ** G (including the grading), then the resulting matrix will be homogeneous.

    i5 : g = adjoint(f, R^4, R^{-1,-1,-1})

    o5 = {-1} | x_1 x_7  x_13 x_19 |
         {-1} | x_2 x_8  x_14 x_20 |
         {-1} | x_3 x_9  x_15 x_21 |
         {-1} | x_4 x_10 x_16 x_22 |
         {-1} | x_5 x_11 x_17 x_23 |
         {-1} | x_6 x_12 x_18 x_24 |

                 6      4
    o5 : Matrix R  <-- R

    i6 : isHomogeneous g

    o6 = true

    i7 : f === adjoint'(g, R^{-1,-1,-1}, R^2)

    o7 = true

## Synopsis

- Usage:
    `adjoint'(g, G, H)`
- Inputs:
  - g, a matrix, a homomorphism $F \to \mathrm{Hom}(G,H)$ between modules
  - G, a module, a free module;
  - H, a module, a free module;
- Outputs:
  - a matrix, the adjoint homomorphism $F \otimes G \to H$

If g is homogeneous, and target g === Hom(G,H) (including the grading), then the resulting matrix will be homogeneous.

    i8 : R = QQ[x_1 .. x_12];

    i9 : g = genericMatrix(R, 6, 2)

    o9 = | x_1 x_7  |
         | x_2 x_8  |
         | x_3 x_9  |
         | x_4 x_10 |
         | x_5 x_11 |
         | x_6 x_12 |

                 6      2
    o9 : Matrix R  <-- R

    i10 : f = adjoint'(g, R^2, R^3)

    o10 = | x_1 x_4 x_7 x_10 |
          | x_2 x_5 x_8 x_11 |
          | x_3 x_6 x_9 x_12 |

                  3      4
    o10 : Matrix R  <-- R

    i11 : isHomogeneous f

    o11 = true

    i12 : g === adjoint(f, R^{-1,-1}, R^2)

    o12 = true

## See also

- dual -- dual module or map
- flip -- isomorphism map of commutativity of tensor product
- compose -- composition as a pairing on Hom-modules
- reshape -- reshape a matrix
- Hom(Module,Module) -- module of homomorphisms
- tensor(Module,Module) -- tensor product of modules

## Ways to use adjoint:

- `adjoint(Matrix,Module,Module)`

## For the programmer

The object adjoint is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Macaulay2Doc/functions/Hom-doc.m2:264:0.