"Fossies" - the Fresh Open Source Software Archive 
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1
2
3
4
5
6
7
8
9
10
11 InstallMethod(
12 rec(
13 kind:="FUNCTION",
14 name:="Size",
15 sin:=[[grp^ell,"P"]],
16 sou:=[[elt-ord^rat,"n"]],
17 short:=
18 "The number of points belonging to EC ",
19 ex:=["EC:= EllipticCurve(5,[1,2]);;\nSize(EC);\n"
20 ],
21 see:=[]), _Size);
22
23
24
25 ----------------------------------------------------------------------------------------------------------
26
27 InstallMethod(
28 rec(
29 kind := "FUNCTION",
30 name := "Points",
31 sin := [[grp^ell,"E"]],
32 sou := [[list,"L"]],
33 short :="Returns all Points of E as a list."
34 ),_Points);
35
36 InstallMethod(
37 rec(
38 kind := "FUNCTION",
39 name := "ECSize",
40 sin := [[grp^ell,"E"]],
41 sou := [[elt-ord^rat,"N"]],
42 short :="Returns the number of Points of E."
43 ),_ECSize);
44
45 InstallMethod(
46 rec(
47 kind := "FUNCTION",
48 name := "EllipticCurve",
49 sin := [[elt-ord^rat,"q"],[list,"L"]],
50 sou := [[grp^ell]],
51 short :=
52 "Constructs an elliptic curve over the finite field with q elements. If L has length 2, the curve is "+
53 "defined by the equation y^2 = x^3 + L[1]*x + L[2], if L has length 5, the curve is "+
54 "defined by the equation y^2 + L[1]*x*y + L[2]*y = x^3 + L[3]*x^2 + L[4]*x + L[5]. "
55 ),_EllipticCurve);
56
57
58 InstallMethod(
59 rec(
60 kind := "FUNCTION",
61 name := "Order",
62 sin := [[elt-grp^ell,"P"]],
63 sou := [[elt-ord^rat,"n"]],
64 short :="Returns the Order of P."
65 ),_Order);
66
67 InstallMethod(
68 rec(
69 kind := "FUNCTION",
70 name := "RandomPoint",
71 sin := [[grp^ell,"EC"]],
72 sou := [[elt-grp^ell,"P"]],
73 short :="Returns a random point of EC."
74 ),_RandomPoint);
75
76 InstallMethod(
77 rec(
78 kind := "FUNCTION",
79 name := "WeierstrassNormalForm",
80 sin := [[grp^ell,"EC"]],
81 sou := [[grp^ell,"EC2"]],
82 short :="Returns, if possible, a curve EC2 in short Weierstrass normal form, which is isomorphic to EC."
83 ),_WeierstrassNormalForm);
84
85 InstallMethod(
86 rec(
87 kind := "FUNCTION",
88 name := "ECGenerator",
89 sin := [[grp^ell,"EC"]],
90 sou := [[list,"EC2"]],
91 short :="Returns a list of generator(s) of the group of _Points over EC."
92 ),_ECGenerator);
93
94
95
96
97
98 InstallDocumentation(
99 rec(
100 kind := "FUNCTION",
101 name := "Points",
102 sin := [[grp^ell,"E"]],
103 sou := [[list,"L"]],
104 short :="Returns all Points of E as a list."
105 ));
106
107 InstallDocumentation(
108 rec(
109 kind := "FUNCTION",
110 name := "EllipticFunctionField",
111 sin := [[grp^ell,"E"]],
112 sou := [[fld^fun,"F"]],
113 short :="Returns the function field defined by E"
114 ));
115
116 InstallDocumentation(
117 rec(
118 kind := "FUNCTION",
119 name := "MakePoint",
120 sin := [[list(elt-fld^fin),"L"],[grp^ell,"EC"]],
121 sou := [[elt-grp^ell,"P"]],
122 short :="Returns,if possible, a point on EC, defined by the coordinates given in L."
123 ));
124
125 InstallDocumentation(
126 rec(
127 kind := "FUNCTION",
128 name := "MakePoints",
129 sin := [[elt-fld^fin,"x"],[grp^ell,"EC"]],
130 sou := [[elt-grp^ell,"P"]],
131 short :="Returns the points on EC with x-coordinate x."
132 ));
133
134
135
136