חשבון מודולרי

חשבון מוֹדוּלַרי (הידוע גם כחשבון קונגרואנציות) הוא שיטה מתמטית, בה מחליפים מספרים בשארית החלוקה במספר קבוע. לדוגמה, בחשבון מודולו 7 מתקיים השוויון 5 + 6 = 4 {\displaystyle \,5+6=4\,} , מכיוון ש: 5 + 6 = 11 {\displaystyle 5+6=11} , ושארית החילוק של 11 ב-7 היא 4. הדוגמה הידועה ביותר לחשבון מודולרי היא החשבון על-פני השעון, שהוא חשבון מודולרי מודולו 24. כאשר השעה כעת היא 20:00, ואנו רוצים לדעת מה תהיה השעה 9 שעות מאוחר יותר, הפעולה שאנו עושים היא 20 + 9 ≡ 5 ( mod 24 ) {\displaystyle \!\,20+9\equiv 5{\pmod {24}}} . יהי n מספר טבעי. המספרים a,b שקולים מודולו n אם n מחלק את ההפרש a-b. המספרים a,b שקולים אם ורק אם הם נותנים אותה שארית בחלוקה ב-n. במקרה זה מסמנים   a ≡ b ( mod n ) {\displaystyle \ a\equiv b{\pmod {n}}} . (אומרים גם ש-a,b קונגרואנטיים מודולו n). החשבון המודולרי מודולו   n {\displaystyle \ n} מתבצע באופן פורמלי על אוסף מחלקות שקילות של המספרים השלמים, כאשר יחס השקילות הוא היחס שהוגדר בפסקה הקודמת. אפשר לבחור במספרים השלמים מ-   0 {\displaystyle \ 0} ועד   n − 1 {\displaystyle \ n-1} כנציגים סטנדרטיים של המחלקות, ואז התוצאה של חישוב מודולרי תהיה מוגבלת לקבוצת השאריות האפשריות המתקבלות מחילוק מספר כלשהו ב   n {\displaystyle \ n} . יחס השקילות המודולרית הוא אכן יחס שקילות, כלומר הוא רפלקסיבי:   a ≡ a ( mod n ) {\displaystyle \ a\equiv a{\pmod {n}}} . סימטרי: אם   a {\displaystyle \ a} שקול ל-   b {\displaystyle \ b} אז   b {\displaystyle \ b} שקול ל-   a {\displaystyle \ a} . טרנזיטיבי: אם   a ≡ b ( mod n ) {\displaystyle \ a\equiv b{\pmod {n}}} וכן   b ≡ c ( mod n ) {\displaystyle \ b\equiv c{\pmod {n}}} אזי   a ≡ c ( mod n ) {\displaystyle \ a\equiv c{\pmod {n}}} . בנוסף לזה, פעולות החיבור והכפל בין מחלקות השקילות מוגדרות היטב: אם   a ≡ b ( mod n ) {\displaystyle \ a\equiv b{\pmod {n}}} וכן   c ≡ d ( mod n ) {\displaystyle \ c\equiv d{\pmod {n}}} , אז   a + c ≡ b + d ( mod n ) {\displaystyle \ a+c\equiv b+d{\pmod {n}}} וכן   a c ≡ b d ( mod n ) {\displaystyle \ ac\equiv bd{\pmod {n}}} . לכן קבוצת המספרים השלמים מודולו   n {\displaystyle \ n} מהווה חוג קומוטטיבי, עם הכפל והחיבור הטבעיים, שאותו מסמנים ב-   Z n {\displaystyle \ \mathbb {Z} _{n}} או ב-   Z / n Z {\displaystyle \ \mathbb {Z} /n\mathbb {Z} } (הסימון האחרון רומז לכך שזהו חוג מנה של חוג המספרים השלמים ביחס לאידיאל של המספרים המתחלקים ב-n). החוג הזה הוא תחום שלמות אם ורק אם   n {\displaystyle \ n} מספר ראשוני (ואז הוא שדה). איבר   a ∈ Z n {\displaystyle \ a\in \mathbb {Z} _{n}} הוא הפיך אם קיים   b ∈ Z n {\displaystyle \ b\in \mathbb {Z} _{n}} כך ש-   a b ≡ 1 ( mod n ) {\displaystyle \ ab\equiv 1{\pmod {n}}} . במקרה זה, b הוא ההופכי כפלי של a. את ההופכי שלו מסמנים כנהוג ב-   a − 1 {\displaystyle \ a^{-1}} . מציאת הופכי כפלי מודולרי, כלומר פתרון המשוואה   a x ≡ 1   ( mod  n ) {\displaystyle \ ax\equiv 1\ ({\mbox{mod }}n)} , נעשית באמצעות אלגוריתם אוקלידס המורחב, המספק ערכים x,y המקיימים   a x + n y = 1 {\displaystyle \ ax+ny=1} , משום שאז   a x ≡ 1 ( mod n ) {\displaystyle \ ax\equiv 1{\pmod {n}}} . לדוגמה: ההופכי כפלי של   a = 8   ( mod  19 ) {\displaystyle \ a=8\ ({\mbox{mod }}19)} הוא   12 {\displaystyle \ 12} כיוון ש-   19 ⋅ 3 + 8 ⋅ − 7 = 1 {\displaystyle \ 19\cdot 3+8\cdot -7=1} לכן   a − 1 = − 7 = 19 − 7 = 12 {\displaystyle \ a^{-1}=-7=19-7=12} . ערך מורחב – חילוק מודולרי כפל של   a {\displaystyle \ a} , בהופכי כפלי של שלם   b {\displaystyle \ b} כלשהו שקול לחילוק ב-   b {\displaystyle \ b} , כלומר   a b − 1 {\displaystyle \ ab^{-1}} שקול ל-   a / b {\displaystyle \ a/b} (מודולו   n {\displaystyle \ n} ). מכיוון שלא כל מספר הפיך מודולו n, לא תמיד אפשר לחלק שוויונות מודולריים. למעשה, אם   a x ≡ a y ( mod n ) {\displaystyle \ ax\equiv ay{\pmod {n}}} , אז מובטח רק ש-   x ≡ y ( mod n ( a , n ) ) {\displaystyle \ x\equiv y{\pmod {\frac {n}{(a,n)}}}} . שני מספרים שלמים נקראים זרים אם המחלק המשותף המרבי שלהם הוא 1. פונקציית אוילר המסומנת   ϕ ( n ) {\displaystyle \ \phi (n)} מייצגת את מספר השלמים בטווח   [ 1 , n − 1 ] {\displaystyle \ [1,n-1]} הזרים ל-   n {\displaystyle \ n} . כלומר שהמחלק המשותף המרבי שלהם עם   n {\displaystyle \ n} הוא   1 {\displaystyle \ 1} . אם   n {\displaystyle \ n} ראשוני אזי כל המספרים עד   n − 1 {\displaystyle \ n-1} זרים ל-   n {\displaystyle \ n} , כיוון שמספר ראשוני אינו מתחלק באף אחד מהמספרים הנמוכים ממנו מעצם ההגדרה. משפט אוילר קובע שעבור כל שלם a {\displaystyle a} שזר ל- n {\displaystyle n} מתקיים   a ϕ ( n ) ≡ 1   ( mod  n ) {\displaystyle \ a^{\phi (n)}\equiv 1\ ({\mbox{mod }}n)} . כאשר p {\displaystyle p} מספר ראשוני מתקבל כמקרה פרטי המשפט הקטן של פרמה:   a p − 1 ≡ 1 ( mod p ) {\displaystyle \ a^{p-1}\equiv 1{\pmod {p}}} , לכל a {\displaystyle a} שלא מתחלק ב- p {\displaystyle p} . פעולת החיבור בחשבון מודולרי היא, בדומה לחיבור הרגיל, קומוטטיבית ואסוציאטיבית, וכן יש בה איבר יחידה (0), ולכל מספר יש איבר נגדי. לפיכך חיבור בחשבון מודולרי יוצר חבורה קומוטטיבית שהיא החבורה הציקלית מסדר n. גם פעולת הכפל בחשבון מודולרי היא קומוטטיבית ואסוציאטיבית, ואיבר היחידה בה הוא 1, אך לא לכל איבר יש איבר הופכי (כלומר, כזה שמכפלתם של שני האיברים תהיה איבר היחידה 1). לכן אוסף השאריות מודולו n הוא מונואיד ולא חבורה. במונואיד הזה יש מחלקי אפס, כגון 4 ⋅ 3 ≡ 0 ( mod 6 ) {\displaystyle \!\,4\cdot 3\equiv 0{\pmod {6}}} . לאבר שהוא מחלק אפס לא יכול להיות הפכי כפלי; ובמונואיד של השאריות מודולו n זו המניעה היחידה לקיומו של הפכי. מספר הוא הפיך מודולו n אם הוא זר ל-n, ומחלק אפס אחרת. אוסף השאריות השונות מאפס הוא חבורה אם ורק אם n ראשוני. באופן כללי יותר, אוסף השאריות ההפיכות נקרא חבורת אוילר של n. גדי אלכסנדרוביץ', אז מה זה בעצם חשבון מודולרי?, באתר "לא מדויק" חשבון מודולרי, באתר MathWorld (באנגלית) חשבון מודולרי, באתר אנציקלופדיה בריטניקה (באנגלית)