# abstractSheaf(AbstractVariety,RingElement) -- make an abstract sheaf

## Synopsis

• Function: abstractSheaf
• Usage:
abstractSheaf(X,cc,Rank=>n)
abstractSheaf(X,Rank=>n)
abstractSheaf(X,ChernClass=>c,Rank=>n)
abstractSheaf(X,ChernCharacter=>cc)
• Inputs:
• X, ,
• cc, , an element of the intersection ring of X
• Optional inputs:
• Rank => , default value null
• ChernCharacter => , default value null
• ChernClass => , default value null
• Name => , default value null
• Outputs:
• , the abstract sheaf over X with total Chern class c, rank n, and total Chern character cc. When just the rank is specified, the Chern class is taken to be 1. If the Rank and ChernCharacter options are both given, the value of the Rank option is ignored. If the ChernClass and ChernCharacter options are both given, the values are used without checking for compatibility.
• Consequences:
• The value of the Name option should be a symbol or indexed variable to which the sheaf will be assigned. The function baseName will return it, so the sheaf can be used in situations where a symbol is expected. The sheaves created by base use this facility.

## Description

 i1 : X = abstractVariety(3, QQ[c]) o1 = X o1 : an abstract variety of dimension 3 i2 : F = abstractSheaf(X, ChernCharacter => 3 + c) o2 = F o2 : an abstract sheaf of rank 3 on X i3 : ch F o3 = 3 + c o3 : QQ[c] i4 : chern F 1 2 1 3 o4 = 1 + c + -c + -c 2 6 o4 : QQ[c]