# abstractVariety(ZZ,Ring) -- make an abstract variety

## Synopsis

• Function: abstractVariety
• Usage:
abstractVariety(d,A)
• Inputs:
• Optional inputs:
• ReturnType => a type, default value AbstractVariety, a type of AbstractVariety
• DefaultIntegral => , default value true
• Outputs:
• , of dimension d whose intersection ring is A and whose class is the value of the ReturnType option
• Consequences:
• The ring A is altered so it knows what abstract variety it is associated with (see variety(Ring)), preventing it from being used in this way more than once. The methods for converting its elements to strings and nets are replaced by methods that display monomials of higher degree further to the right, parenthesizing multiple terms of the same degree.
• Unless DefaultIntegral is set to false, a default method for integration of elements of the intersection ring is installed, which returns a formal expression representing the integral of the degree $d$ part of the element when $d$ is greater than zero, and simply returns the degree 0 part of the element when $d$ is zero.

## Description

 i1 : X = abstractVariety(3, QQ[c,d,Degrees=>{1,2}]) o1 = X o1 : an abstract variety of dimension 3 i2 : F = abstractSheaf(X, ChernCharacter => 3+c+d) o2 = F o2 : an abstract sheaf of rank 3 on X i3 : chern F 1 2 1 3 o3 = 1 + c + (-c - d) + (-c - c*d) 2 6 o3 : QQ[c..d] i4 : integral oo 1 3 o4 = integral(-c - c*d) 6 o4 : Expression of class Adjacent