Toric rational divisor classes¶
This module is a part of the framework for toric varieties
.
AUTHORS:
- Volker Braun and Andrey Novoseltsev (2010-09-05): initial version.
TESTS:
Toric rational divisor clases are elements of the rational class group of a toric variety, represented as rational vectors in some basis:
sage: dP6 = toric_varieties.dP6()
sage: Cl = dP6.rational_class_group()
sage: D = Cl([1, -2, 3, -4])
sage: D
Divisor class [1, -2, 3, -4]
sage: E = Cl([1/2, -2/3, 3/4, -4/5])
sage: E
Divisor class [1/2, -2/3, 3/4, -4/5]
They behave much like ordinary vectors:
sage: D + E
Divisor class [3/2, -8/3, 15/4, -24/5]
sage: 2 * D
Divisor class [2, -4, 6, -8]
sage: E / 10
Divisor class [1/20, -1/15, 3/40, -2/25]
sage: D * E
Traceback (most recent call last):
...
TypeError: cannot multiply two divisor classes!
The only special method is lift()
to get a
divisor representing a divisor class:
sage: D.lift()
V(x) - 2*V(u) + 3*V(y) - 4*V(v)
sage: E.lift()
1/2*V(x) - 2/3*V(u) + 3/4*V(y) - 4/5*V(v)
-
class
sage.schemes.toric.divisor_class.
ToricRationalDivisorClass
¶ Bases:
sage.modules.vector_rational_dense.Vector_rational_dense
Create a toric rational divisor class.
Warning
You probably should not construct divisor classes explicitly.
INPUT:
- same as for
Vector_rational_dense
.
OUTPUT:
- toric rational divisor class.
TESTS:
sage: dP6 = toric_varieties.dP6() sage: Cl = dP6.rational_class_group() sage: D = dP6.divisor(2) sage: Cl(D) Divisor class [0, 0, 1, 0]
-
lift
()¶ Return a divisor representing this divisor class.
OUTPUT:
An instance of
ToricDivisor
representingself
.EXAMPLES:
sage: X = toric_varieties.Cube_nonpolyhedral() sage: D = X.divisor([0,1,2,3,4,5,6,7]); D V(z1) + 2*V(z2) + 3*V(z3) + 4*V(z4) + 5*V(z5) + 6*V(z6) + 7*V(z7) sage: D.divisor_class() Divisor class [29, 6, 8, 10, 0] sage: Dequiv = D.divisor_class().lift(); Dequiv 6*V(z1) - 17*V(z2) - 22*V(z3) - 7*V(z4) + 25*V(z6) + 32*V(z7) sage: Dequiv == D False sage: Dequiv.divisor_class() == D.divisor_class() True
- same as for
-
sage.schemes.toric.divisor_class.
is_ToricRationalDivisorClass
(x)¶ Check if
x
is a toric rational divisor class.INPUT:
x
– anything.
OUTPUT:
True
ifx
is a toric rational divisor class,False
otherwise.
EXAMPLES:
sage: from sage.schemes.toric.divisor_class import ( ... is_ToricRationalDivisorClass) sage: is_ToricRationalDivisorClass(1) False sage: dP6 = toric_varieties.dP6() sage: D = dP6.rational_class_group().gen(0) sage: D Divisor class [1, 0, 0, 0] sage: is_ToricRationalDivisorClass(D) True