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.