41.9 List of Elements of $ P^1(\mathbf{Z}/N\mathbf{Z})$

Module: sage.modular.modsym.p1list

List of Elements of $ P^1(\mathbf{Z}/N\mathbf{Z})$

Module-level Functions

lift_to_sl2z( )

Return a list of Python ints [a,b,c',d'] that are the entries of a 2x2 matrix with determinant 1 and lower two entries congruent to c,d modulo N.

sage: lift_to_sl2z(2,3,6)
[1, 1, 2, 3]
sage: lift_to_sl2z(15,6,24)
[-2, -17, 15, 126]
sage: lift_to_sl2z(15,6,2400000)
[-2L, -320001L, 15L, 2400006L]

lift_to_sl2z_int( )

Lift a pair (c, d) to an element of SL(2, Z)

(c,d) is assumed to be an element of P1(Z/NZ). This function computes and returns a list [a, b, c', d'] that defines a 2x2 matrix, with determinant 1 and integer entries, such that c=c'(mod N) and d=d'(mod N).

EXAMPLES

sage: lift_to_sl2z_int(2,6,11)
[1, 8, 2, 17]
sage: m=Matrix(Integers(),2,2,lift_to_sl2z_int(2,6,11))
sage: m
[ 1  8]
[ 2 17]

Author: Justin Walker

lift_to_sl2z_llong( )

Lift a pair (c, d) to an element of SL(2, Z)

(c,d) is assumed to be an element of P1(Z/NZ). This function computes and returns a list [a, b, c', d'] that defines a 2x2 matrix, with determinant 1 and integer entries, such that c=c'(mod N) and d=d'(mod N).

EXAMPLES

sage: lift_to_sl2z_llong(2,6,11)
[1L, 8L, 2L, 17L]
sage: m=Matrix(Integers(),2,2,lift_to_sl2z_llong(2,6,11))
sage: m
[ 1  8]
[ 2 17]

Author: Justin Walker

p1_normalize( )

p1_normalize_int( )

p1_normalize_int(N, u, v):

Computes the canonical representative of $ \mathbf{P}^1(\mathbf{Z}/N\mathbf{Z})$ equivalent to $ (u,v)$ along with a transforming scalar.

Input:

N
- an integer
u
- an integer
v
- an integer

Output: If gcd(u,v,N) = 1, then returns
uu
- an integer
vv
- an integer
ss
- an integer such that (ss*uu, ss*vv) is equivalent to (u,v) mod N and if gcd(u,v,N) != 1, returns 0, 0, 0

p1_normalize_llong( )

p1_normalize_llong(N, u, v):

Computes the canonical representative of $ \mathbf{P}^1(\mathbf{Z}/N\mathbf{Z})$ equivalent to $ (u,v)$ along with a transforming scalar.

Input:

N
- an integer
u
- an integer
v
- an integer
Output: If gcd(u,v,N) = 1, then returns
uu
- an integer
vv
- an integer
ss
- an integer such that (ss*uu, ss*vv) is equivalent to (u,v) mod N and if gcd(u,v,N) != 1, returns 0, 0, 0

p1list( )

p1list_int( )

p1list_int(int N):

Make a list of the normalized elements of $ \mathbf{P}^1(\mathbf{Z}/N\mathbf{Z})$ .

p1list_llong( )

p1list_llong(int N):

Make a list of the normalized elements of $ \mathbf{P}^1(\mathbf{Z}/N\mathbf{Z})$ .

Class: export

class export

Class: P1List

class P1List

sage: P = P1List(12); P
The projective line over the integers modulo 12
sage: list(P)
[(0, 1), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7),
(1, 8), (1, 9), (1, 10), (1, 11), (2, 1), (2, 3), (2, 5), (3, 1), (3, 2),
(3, 4), (3, 7), (4, 1), (4, 3), (4, 5), (6, 1)]

Saving and loading works.

sage: loads(dumps(P)) == P
True

Functions: apply_I,$ \,$ apply_S,$ \,$ apply_T,$ \,$ index,$ \,$ index_and_scalar,$ \,$ index_of_normalized_pair,$ \,$ lift_to_sl2z,$ \,$ list,$ \,$ N,$ \,$ normalize,$ \,$ normalize_with_scalar

index( )

Returns the index of the class of $ (u,v)$ in the fixed list of representatives of $ \mathbf{P}^1(\mathbf{Z}/N\mathbf{Z})$ .

Input:

u, v
- integers, with GCD(u,v,N)=1.

Output:
i
- the index of $ u$ , $ v$ , in the $ P^1$ list.

index_and_scalar( )

Returns the index of the class of $ (u,v)$ in the fixed list of representatives of $ \mathbf{P}^1(\mathbf{Z}/N\mathbf{Z})$ .

Input:

u, v
- integers, with GCD(u,v,N)=1.

Output:
i
- the index of $ u$ , $ v$ , in the $ P^1$ list.
s
- scalar that transforms normalized form to u,v

index_of_normalized_pair( )

Returns the index of the class of $ (u,v)$ in the fixed list of representatives of $ \mathbf{P}^1(\mathbf{Z}/N\mathbf{Z})$ .

Input:

u, v
- integers, with GCD(u,v,N)=1 normalized so they lie in the list.
Output:
i
- the index of $ u$ , $ v$ , in the $ P^1$ list.

lift_to_sl2z( )

Lift an element of P1 to an element of SL(2,Z)

If the ith P1 element is (c,d), this function computes and returns a list [a,b, c',d'] that defines a 2x2 matrix with determinant 1 and integer entries, such that c=c'(mod N) and d=d'(mod N).

EXAMPLES

sage: p=P1List(11)

sage: p.list()[3]
 (1, 2)

sage: p.lift_to_sl2z(3)
 [0, -1, 1, 2]

Author: Justin Walker

normalize_with_scalar( )

normalize_with_scalar(self, int u, int v)

Input:

u, v
- integers, with GCD(u,v,N)=1.

Output:
uu, vv
- integers of *normalized* rep
ss
- scalar such that (ss*uu, ss*vv) = (u,v) mod N

Special Functions: __cmp__,$ \,$ __getitem__,$ \,$ __getslice__,$ \,$ __init__,$ \,$ __len__,$ \,$ __reduce__,$ \,$ __repr__

__getitem__( )

__reduce__( )

__repr__( )

See About this document... for information on suggesting changes.