Macaulay2 » Documentation
Packages » M0nbar :: divisorClassRepresentativeM0nbar
next | previous | forward | backward | up | index | toc

divisorClassRepresentativeM0nbar -- creates an object of type DivisorClassRepresentativeM0nbar

Synopsis

Description

This function creates an object of type DivisorClassRepresentativeM0nbar. Here is a basic example:

i1 : L1= { {{1,3},1}, {{1,4},1} }

o1 = {{{1, 3}, 1}, {{1, 4}, 1}}

o1 : List
i2 : divisorClassRepresentativeM0nbar(6,L1)

o2 = DivisorClassRepresentativeM0nbar{"DivisorExpression" => HashTable{{1, 3} => 1}}
                                                                       {1, 4} => 1
                                      "NumberOfMarkedPoints" => 6

o2 : DivisorClassRepresentativeM0nbar

The input can be a list or a hash table (see the documentation for (divisorClassRepresentativeM0nbar,ZZ,HashTable)) . The elements of the list should be pairs {I,c}. This will add $c \delta_{I}$ to the divisor class expression. Equivalently, you can type I=>c instead of {I,c}.

i3 : L2= { {1,3}=>1, {1,4}=>1 }

o3 = {{1, 3} => 1, {1, 4} => 1}

o3 : List
i4 : divisorClassRepresentativeM0nbar(6,L2)

o4 = DivisorClassRepresentativeM0nbar{"DivisorExpression" => HashTable{{1, 3} => 1}}
                                                                       {1, 4} => 1
                                      "NumberOfMarkedPoints" => 6

o4 : DivisorClassRepresentativeM0nbar

The function divisorClassRepresentative does some minimal testing to make sure the expression makes sense. For instance, if you type "L=\{ {1,7\}=>1 \}" and then run "divisorClassRepresentativeM0nbar(6,L)" you will get an error that "The divisor expression is invalid."

The function sorts the divisor class labels. If sorting creates like terms, they are combined:

i5 : L3={ {{1,3},1}, {{1,4},1}, {{3,1},1} };
i6 : divisorClassRepresentativeM0nbar(6,L3)

o6 = DivisorClassRepresentativeM0nbar{"DivisorExpression" => HashTable{{1, 3} => 2}}
                                                                       {1, 4} => 1
                                      "NumberOfMarkedPoints" => 6

o6 : DivisorClassRepresentativeM0nbar

If $\#I^c < \# I$ the function will replace $\delta_I$ by $\delta_{I^c}$.

i7 : L4= { {{1,3},1}, {{1,4},1}, {{2,4,5,6},1} };
i8 : divisorClassRepresentativeM0nbar(6,L4)

o8 = DivisorClassRepresentativeM0nbar{"DivisorExpression" => HashTable{{1, 3} => 2}}
                                                                       {1, 4} => 1
                                      "NumberOfMarkedPoints" => 6

o8 : DivisorClassRepresentativeM0nbar

If $\#I = n/2$ and 1 is not in $I$ it will replace $\delta_I$ by $\delta_{I^c}$.

i9 : L5= { {{1,3},1}, {{1,4},1}, {{4,5,6},1} };
i10 : divisorClassRepresentativeM0nbar(6,L5)

o10 = DivisorClassRepresentativeM0nbar{"DivisorExpression" => HashTable{{1, 2, 3} => 1}}
                                                                        {1, 3} => 1
                                                                        {1, 4} => 1
                                       "NumberOfMarkedPoints" => 6

o10 : DivisorClassRepresentativeM0nbar

It deletes terms whose coefficient is zero.

i11 : L6= { {{1,3},1}, {{1,4},1}, {{4,5,6},1},{{1,2,3},-1} };
i12 : divisorClassRepresentativeM0nbar(6,L6)

o12 = DivisorClassRepresentativeM0nbar{"DivisorExpression" => HashTable{{1, 3} => 1}}
                                                                        {1, 4} => 1
                                       "NumberOfMarkedPoints" => 6

o12 : DivisorClassRepresentativeM0nbar

Ways to use divisorClassRepresentativeM0nbar :

For the programmer

The object divisorClassRepresentativeM0nbar is a method function.