[back] [prev] [next] [index] [root]

 


AlffDivisorLBasis

Computes a basis of a Riemann-Roch space

Syntax:

B := AlffDivisorLBasis(D);

list
  B  
of basis elements
alff divisor
  D  

See also:  AlffDivisorLBasisShort, AlffDivisorLDim, AlffDivisorDeg, AlffDivisorLIndex, AlffGenus, Alff

Description:

Given a divisor D of an algebraic function field F this function returns a basis for the k-vector space {cal L}(D), where k denotes the constant field of definition of F. The basis elements are represented in the finite maximal order.


Example:


kash> AlffInit(FF(5,1));;
kash> AlffOrders(y^2+T^3+1);;
kash> infty := AlffPlaceSplit(F, 1/T)[1];
Alff place < [ 1/T, 0 ], [ 0, 1 ] >
kash> l := AlffPlaceSplit(F, T+3);
[ Alff place < [ T + 3, 0 ], [ 1, 1 ] >, 
  Alff place < [ T + 3, 0 ], [ 4, 1 ] > ]
kash> D := 2*infty + 3*l[1] - l[2];
Alff divisor
[ [ Alff place < [ 1/T, 0 ], [ 0, 1 ] >, 2 ],
[ Alff place < [ T + 3, 0 ], [ 1, 1 ] >, 3 ],
[ Alff place < [ T + 3, 0 ], [ 4, 1 ] >, -1 ] ]

kash> AlffDivisorLBasis(D);
[ [ 4*T^3 + 4*T^2 + 2*T + 1, T ] / (T^3 + 4*T^2 + 2*T + 2), 
  [ 4*T^4 + 4*T^3 + 2*T^2 + T, T^2 ] / (T^3 + 4*T^2 + 2*T + 2), 
  [ 4*T^3 + 2*T^2 + 4, 1 ] / (T^3 + 4*T^2 + 2*T + 2), 
  [ 4*T^4 + 2*T^3 + 4*T, T ] / (T^3 + 4*T^2 + 2*T + 2) ]


<- back[back] [prev] [next] [index] [root]