Abstract Variety Maps

Constructors

mapFunction
map(X::AbstractVariety, Y::AbstractVariety, fˣ::Vector, fₓ = nothing; inclusion::Bool = false, symbol::String = "x")

Return an abstract variety map X $\rightarrow$ Y by specifying the pullbacks of the generators of the Chow ring of Y.

Note

The corresponding pushforward will be automatically computed in certain cases.

In the case of an inclusion X $\hookrightarrow$ Y where the class of X is not present in the Chow ring of Y, use the argument inclusion = true. Then, a copy of Y will be created, with extra classes added so that one can pushforward all classes on X.

Examples

julia> P2xP2 = abstract_projective_space(2, symbol = "k")*abstract_projective_space(2, symbol = "l")
AbstractVariety of dim 4

julia> k, l = gens(P2xP2)
2-element Vector{MPolyQuoRingElem{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}}:
 k
 l

julia> P8 = abstract_projective_space(8)
AbstractVariety of dim 8

julia> h = gens(P8)[1]
h

julia> Se = map(P2xP2, P8, [k+l]) # Segre embedding
AbstractVarietyMap from AbstractVariety of dim 4 to AbstractVariety of dim 8

julia> pullback(Se, h)
k + l

julia> pushforward(Se, k+l)
6*h^5
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
identity_mapMethod
identity_map(X::AbstractVariety)

Return the identity map on X.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source

Underlying Data of an Abstract Variety Map

An abstract variety map is made up from (a selection of) the data discussed here:

domainMethod
 domain(f::AbstractVarietyMap)

Return the domain of f.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
codomainMethod
 codomain(f::AbstractVarietyMap)

Return the codomain of f.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
dimMethod
dim(f::AbstractVarietyMap)

Return the relative dimension of f, that is, return dim(domain(f)) - dim(codomain(f)).

Examples

julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2

julia> P5 = abstract_projective_space(5, symbol = "H")
AbstractVariety of dim 5

julia> h = gens(P2)[1]
h

julia> i = map(P2, P5, [2*h])
AbstractVarietyMap from AbstractVariety of dim 2 to AbstractVariety of dim 5

julia> dim(i)
-3
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
pullbackMethod
pullback(f::AbstractVarietyMap, y::MPolyDecRingElem)

Return the pullback of y via f.

Examples

julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2

julia> P5 = abstract_projective_space(5, symbol = "H")
AbstractVariety of dim 5

julia> h = gens(P2)[1]
h

julia> i = map(P2, P5, [2*h])
AbstractVarietyMap from AbstractVariety of dim 2 to AbstractVariety of dim 5

julia> H = gens(P5)[1]
H

julia> pullback(i, H)
2*h
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
pushforwardMethod
pushforward(f::AbstractVarietyMap, x::MPolyDecRingElem)

Return the pushforward of x via f.

Examples

julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2

julia> P5 = abstract_projective_space(5, symbol = "H")
AbstractVariety of dim 5

julia> h = gens(P2)[1]
h

julia> i = map(P2, P5, [2*h])
AbstractVarietyMap from AbstractVariety of dim 2 to AbstractVariety of dim 5

julia> pushforward(i, h)
2*H^4
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
tangent_bundleMethod
tangent_bundle(f::AbstractVarietyMap)

If domain(f) and codomain(f) are given tangent bundles, return the relative tangent bundle of f.

Examples

julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2

julia> T = tangent_bundle(P2)
AbstractBundle of rank 2 on AbstractVariety of dim 2

julia> PT = abstract_projective_bundle(T)
AbstractVariety of dim 3

julia> pr = structure_map(PT)
AbstractVarietyMap from AbstractVariety of dim 3 to AbstractVariety of dim 2

julia> PBT = pullback(pr, T)
AbstractBundle of rank 2 on AbstractVariety of dim 3

julia> tangent_bundle(PT) - PBT == tangent_bundle(pr)
true

julia> PBT*OO(PT, 1) - OO(PT) == tangent_bundle(pr) # relative Euler sequence
true
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source

Further Data Associated to an Abstract Variety Map

cotangent_bundleMethod
cotangent_bundle(f::AbstractVarietyMap)

If domain(f) and codomain(f) are given tangent bundles, return the relative cotangent bundle of f.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
todd_classMethod
todd_class(f::AbstractVarietyMap)

Return the Todd class of the relative tangent bundle of f.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source

Operations on Abstract Variety Maps

composeMethod
compose(f::AbstractVarietyMap, g::AbstractVarietyMap)

Given abstract variety maps f : X $\to$ Y and g : Y $\to$ Z, say, return their composition.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source