طريقة أويلر للتحليل إلى عوامل
طريقة أويلر للتحليل هي أسلوب لتحليل عدد ما عن طريق كتابته كمجموع مربعين بطريقتين مختلفتين. على سبيل المثال، العدديمكن كتابتها على النحو التاليأو كماوتعطي طريقة أويلر التحليل إلى عوامل.
يبدو أن فكرة إمكانية الحصول على تحليل عدد فردي موجب من خلال تمثيلين مختلفين قد اقترحها مارين ميرسين لأول مرة . مع ذلك، لم تُستخدم هذه الفكرة على نطاق واسع إلا بعد مئة عام على يد أويلر. وكان أشهر استخداماته لهذه الطريقة، التي تحمل اسمه الآن، هو تحليل العدد إلى عوامله الأولية.، والذي كان يُعتقد سابقًا أنه عدد أولي على الرغم من أنه ليس عددًا أوليًا زائفًا وفقًا لأي اختبار رئيسي للأعداد الأولية.
تُعدّ طريقة أويلر للتحليل إلى عوامل أكثر فعالية من طريقة فيرما للأعداد الصحيحة التي لا تتقارب عواملها، وربما تكون أكثر كفاءة من القسمة التجريبية إذا أمكن إيجاد تمثيلات للأعداد كمجموع مربعين بسهولة نسبية. وتتشابه الطرق المستخدمة لإيجاد هذه التمثيلات مع طرق إيجاد الفروق بين المربعات في طريقة فيرما للتحليل إلى عوامل .
العيوب والقيود
تتمثل أبرز عيوب طريقة أويلر في التحليل إلى عوامل أولية في عدم إمكانية تطبيقها على تحليل أي عدد صحيح يحتوي على أي عامل أولي من الشكل 4k + 3 مرفوعًا لقوة فردية في تحليله إلى عوامل أولية، إذ لا يمكن لمثل هذا العدد أن يكون مجموع مربعين. كذلك، فإن الأعداد المركبة الزوجية والفردية من الشكل 4k + 1 غالبًا ما تكون حاصل ضرب عددين أوليين من الشكل 4k + 3 (مثلًا 3053 = 43 × 71)، ولا يمكن تحليلها باستخدام طريقة أويلر.
أدى هذا التطبيق المحدود إلى جعل طريقة أويلر للتحليل إلى عوامل أولية غير مفضلة في خوارزميات التحليل الحاسوبية ، إذ من غير المرجح أن يعرف أي مستخدم يحاول تحليل عدد صحيح عشوائي ما إذا كان من الممكن تطبيق طريقة أويلر على هذا العدد. ولم تظهر محاولات تطوير طريقة أويلر إلى خوارزميات حاسوبية لاستخدامها على أعداد محددة حيث يُعرف إمكانية تطبيق طريقة أويلر.
الأساس النظري
تنص متطابقة براهمغوبتا -فيوناتشي على أن حاصل ضرب مجموع مربعين يساوي مجموع مربعين. تعتمد طريقة أويلر على هذه النظرية، ولكن يمكن اعتبارها عكسها، بالنظر إلىنجدكحاصل ضرب مجموع مربعين.
استنتج أولاً أن
وقم بتحليل كلا الجانبين للحصول على
- (1)
والآن لنبدأوبحيث توجد بعض الثوابتمُرضٍ
- ،
- ،
- ،
- ،
وبتعويض هذه القيم في المعادلة (1) نحصل على
يؤدي حذف العوامل المشتركة إلى
والآن باستخدام حقيقة أنوإذا كانت أزواجًا من الأعداد الأولية فيما بينها، فإننا نجد أن
لذا
نرى الآن أنو
بتطبيق متطابقة براهمغوبتا-فيوناتشي نحصل على
بما أن كل عامل هو مجموع مربعين، فلا بد أن يحتوي أحدهما على عددين زوجيين: إماأودون الإخلال بعمومية المسألة، افترض أن الزوجعدد زوجي. يصبح التحليل إلى عوامل عندئذٍ
مثال عملي
منذ:
لدينا من الصيغة أعلاه:
| أ = 1000 | (أ) أ - ج = 28 | k = gcd[A,C] = 4 |
| ب = 3 | (ب) أ + ج = 1972 | h = gcd[B,D] = 34 |
| ج = 972 | (ج) د - ب = 232 | ل = القاسم المشترك الأكبر[أ، د] = 14 |
| د = 235 | (د) د + ب = 238 | م = القاسم المشترك الأكبر[ب، ج] = 116 |
هكذا،
الشفرة الزائفة
دالة Euler_factorize(int n) -> list[int] إذا كان n عددًا أوليًا، print("العدد غير قابل للتحليل إلى عوامله الأولية") دالة الخروج حلقة تكرارية من a=1 إلى a=ceiling(sqrt(n)) b2 = n - a*a b = floor(sqrt(b2)) إذا كان b*b==b2 كسر الحلقة مع الحفاظ على a و b إذا كان a*a+b*b!=n فإن print("لم يتم العثور على أي تعبير لـ n كمجموع مربعات") دالة الخروج حلقة تكرارية من c=a+1 إلى c=ceiling(sqrt(n)) د2 = ن - ج*ج د = الجزء الصحيح من (جذر(د2)) إذا كان d*d==d2 فإن كسر الحلقة مع الحفاظ على c،d إذا كان c*c+d*d!=n فإن print("فشل في إيجاد تعبير ثانٍ لـ n كمجموع مربعات") دالة الخروج أ = ج أ، ب = ج + أ ج = ب د، د = ب + د ك = GCD(A,C)//2, h = GCD(B,D)//2 l = GCD(A,D)//2, m = GCD(B,C)//2 العامل 1 = k*k + h*h العامل 2 = ل × ل + م × م إرجاع قائمة[ العامل1، العامل2 ]مراجع
- أور، أويستين (1988). "طريقة أويلر للتحليل إلى عوامل" . نظرية الأعداد وتاريخها . مؤسسة كورير. ص 59-64 . ISBN 978-0-486-65620-5.
- ماكي، جيمس (1996). "تحويل طريقة أويلر للتحليل إلى خوارزمية تحليل". نشرة الجمعية الرياضية في لندن . 4 (28): 351-355 . doi : 10.1112/blms/28.4.351 .
- خوارزميات تحليل الأعداد الصحيحة إلى عواملها الأولية
