The nonadjacent basis is described in Carr, A polygonal presentation of $Pic(\bar{M}_{0,n})$, arXiv:0911.2649.
This function takes a divisor class and writes it in the nonadjacent basis.
Needs more advanced tests!
i1 : L= {{1,2}=>1};
|
i2 : D=divisorClassRepresentativeM0nbar(5,L); |
i3 : writeDivisorInNonadjacentBasis(D)
o3 = DivisorClassRepresentativeM0nbar{DivisorExpression => HashTable{{1, 3} => 1 }}
{2, 5} => 1
{3, 5} => -1
NumberOfMarkedPoints => 5
o3 : DivisorClassRepresentativeM0nbar
|
i4 : L= {{1,5,6}=>1};
|
i5 : D=divisorClassRepresentativeM0nbar(6,L); |
i6 : writeDivisorInNonadjacentBasis(D)
o6 = DivisorClassRepresentativeM0nbar{DivisorExpression => HashTable{{1, 3, 4} => 1 }}
{1, 3, 5} => -1
{1, 4, 6} => 1
{1, 4} => 1
{1, 5} => -1
{2, 4} => -1
{2, 5} => 1
NumberOfMarkedPoints => 6
o6 : DivisorClassRepresentativeM0nbar
|
The object writeDivisorInNonadjacentBasis is a method function.