Macaulay2 » Documentation
Packages » NormalToricVarieties :: picardGroup(NormalToricVariety)
next | previous | forward | backward | up | index | toc

# picardGroup(NormalToricVariety) -- make the Picard group

- Function: picardGroup
- Usage:
    `picardGroup X`
- Inputs:
  - X, a normal toric variety,
- Outputs:
  - a module, a finitely generated abelian group

## Description

The Picard group of a variety is the group of Cartier divisors divided by the subgroup of principal divisors. For a normal toric variety, the Picard group has a presentation defined by the map from the group of torus-characters to the group of torus-invariant Cartier divisors. For more information, see Theorem 4.2.1 in Cox-Little-Schenck's Toric Varieties.

When the normal toric variety is smooth, the Picard group is isomorphic to the class group.

    i1 : PP3 = toricProjectiveSpace 3;

    i2 : assert (isSmooth PP3 and isProjective PP3)

    i3 : picardGroup PP3

           1
    o3 = ZZ

    o3 : ZZ-module, free

    i4 : assert (picardGroup PP3 === classGroup PP3 and isFreeModule picardGroup PP3)

    i5 : X = smoothFanoToricVariety (4,90);

    i6 : assert (isSmooth X and isProjective X and isFano X)

    i7 : picardGroup X

           5
    o7 = ZZ

    o7 : ZZ-module, free

    i8 : assert (fromCDivToPic X === fromWDivToCl X and isFreeModule picardGroup X)

    i9 : U = normalToricVariety ({{4,-1},{0,1}},{{0},{1}});

    i10 : assert (isSmooth U and not isComplete U and # max U =!= 1)

    i11 : picardGroup U

    o11 = cokernel | 4 |

                                   1
    o11 : ZZ-module, quotient of ZZ

    i12 : assert (classGroup U === picardGroup U and not isFreeModule picardGroup U)

For an affine toric variety, the Picard group is trivial.

    i13 : AA3 = affineSpace 3

    o13 = AA3

    o13 : NormalToricVariety

    i14 : assert (isSimplicial AA3 and isSmooth AA3 and # max AA3 === 1)

    i15 : picardGroup AA3

    o15 = 0

    o15 : ZZ-module

    i16 : assert (picardGroup AA3 == 0 and isFreeModule picardGroup AA3)

    i17 : Q = normalToricVariety ({{1,0,0},{0,1,0},{0,0,1},{1,1,-1}},{{0,1,2,3}});

    i18 : assert (not isSimplicial Q and not isComplete Q and # max Q === 1)

    i19 : picardGroup Q

    o19 = 0

    o19 : ZZ-module

    i20 : assert (picardGroup Q == 0 and isFreeModule picardGroup Q)

If the fan associated to $X$ contains a cone of dimension $dim(X)$, then the Picard group is free.

    i21 : Y = normalToricVariety (id_(ZZ^3) | -id_(ZZ^3));

    i22 : assert (not isSimplicial Y and isProjective Y)

    i23 : picardGroup Y

            1
    o23 = ZZ

    o23 : ZZ-module, free

    i24 : assert (rank picardGroup Y === 1 and isFreeModule picardGroup Y)

To avoid duplicate computations, the attribute is cached in the normal toric variety.

## See also

- working with divisors -- information about toric divisors and their related groups
- classGroup(NormalToricVariety) -- make the class group
- cartierDivisorGroup(NormalToricVariety) -- compute the group of torus-invariant Cartier divisors
- fromCDivToPic(NormalToricVariety) -- get the map from Cartier divisors to the Picard group
- fromPicToCl(NormalToricVariety) -- get the map from Picard group to class group
- picardGroup(ToricMap) -- make the induced map between Picard groups

## Ways to use this method:

- picardGroup(NormalToricVariety) -- make the Picard group

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NormalToricVarieties/DivisorsDocumentation.m2:472:0.