خوارزمية سيبولا

في نظرية الأعداد الحسابية ، تُعد خوارزمية سيبولا تقنية لحل تطابق من الشكل التالي:

x2ن(تعديلص)،{\displaystyle x^{2}\equiv n{\pmod {p}},}

أينx،نFص{\displaystyle x,n\in \mathbf {F} _{p}}إذن، n هو مربع x ، وحيثص{\displaystyle p}هو عدد أولي فردي . هناFص{\displaystyle \mathbf {F} _{p}}يرمز إلى الحقل المنتهي معص{\displaystyle p}عناصر ؛{0،1،...،ص-1}{\displaystyle \{0,1,\dots ,p-1\}}. سميت الخوارزمية على اسم ميشيل سيبولا ، وهو عالم رياضيات إيطالي اكتشفها في عام 1907.

إلى جانب حساب القيم المطلقة للأعداد الأولية، فإن خوارزمية سيبولا قادرة أيضاً على حساب الجذور التربيعية بتردد القوى الأولية. [ 1 ]

الخوارزمية

المدخلات:

  • ص{\displaystyle p}عدد أولي فردي،
  • نFص{\displaystyle n\in \mathbf {F} _{p}}وهو مربع.

المخرجات:

  • xFص{\displaystyle x\in \mathbf {F} _{p}}مرضٍx2=ن.{\displaystyle x^{2}=n.}

الخطوة الأولى هي إيجادأFص{\displaystyle a\in \mathbf {F} _{p}}بحيثأ2-ن{\displaystyle a^{2}-n}ليس مربعًا. لا توجد خوارزمية حتمية معروفة لإيجاد مثل هذا الشكل.أ{\displaystyle a}ولكن يمكن استخدام طريقة التجربة والخطأ التالية . ببساطة اخترأ{\displaystyle a}وبحساب رمز ليجندر(أ2-نص){\displaystyle \left({\frac {a^{2}-n}{p}}\right)}يمكن للمرء أن يرى ما إذاأ{\displaystyle a}يحقق الشرط. احتمال أن يكون عشوائيًاأ{\displaystyle a}سوف يرضينا(ص-1)/2ص{\displaystyle (p-1)/2p}. معص{\displaystyle p}هذا كبير بما يكفي، وهذا ما يقارب1/2{\displaystyle 1/2}[ 2 ] لذلك ، فإن العدد المتوقع للمحاولات قبل إيجاد حل مناسبأ{\displaystyle a}يبلغ حوالي 2.

الخطوة الثانية هي حساب قيمة x عن طريق حسابx=(أ+أ2-ن)(ص+1)/2{\displaystyle x=\left(a+{\sqrt {a^{2}-n}}\right)^{(p+1)/2}}ضمن امتداد الحقلFص2=Fص(أ2-ن){\displaystyle \mathbf {F} _{p^{2}}=\mathbf {F} _{p}({\sqrt {a^{2}-n}})}سيكون هذا المتغير x هو المتغير الذي يحقق المطلوبx2=ن.{\displaystyle x^{2}=n.}

لوx2=ن{\displaystyle x^{2}=n}، ثم(-x)2=ن{\displaystyle (-x)^{2}=n}وينطبق هذا أيضاً. وبما أن p عدد فردي،x-x{\displaystyle x\neq -x}لذلك، كلما تم العثور على حل x ، يكون هناك دائمًا حل ثانٍ، -x .

مثال

(ملاحظة: تُعتبر جميع العناصر قبل الخطوة الثانية عنصرًا من عناصرF13{\displaystyle \mathbf {F} _{13}}وتُعتبر جميع العناصر في الخطوة الثانية عناصر منF132{\displaystyle \mathbf {F} _{13^{2}}}.)

أوجد جميع قيم x التي تحققx2=10.{\displaystyle x^{2}=10.}

قبل تطبيق الخوارزمية، يجب التحقق من10{\displaystyle 10}هو بالفعل مربع فيF13{\displaystyle \mathbf {F} _{13}}لذلك، رمز ليجاندر(10|13){\displaystyle (10|13)}يجب أن تكون القيمة مساوية لـ 1. ويمكن حساب ذلك باستخدام معيار أويلر :(10|13)1061(تعديل13).{\textstyle (10|13)\equiv 10^{6}\equiv 1{\pmod {13}}.}وهذا يؤكد أن العدد 10 مربع، وبالتالي يمكن تطبيق الخوارزمية.

  • الخطوة 1: ابحث عن قيمة a بحيثأ2-ن{\displaystyle a^{2}-n}ليس مربعًا. كما ذُكر، يجب القيام بذلك عن طريق التجربة والخطأ. اخترأ=2{\displaystyle a=2}. ثمأ2-ن{\displaystyle a^{2}-n}يصبح 7. رمز ليجندر(7|13){\displaystyle (7|13)}يجب أن تكون القيمة -1. ويمكن حساب ذلك باستخدام معيار أويلر:76=34325225-1(تعديل13).{\textstyle 7^{6}=343^{2}\equiv 5^{2}\equiv 25\equiv -1{\pmod {13}}.}لذاأ=2{\displaystyle a=2}يُعد خيارًا مناسبًا لـ .
  • الخطوة الثانية: الحسابx=(أ+أ2-ن)(ص+1)/2=(2+-6)7{\displaystyle x=\left(a+{\sqrt {a^{2}-n}}\right)^{(p+1)/2}=\left(2+{\sqrt {-6}}\right)^{7}}فيF13(-6){\displaystyle \mathbf {F} _{13}({\sqrt {-6}})}:
(2+-6)2=4+4-6-6=-2+4-6{\displaystyle \left(2+{\sqrt {-6}}\right)^{2}=4+4{\sqrt {-6}}-6=-2+4{\sqrt {-6}}}
(2+-6)4=(-2+4-6)2=-1-3-6{\displaystyle \left(2+{\sqrt {-6}}\right)^{4}=\left(-2+4{\sqrt {-6}}\right)^{2}=-1-3{\sqrt {-6}}}
(2+-6)6=(-2+4-6)(-1-3-6)=9+2-6{\displaystyle \left(2+{\sqrt {-6}}\right)^{6}=\left(-2+4{\sqrt {-6}}\right)\left(-1-3{\sqrt {-6}}\right)=9+2{\sqrt {-6}}}
(2+-6)7=(9+2-6)(2+-6)=6{\displaystyle \left(2+{\sqrt {-6}}\right)^{7}=\left(9+2{\sqrt {-6}}\right)\left(2+{\sqrt {-6}}\right)=6}

لذاx=6{\displaystyle x=6}يُعدّ حلاً، وكذلكx=-6{\displaystyle x=-6}. بالفعل،6210(تعديل13).{\textstyle 6^{2}\equiv 10{\pmod {13}}.}

دليل

يتمثل الجزء الأول من البرهان في التحقق من أنFص2=Fص(أ2-ن)={x+yأ2-ن:x،yFص}{\displaystyle \mathbf {F} _{p^{2}}=\mathbf {F} _{p}({\sqrt {a^{2}-n}})=\{x+y{\sqrt {a^{2}-n}}:x,y\in \mathbf {F} _{p}\}}هو بالفعل حقل. ولتبسيط الترميز،ω{\displaystyle \omega }يُعرَّف بأنهأ2-ن{\displaystyle {\sqrt {a^{2}-n}}}. بالطبع،أ2-ن{\displaystyle a^{2}-n}هو باقي تربيعي، لذا لا يوجد جذر تربيعي فيFص{\displaystyle \mathbf {F} _{p}}. هذاω{\displaystyle \omega }يمكن اعتبارها تقريبًا مماثلة للعدد المركب i . الحساب الميداني واضح تمامًا. يُعرَّف الجمع على النحو التالي:

(x1+y1ω)+(x2+y2ω)=(x1+x2)+(y1+y2)ω{\displaystyle \left(x_{1}+y_{1}\omega \right)+\left(x_{2}+y_{2}\omega \right)=\left(x_{1}+x_{2}\right)+\left(y_{1}+y_{2}\right)\omega }.

يُعرَّف الضرب أيضاً كالمعتاد. مع الأخذ في الاعتبار أنω2=أ2-ن{\displaystyle \omega ^{2}=a^{2}-n}يصبح

(x1+y1ω)(x2+y2ω)=x1x2+x1y2ω+y1x2ω+y1y2ω2=(x1x2+y1y2(أ2-ن))+(x1y2+y1x2)ω{\displaystyle \left(x_{1}+y_{1}\omega \right)\left(x_{2}+y_{2}\omega \right)=x_{1}x_{2}+x_{1}y_{2}\omega +y_{1}x_{2}\omega +y_{1}y_{2}\omega ^{2}=\left(x_{1}x_{2}+y_{1}y_{2}\left(a^{2}-n\right)\right)+\left(x_{1}y_{2}+y_{1}x_{2}\right)\omega }.

الآن يجب التحقق من خصائص الحقل. من السهل ملاحظة خصائص الانغلاق تحت عمليتي الجمع والضرب، والتجميعية ، والتبديلية ، والتوزيعية . وذلك لأن الحقل في هذه الحالةFص2{\displaystyle \mathbf {F} _{p^{2}}}يشبه إلى حد ما مجال الأعداد المركبة (معω{\displaystyle \omega }(كونه نظيرًا لـ i ). العنصر المحايد الجمعي هو0{\displaystyle 0}أو بشكل أكثر رسمية0+0ω{\displaystyle 0+0\omega }: يتركαFص2{\displaystyle \alpha \in \mathbf {F} _{p^{2}}}، ثم

α+0=(x+yω)+(0+0ω)=(x+0)+(y+0)ω=x+yω=α{\displaystyle \alpha +0=(x+y\omega )+(0+0\omega )=(x+0)+(y+0)\omega =x+y\omega =\alpha }.

العنصر المحايد الضربي هو1{\displaystyle 1}أو بشكل أكثر رسمية1+0ω{\displaystyle 1+0\omega }:

α1=(x+yω)(1+0ω)=(x1+0y(أ2-ن))+(x0+1y)ω=x+yω=α{\displaystyle \alpha \cdot 1=(x+y\omega )(1+0\omega )=\left(x\cdot 1+0\cdot y\left(a^{2}-n\right)\right)+(x\cdot 0+1\cdot y)\omega =x+y\omega =\alpha }.

الشيء الوحيد المتبقي لـFص2{\displaystyle \mathbf {F} _{p^{2}}}إن كون الحقل حقلاً يعني وجود معكوسات جمعية ومعكوسات ضربية . ومن السهل ملاحظة أن المعكوس الجمعي لـx+yω{\displaystyle x+y\omega }يكون-x-yω{\displaystyle -x-y\omega }، وهو عنصر منFص2{\displaystyle \mathbf {F} _{p^{2}}}، لأن-x،-yFص{\displaystyle -x,-y\in \mathbf {F} _{p}}في الواقع، هذه هي العناصر المعكوسة الجمعية لـ x و y . لإثبات أن كل عنصر غير صفريα{\displaystyle \alpha }له معكوس ضربي، اكتبهα=x1+y1ω{\displaystyle \alpha =x_{1}+y_{1}\omega }وα-1=x2+y2ω{\displaystyle \alpha ^{-1}=x_{2}+y_{2}\omega }. بعبارة أخرى،

(x1+y1ω)(x2+y2ω)=(x1x2+y1y2(أ2-ن))+(x1y2+y1x2)ω=1{\displaystyle (x_{1}+y_{1}\omega )(x_{2}+y_{2}\omega )=\left(x_{1}x_{2}+y_{1}y_{2}\left(a^{2}-n\right)\right)+\left(x_{1}y_{2}+y_{1}x_{2}\right)\omega =1}.

إذن المتساويتانx1x2+y1y2(أ2-ن)=1{\displaystyle x_{1}x_{2}+y_{1}y_{2}(a^{2}-n)=1}وx1y2+y1x2=0{\displaystyle x_{1}y_{2}+y_{1}x_{2}=0}يجب أن يستمر. إن حساب التفاصيل يعطي تعبيرات لـx2{\displaystyle x_{2}}وy2{\displaystyle y_{2}}، أي

x2=-y1-1x1(y1(أ2-ن)-x12y1-1)-1{\displaystyle x_{2}=-y_{1}^{-1}x_{1}\left(y_{1}\left(a^{2}-n\right)-x_{1}^{2}y_{1}^{-1}\right)^{-1}}،
y2=(y1(أ2-ن)-x12y1-1)-1{\displaystyle y_{2}=\left(y_{1}\left(a^{2}-n\right)-x_{1}^{2}y_{1}^{-1}\right)^{-1}}.

العناصر العكسية التي تظهر في تعابيرx2{\displaystyle x_{2}}وy2{\displaystyle y_{2}}موجودة بالفعل، لأن هذه كلها عناصر منFص{\displaystyle \mathbf {F} _{p}}وبهذا يكتمل الجزء الأول من البرهان، موضحًا أنFص2{\displaystyle \mathbf {F} _{p^{2}}}هو حقل.

يُظهر الجزء الثاني والأوسط من البرهان أنه لكل عنصرx+yωFص2:(x+yω)ص=x-yω{\displaystyle x+y\omega \in \mathbf {F} _{p^{2}}:(x+y\omega )^{p}=x-y\omega }بحسب التعريف،ω2=أ2-ن{\displaystyle \omega ^{2}=a^{2}-n}ليس مربعًا فيFص{\displaystyle \mathbf {F} _{p}}ثم ينص معيار أويلر على ما يلي:

ωص-1=(ω2)ص-12=-1{\displaystyle \omega ^{p-1}=\left(\omega ^{2}\right)^{\frac {p-1}{2}}=-1}.

هكذاωص=-ω{\displaystyle \omega ^{p}=-\omega }هذا، بالإضافة إلى نظرية فيرما الصغرى (التي تنص على أنxص=x{\displaystyle x^{p}=x}للجميعxFص{\displaystyle x\in \mathbf {F} _{p}}) ومعرفة أنه في المجالات ذات الخاصية p المعادلة(أ+ب)ص=أص+بص{\displaystyle \left(a+b\right)^{p}=a^{p}+b^{p}}تُظهر العلاقة التي تُسمى أحيانًا حلم الطالب الجديد ، النتيجة المرجوة.

(x+yω)ص=xص+yصωص=x-yω{\displaystyle (x+y\omega )^{p}=x^{p}+y^{p}\omega ^{p}=x-y\omega }.

أما الجزء الثالث والأخير من البرهان فهو إثبات أنه إذاx0=(أ+ω)ص+12Fص2{\displaystyle x_{0}=\left(a+\omega \right)^{\frac {p+1}{2}}\in \mathbf {F} _{p^{2}}}، ثمx02=نFص{\displaystyle x_{0}^{2}=n\in \mathbf {F} _{p}}حساب ​

x02=(أ+ω)ص+1=(أ+ω)(أ+ω)ص=(أ+ω)(أ-ω)=أ2-ω2=أ2-(أ2-ن)=ن{\displaystyle x_{0}^{2}=\left(a+\omega \right)^{p+1}=(a+\omega )(a+\omega )^{p}=(a+\omega )(a-\omega )=a^{2}-\omega ^{2}=a^{2}-\left(a^{2}-n\right)=n}.

لاحظ أن هذه العملية الحسابية تمت فيFص2{\displaystyle \mathbf {F} _{p^{2}}}لذا هذاx0Fص2{\displaystyle x_{0}\in \mathbf {F} _{p^{2}}}لكن مع نظرية لاغرانج ، التي تنص على أن متعددة الحدود غير الصفرية من الدرجة n لها على الأكثر n جذرًا في أي حقل K ، ومعرفة أنx2-ن{\displaystyle x^{2}-n}له جذران فيFص{\displaystyle \mathbf {F} _{p}}، يجب أن تكون هذه الجذور هي جميع الجذور فيFص2{\displaystyle \mathbf {F} _{p^{2}}}لقد تم توضيح ذلك للتوx0{\displaystyle x_{0}}و-x0{\displaystyle -x_{0}}هي جذورx2-ن{\displaystyle x^{2}-n}فيFص2{\displaystyle \mathbf {F} _{p^{2}}}إذن لا بد أن يكون ذلكx0،-x0Fص{\displaystyle x_{0},-x_{0}\in \mathbf {F} _{p}}[ 3 ]

سرعة

بعد إيجاد قيمة مناسبة لـ a ، يكون عدد العمليات المطلوبة للخوارزمية هو4م+2ك-4{\displaystyle 4m+2k-4}الضرب،4م-2{\displaystyle 4m-2}المجاميع، حيث m هو عدد الأرقام في التمثيل الثنائي لـ p و k هو عدد الآحاد في هذا التمثيل. لإيجاد قيمة a بالتجربة والخطأ، فإن العدد المتوقع لحسابات رمز ليجندر هو 2. ولكن قد يحالف المرء الحظ من المحاولة الأولى وقد يحتاج إلى أكثر من محاولتين. في هذا المجالFص2{\displaystyle \mathbf {F} _{p^{2}}}، تتحقق المعادلتان التاليتان

(x+yω)2=(x2+y2ω2)+((x+y)2-x2-y2)ω،{\displaystyle (x+y\omega )^{2}=\left(x^{2}+y^{2}\omega ^{2}\right)+\left(\left(x+y\right)^{2}-x^{2}-y^{2}\right)\omega ,}

أينω2=أ2-ن{\displaystyle \omega ^{2}=a^{2}-n}معروف مسبقًا. تتطلب هذه العملية الحسابية 4 عمليات ضرب و4 عمليات جمع.

(x+yω)2(أ+ω)=(أد2-ب(x+د))+(د2-بy)ω،{\displaystyle \left(x+y\omega \right)^{2}\left(a+\omega \right)=\left(ad^{2}-b\left(x+d\right)\right)+\left(d^{2}-by\right)\omega ,}

أيند=(x+yأ){\displaystyle d=(x+ya)}وب=نy{\displaystyle b=ny}تتطلب هذه العملية 6 عمليات ضرب و 4 عمليات جمع.

بافتراض أنص1(تعديل4)،{\displaystyle p\equiv 1{\pmod {4}},}(في هذه الحالة)ص3(تعديل4){\displaystyle p\equiv 3{\pmod {4}}}، الحساب المباشرx±نص+14{\displaystyle x\equiv \pm n^{\frac {p+1}{4}}}(أسرع بكثير) التعبير الثنائي لـ(ص+1)/2{\displaystyle (p+1)/2}لديهم-1{\displaystyle m-1}الأرقام، منها k من الآحاد. لذا لحساب a(ص+1)/2{\displaystyle (p+1)/2}قوة(أ+ω){\displaystyle \left(a+\omega \right)}يجب استخدام الصيغة الأولىن-ك-1{\displaystyle n-k-1}مرتين والثانيةك-1{\displaystyle k-1}مرات.

لهذا السبب، تكون خوارزمية سيبولا أفضل من خوارزمية تونيللي-شانكس إذا وفقط إذاS(S-1)>8م+20{\displaystyle S(S-1)>8m+20}، مع2S{\displaystyle 2^{S}}كونها أعلى قوة للعدد 2 التي تقسمص-1{\displaystyle p-1}[ 4 ]

وحدات الطاقة الرئيسية

وفقًا لكتاب ديكسون "تاريخ الأعداد"، فإن صيغة سيبولا التالية ستجد الجذور التربيعية بتردد قوى الأعداد الأولية: [ 5 ] [ 6 ]

2-1qت((ك+ك2-q)s+(ك-ك2-q)s)تعديلصλ{\displaystyle 2^{-1}q^{t}((k+{\sqrt {k^{2}-q}})^{s}+(k-{\sqrt {k^{2}-q}})^{s}){\bmod {p^{\lambda }}}}
أينت=(صλ-2صλ-1+1)/2{\displaystyle t=(p^{\lambda }-2p^{\lambda -1}+1)/2}وs=صλ-1(ص+1)/2{\displaystyle s=p^{\lambda -1}(p+1)/2}
أينq=10{\displaystyle q=10}،ك=2{\displaystyle k=2}كما هو الحال في مثال هذه المقالة

بالنظر إلى المثال الوارد في مقالة ويكي، يمكننا أن نرى أن هذه الصيغة أعلاه تأخذ بالفعل الجذور التربيعية بتردد القوى الأولية.

مثل

10تعديل1331046{\displaystyle {\sqrt {10}}{\bmod {13^{3}}}\equiv 1046}

الآن أوجد قيمة2-1qت{\displaystyle 2^{-1}q^{t}}عبر:

2-110(133-2132+1)/2تعديل1331086{\displaystyle 2^{-1}10^{(13^{3}-2\cdot 13^{2}+1)/2}{\bmod {13^{3}}}\equiv 1086}

الآن قم بإنشاء(2+22-10)1327تعديل133{\displaystyle (2+{\sqrt {2^{2}-10}})^{13^{2}\cdot 7}{\bmod {13^{3}}}}و(2-22-10)1327تعديل133{\displaystyle (2-{\sqrt {2^{2}-10}})^{13^{2}\cdot 7}{\bmod {13^{3}}}} (انظر هنا للحصول على كود Mathematica الذي يوضح هذه العملية الحسابية أعلاه، مع الأخذ في الاعتبار أن شيئًا قريبًا من الحساب النمطي المعقد يحدث هنا)

كما:

(2+22-10)1327تعديل1331540{\displaystyle (2+{\sqrt {2^{2}-10}})^{13^{2}\cdot 7}{\bmod {13^{3}}}\equiv 1540} و(2-22-10)1327تعديل1331540{\displaystyle (2-{\sqrt {2^{2}-10}})^{13^{2}\cdot 7}{\bmod {13^{3}}}\equiv 1540}

والمعادلة النهائية هي:

1086(1540+1540)تعديل1331046{\displaystyle 1086(1540+1540){\bmod {13^{3}}}\equiv 1046} وهذا هو الجواب.

مراجع

  1. ديكسون، ليونارد يوجين (1919). تاريخ نظرية الأعداد . المجلد  1. واشنطن، مؤسسة كارنيجي في واشنطن. ص  218.
  2. ر. كراندال، س. بوميرانس، الأعداد الأولية: منظور حسابي، سبرينغر-فيرلاغ، (2001)، ص 157
  3. " خوارزمية إم. بيكر سيبولا لإيجاد الجذور التربيعية modulo p " (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 25 مارس 2017. تم الاطلاع عليه بتاريخ 24 أغسطس 2011 .
  4. تورناريا، غونزالو (2002). "الجذور التربيعية بتردد P" . LATIN 2002: المعلوماتية النظرية . سلسلة محاضرات في علوم الحاسوب. المجلد 2286. الصفحات 430-434 . doi : 10.1007/3-540-45995-2_38 . ISBN   978-3-540-43400-9.
  5. «تاريخ نظرية الأعداد»، المجلد الأول، بقلم ليونارد يوجين ديكسون، صفحة ٢١٨، دار نشر تشيلسي، ١٩٥٢، اقرأ عبر الإنترنت
  6. ميشيل سيبولا، Rendiconto dell' Accademia delle Scienze Fisiche e Matematiche. نابولي، (3)،10،1904، 144-150

مصادر

  • إي. باخ ، جيه أو شاليت، نظرية الأعداد الخوارزمية: خوارزميات فعالة، مطبعة معهد ماساتشوستس للتكنولوجيا، (1996)