Hallo Andreas,
Ich habe mich offenbar missverständlich ausgedrückt. Ich versuche es
nochmals mit einer ausführlicheren Darstellung meines Problems (siehe
Beilage).
Okay, let's do it again:
26\[CircleTimes]{1, 2} sollte {1, 21} resultieren. {\[Infinity],
\[Infinity]} sollte es erst geben, wennFirst[{1, 2}] == First[(n -
1)\[CircleTimes]{x, y} gilt.
Da stand im vorherigen Notebook etwas anderes, nämlich
First[n\[CircleTimes]{1,2}] == First[(n - 1)\[CircleTimes]{x, y}], daher
meine erste Antwort zu diesem Thema.
Nun soll also bei First[{1, 2}] == First[(n - 1)\[CircleTimes]{x, y}] das
neutrale Element ausgegeben werden. Darin steckt übrigens eine
Ungenauigkeit, denn 2\[CircleTimes]{1,2} ist dann bereits {\[Infinity],
\[Infinity]}, da 2 - 1 = n - 1 = 1 und 1\[CircleTimes]{1, 2} = {1, 2}
gemäss Anfangsbedingung. Man braucht noch n > 2 in der Aussage.
Dann machen wir doch das:
In[4]:= 1\[CircleTimes]{x_,y_}:={x,y}
In[5]:= n_\[CircleTimes]{x_,y_}:=
If[p = (n - 1)\[CircleTimes]{x, y};
p[[1]] == x && n > 2,\[GothicCapitalO], Mod[p\[CirclePlus]{x,y},m]
]
In[8]:= 26\[CircleTimes]{1, 2}
Out[8]= {1, 21}
In[6]:= 27\[CircleTimes]{1, 2}
Out[6]= {\[Infinity], \[Infinity]}
In[7]:= Table[k\[CircleTimes]{1, 2}, {k, 1, 27}]
Out[7]= {{1, 2}, {2, 19}, {10, 6}, {21, 7}, {14, 12}, {9, 6}, {19,
12}, {7, 10}, {4, 17}, {20, 18}, {18, 20}, {13, 11}, {11, 2}, {11,
21}, {13, 12}, {18, 3}, {20, 5}, {4, 6}, {7, 13}, {19, 11}, {9,
17}, {14, 11}, {21, 16}, {10, 17}, {2, 4}, {1,
21}, {\[Infinity], \[Infinity]}}
Ihre eigene Implementation
n_\[CircleTimes]{x_, y_} := Module[{start = {x, y}, u, v},
{u, v} = Mod[((n - 1)\[CircleTimes]{x, y})\[CirclePlus]{x, y}, m];
If[u == First[start], \[GothicCapitalO], {u, v}]]
ist verkehrt, weil {u, v} das mögliche Ergebnis des n-ten
Vervielfachungsschrittes darstellt (und nicht des (n - 1)-ten, auf den
Bezug genommen werden soll).
Zum Schluss bleibt die Frage, warum nicht einfach
1\[CircleTimes]{x_, y_} := {x, y}
n_\[CircleTimes]{x_, y_} := ((n - 1)\[CircleTimes]{x, y})\[CirclePlus]{x,
y};
die Vervielfachung ebensogut darstellt?
Gruss
Udo.