תורת המספרים ־ הרצאה 9

‫תורת המספרים ־ הרצאה ‪9‬‬
‫‪ 26‬בנובמבר ‪2014‬‬
‫קונגרואנציות פולינומיאליות‬
‫פולינום ]‪) p(x) ∈ Z[x‬עם מקדמים שלמים(‪.‬‬
‫רוצים לפתור )‪p(x) ≡ 0 ( mod n‬‬
‫משפט לגרנג'‬
‫אם ‪ p‬ראשוני‪ ,‬אז למשוואה )‪ p(x) ≡ 0 ( mod p‬יש לכל היותר )‪ deg(p‬פתרונות‪.‬‬
‫משפט‬
‫כדי לפתור את‬
‫)‪(∗) p(x) ≡ 0 ( mod n‬‬
‫כאשר ל־‪ n‬הפירוק לראשוניים ‪ n = pe11 · ... · pel l‬מספיק לפתור‬
‫) ‪p(x) ≡ 0 ( mod pei i‬‬
‫)∗∗(‬
‫‪ ,‬ומהם ניתן לשחר את הפתרונות מודולו ‪.n‬‬
‫ראינו איך למצוא את הפתרונות בעזרת משפט השאריות הסיני‪.‬‬
‫ראינו גם שאם ל־ )∗( יש ‪ s‬פתרונות ול־ )∗∗( יש ‪ si‬פתרונות אז ‪si‬‬
‫דוגמה‬
‫)‪x3 + 3x − 4 ≡ 0 ( mod 175‬‬
‫ניתן לראות כי ‪.175 = 52 · 7‬‬
‫המשוואה הנ"ל שקולה ל־‬
‫(‬
‫) ‪x3 + 3x − 4 ≡ 0 ( mod 52‬‬
‫)‪x3 + 3x − 4 ≡ 0 ( mod 7‬‬
‫‪1‬‬
‫‪Ql‬‬
‫‪i=1‬‬
‫= ‪.s‬‬
‫כיצד נפתור ) ‪ p(x) ≡ 0 ( mod pe‬כאשר ‪ p‬ראשוני?‬
‫נבחין שאם ‪ x‬פתרון‪ ,‬אז ‪ x‬פותר גם את ) ‪ p(x) ≡ 0 ( mod pj‬עבור ‪.1 ≤ j ≤ e‬‬
‫נראה דרך לעבור מפתרון מודולו ‪ p‬לפתרון‪/‬נות מודולו ‪ p2‬ומשם הלאה עד ‪.pe‬‬
‫נשים לב ש־‬
‫‪p00 (r) 2‬‬
‫‪z + ...‬‬
‫!‪2‬‬
‫‪p(r + z) = p(r) + p0 (r) · z +‬‬
‫)טור טיילור(‪.‬‬
‫המקדמים ‪ p(r), p0 (r), ...‬שלמים עבור ‪ r‬שלם‪ ,‬כיוון ש־‬
‫= ‪ai i(i − 1) · ... · (i − s + 1)xi−s‬‬
‫‪m‬‬
‫‪X‬‬
‫= )‪p(s) (x‬‬
‫‪i=s‬‬
‫‪m‬‬
‫‪X‬‬
‫!‪i‬‬
‫= ‪xi−s‬‬
‫‪(i‬‬
‫‪−‬‬
‫!)‪s‬‬
‫‪i=s‬‬
‫ ‬
‫‪m‬‬
‫‪X‬‬
‫‪i i−s‬‬
‫!‪= s‬‬
‫‪ai‬‬
‫‪x‬‬
‫‪s‬‬
‫‪i=s‬‬
‫‪{z‬‬
‫}‬
‫|‬
‫‪ai‬‬
‫=‬
‫‪∈Z‬‬
‫כעת‪ ,‬נייח כי קיים פתרון בו )‪ x ≡ r ( mod p‬ל־ )‪ .p(x) ≡ 0 ( mod p‬נרשום ‪ ,x = r + pk‬ונציב‬
‫למעלה‪:‬‬
‫‪p(r + pk) = p(r) + p0 (r) · pk + p2 · a‬‬
‫כאשר ‪ a‬שלם‪ ,‬כיוון ש־ ‪ a‬חזקה של שלם‪.‬‬
‫לכן‬
‫‬
‫‪mod p2‬‬
‫‪p(r + pk) ≡ p(r) + p0 (r) · pk‬‬
‫כעת‪ ,‬נשתמש בכך ש־ )‪ p(r) ≡ 0 ( mod p‬ונרשום ‪ p(r) ≡ a · p‬לכן אם נחפש פתרון מודולו ‪,p2‬‬
‫‬
‫‪0‬‬
‫≡‬
‫‪p(r + pk) ≡ a · p + p0 (r) · pk‬‬
‫‪mod p2‬‬
‫⇒⇐‬
‫‪0‬‬
‫≡‬
‫)‪a + p0 (r)k ( mod p‬‬
‫)פשוט נוכל לצמצם את המשוואה העליונה ב־ ‪.(p‬‬
‫‪2‬‬
‫כעת ישנם שלושה מקרים‪:‬‬
‫‪ .1‬אם )‪ p0 (r) 6≡ 0 ( mod p‬נקבל )‪ k ≡ (−a)[p0 (r)]−1 ( mod p‬ומכאן שקיים פתרון יחיד ‪x‬‬
‫מודולו ‪ p2‬המקיים )‪) x ≡ r ( mod p‬הרמה יחידה(‪.‬‬
‫≡ ‪ ,a‬נסיק שאין פתרון ‪ x‬מודולו ‪ p2‬המקיים‬
‫‪ .2‬אם )‪ p0 (r) ≡ 0 ( mod p‬ו־ )‪6 0 ( mod p‬‬
‫)‪) x ≡ r ( mod p‬לא קיימת הרמה עבור ‪ r‬זה(‪.‬‬
‫‪ .3‬אם )‪ p0 (r) ≡ 0 ( mod p‬ו־ )‪ ,a ≡ 0 ( mod p‬אז כל ‪ k‬הוא פתרון‪ ,‬כלומר כל ‪ x‬מהצורה‬
‫‪ x ≡ r + pk‬הוא פתרון מודולו ‪ p2‬המקיים )‪) x ≡ r ( mod p‬הרמה ל־ ‪ p‬פתרונות שונים‬
‫מודולו ‪.(p2‬‬
‫כעת נרצה להרים פתרונות מודולו ‪ p2‬לפתרונות מודולו ‪ p3‬או ‪ .pj‬שוב‪ ,‬אם ‪ x = r + p2 k‬אז‬
‫‬
‫‪p r + p2 k = p(r) + p0 (r) · p2 k + p4 · t‬‬
‫כאשר שוב‪.t ∈ Z ,‬‬
‫כלומר‬
‫‬
‫‬
‫‪p r + p2 k = p(r) + p0 (r) · p2 k‬‬
‫‪mod p3‬‬
‫ושוב נרשום ‪ p(r) = ap2‬ואז‬
‫‬
‫‪mod p3‬‬
‫‪p(r) + p0 (r)p2 k‬‬
‫)‪a + p0 (r) · ( mod p‬‬
‫≡‬
‫⇒⇐‬
‫≡‬
‫ונוכל להמשיך כמו קודם‪ .‬עדיין )‪ p0 (r) ( mod p‬כפי שהיה קודם‪.‬‬
‫נחזור לקודם שראינו מקודם‪.‬‬
‫דוגמה‬
‫‪p(x) = x3 + 3x − 4‬‬
‫(‬
‫) ‪x3 + 3x − 4 ≡ 0 ( mod 52‬‬
‫)‪x3 + 3x − 4 ≡ 0 ( mod 7‬‬
‫‪3‬‬
‫‪0‬‬
‫‪0‬‬
‫נתחיל בלפתור מודולו ‪ :7‬נעבור על האפשרויות‪:‬‬
‫(‬
‫‪p(0) ≡ −4‬‬
‫)‪( mod 7‬‬
‫‪p(1) ≡ 0‬‬
‫כעת‪ ,‬נוכל לחלק את )‪ p(x‬ב־ ‪ .x − 1‬נקבל‪:‬‬
‫‪x3 + 3x − 4‬‬
‫)‪= x2 + x + 4 = q(x‬‬
‫‪x−1‬‬
‫כלומר‪ ,‬מספיק לנו רק לבדוק את )‪ .q(x‬נמשיך עם המספרים מודולו ‪:7‬‬
‫‪‬‬
‫‪‬‬
‫‪q(2) ≡ 3‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪q(3) ≡ 2‬‬
‫‪( mod 7) q(4) ≡ 3‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪q(5) ≡ −1‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪q(6) ≡ 4‬‬
‫קיבלנו שרק )‪.p(1) ≡ 0 ( mod 7‬‬
‫נפתור כעת מודולו ‪ .52‬נפתור קודם מודולו ‪.5‬‬
‫‪≡ −4‬‬
‫‪≡0‬‬
‫‪≡0‬‬
‫‪≡2‬‬
‫‪≡2‬‬
‫‪‬‬
‫‪‬‬
‫)‪p(0‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫)‪p(1‬‬
‫)‪( mod 5) p(2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫)‪p(3‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫)‪p(4‬‬
‫לכן ישנם שני פתרונות מודולו ‪ x = 1 :5‬ו־ ‪.x = 2‬‬
‫נרצה למצוא את כל ההרמות לפתרונות אלה‪.‬‬
‫)‪x ≡ 1 ( mod 5‬‬
‫נרשום ‪ .x = 1 + 5k‬נחשב ‪ .p0 (x) = 3x2 + 3‬כעת‪ ,‬נרצה ש־‬
‫‬
‫‪p(r) + p0 (r) · 5k ≡ 0‬‬
‫‪mod 52‬‬
‫]‪[r ≡ 1‬‬
‫נציב ) ‪ ,p(r) ≡ p(1) ≡ 0 ( mod 52‬ו ) ‪p0 (r) ≡ p0 (1) ≡ 6 ( mod 52‬‬
‫‬
‫‪mod 52‬‬
‫‪0‬‬
‫)‪0 ( mod 5‬‬
‫⇒⇐‬
‫≡‬
‫⇒⇐‬
‫≡‬
‫‪4‬‬
‫‪0+6·5·k‬‬
‫‪6k‬‬
‫)‪x ≡ 2 ( mod 5‬‬
‫)‪.x = 2 + 5k ,r ≡ 2 ( mod 5‬‬
‫‬
‫‪mod 52‬‬
‫‬
‫‪mod 52‬‬
‫‪p(2) = 10 ≡ 10‬‬
‫‪p0 (2) = 15 ≡ 15‬‬
‫לכן‬
‫‬
‫‪2‬‬
‫‪mod 5‬‬
‫‪0‬‬
‫)‪0 ( mod 5‬‬
‫)‪0 ( mod 5‬‬
‫≡‬
‫⇒⇐‬
‫≡‬
‫⇒⇐‬
‫≡‬
‫‪p(r) + p0 (r) · 5k‬‬
‫‪10 + 15 · 5k‬‬
‫‪2‬‬
‫כלומר‪ ,‬אין הרמה‪.‬‬
‫מצאנו שהפתרונות היחידים מודולו ‪ 52‬ו־ ‪ 7‬הם ) ‪ x ≡ 1 ( mod 52‬ו־ )‪.x ≡ 1 ( mod 7‬‬
‫נחפש פתרון מודולו ‪ .175‬כלומר‪ x ,‬כך ששתי המשוואות הנ"ל מתקיימות‪ .‬נקבל )‪x ≡ 1 ( mod 175‬‬
‫הוא הפתרון היחיד מודולו ‪.175‬‬
‫שורשים פרימיטיביים‬
‫ניזכר במשפט אוילר‪ ,‬לכל ‪ a‬זר ל־ ‪ n‬מתקיים )‪.aφ(n) ≡ 1 ( mod n‬‬
‫הגדרה‬
‫יהי ‪ n‬טבעי‪ .‬מספר ‪ a‬זר ל־ ‪ n‬נקרא שורש פרימיטיבי מודולו ‪ n‬אם הטבעי המינימלי ‪ b‬כך ש־ ( ‪ab ≡ 1‬‬
‫)‪ mod n‬הוא )‪.φ(n‬‬
‫הגדרה‬
‫יהי ‪ n‬טבעי‪ a ,‬זר ל־ ‪ .n‬הסדר של )‪ a ( mod n‬מסומן )‪ ordn (a‬הוא הטבעי המינימלי ‪ b‬כך ש־‬
‫)‪.ab ≡ 1 ( mod n‬‬
‫למשל‪ ordn (1) = 1 ,‬ו־ )‪ a ⇐⇒ ordn (a) = φ(n‬הוא שורש פרימיטיבי‪.‬‬
‫ממשפט אוילר‪.ordn (a) ≤ φ(n) ,‬‬
‫ניזכר בדוגמה שהייתה‪ :‬אם ‪ n = r · s‬עבור ‪ r, s > 2‬זרים‪ ,‬אז לכל ‪ a‬זר ל־ ‪≡ 1 ( mod n) n‬‬
‫‪1‬‬
‫)‪φ(n‬‬
‫‪2‬‬
‫כלומר‪ ,‬עבור ‪ n‬כזה אין שורש פרימיטיבי‪ .‬נראה בהמשך שקיים שורש פרימיטיבי מודולו ‪ n‬אמ"מ‬
‫‪n = 2, n = 4, n = pj , n = 2pj‬‬
‫עבור ‪ p ≥ 3‬ראשוני‪.‬‬
‫‪5‬‬
‫‪.a‬‬
‫טענה‬
‫יהי ‪ n‬טבעי‪ a .‬זר ל־ ‪ .n‬בעצם‪ ak ≡ 1 ( mod n) ,‬אמ"מ ‪ .ordn (a)|k‬בפרט‪.ordn (a)|φ(n) ,‬‬
‫הוכחה‬
‫⇒ ברור‬
‫⇐ נחלק את ‪ k‬ב־ )‪ ordn (a‬עם שארית‬
‫‪k = q · ordn (a) + r,‬‬
‫)‪0 ≤ r < ordn (a‬‬
‫ונבחין ש־‬
‫‪q‬‬
‫‬
‫)‪1 ≡ ak ≡ aq·ordn (a)+r ≡ aordn (a) · ar ≡ ar ( mod n‬‬
‫מהגדרת )‪ ordn (a‬נובע ש־ ‪) r = 0‬כי הסדר הוא הטבעי המינימלי שמקיים את הנ"ל‪ ,‬ולקחנו את ‪r‬‬
‫להיות קטן ממש מהסדר(‪ ,‬כלומר ‪ .ordn (a)|k‬כנדרש‪.‬‬
‫דוגמה‬
‫מצא )‪.ord19 (5‬‬
‫ראשית‪ .φ(19) = 18 ,‬לכן }‪.ord19 (5) ∈ {1, 2, 3, 6, 9, 18‬‬
‫כעת‪,‬‬
‫)‪6 ( mod 19‬‬
‫)‪6 · 5 ≡ 11 ( mod 19‬‬
‫)‪112 ≡ (−8)2 ≡ 64 ≡ 7 ( mod 19‬‬
‫)‪56 · 53 ≡ 7 · 11 ≡ 77 = 1 ( mod 19‬‬
‫כלומר‪.ord19 (5) = 9 ,‬‬
‫נראה כעת שאם ידוע )‪ ordn (a‬קל לחשב את ) ‪.ordn (am‬‬
‫נניח כי‬
‫)‪am·r ≡ 1 ( mod n‬‬
‫עבור ‪ .r ≥ 1‬ע"פ הטענה‪ ,‬הנ"ל מתקיים אמ"מ‬
‫‪d = ordn (a)|m · r‬‬
‫‪6‬‬
‫≡‬
‫≡‬
‫≡‬
‫≡‬
‫‪52‬‬
‫‪53‬‬
‫‪56‬‬
‫‪59‬‬
‫כלומר‪ .m · r ≡ 0 ( mod d) ,‬נסמן )‪ .g = gcd(m, d‬אז‬
‫‬
‫‬
‫‪m‬‬
‫‪d‬‬
‫⇒⇐ )‪( mod d‬‬
‫‪r≡0‬‬
‫‪mod‬‬
‫⇒⇐‬
‫‪g‬‬
‫‪g‬‬
‫‬
‫‬
‫‪d‬‬
‫)‪ordn (a‬‬
‫‪d‬‬
‫= ‪⇐⇒ r = k‬‬
‫‪·k‬‬
‫‪r≡0‬‬
‫‪mod‬‬
‫‪g‬‬
‫‪g‬‬
‫))‪gcd (m, ordn (a‬‬
‫כאשר המעבר הראשון טריוויאלי‪ ,‬והשני נובע מהעובדה ש־‬
‫‪. dg‬‬
‫‪m‬‬
‫‪g‬‬
‫ו‬
‫‪d‬‬
‫‪g‬‬
‫≡‬
‫‪mr‬‬
‫⇒⇐‬
‫זרים‪ ,‬ולכן קיים הפיך ל־‬
‫‪m‬‬
‫‪g‬‬
‫מודולו‬
‫ואז‪:‬‬
‫)‪ordn (a‬‬
‫))‪gcd (m, ordn (a‬‬
‫= ) ‪ordn (am‬‬
‫)כי אנחנו מחפשים את הטבעי המינימלי‪ ,‬אז נציב ‪.(k = 1‬‬
‫דוגמה‬
‫‪9‬‬
‫‪=3‬‬
‫)‪gcd(6, 9‬‬
‫‬
‫= ‪ord19 56‬‬
‫טענה‬
‫אם ‪ a‬שורש פרימיטיבי מודולו ‪ ,n‬אז‬
‫})‪Z∗n = {am : 1 ≤ m ≤ φ(n‬‬
‫הוכחה‬
‫מספיק להראות שכל המספרים בקבוצה זו שונים מודולו‪ ,‬כיוון שברור שכולם ב־ ‪ .(???) Z∗n‬אילו‬
‫)‪ ar ≡ as ( mod n‬עבור )‪ ,1 ≤ r ≤ s ≤ φ(n‬אז‬
‫)‪as−r ≡ 1 ( mod n‬‬
‫ולכן ‪ ,φ(n) = ordn (a)|s − r‬ומכאן ש־ ‪) s = r‬כי כאמור‪.(r, s ≤ φ(n) ,‬‬
‫מסקנה‬
‫יהי ‪ a‬שורש פרימיטיבי מודולו ‪ .n‬אז ‪ am‬שורש פרימיטיבי מודולו ‪ n‬אמ"מ ‪) gcd(m, φ(n)) = 1‬נובע‬
‫ישירות מהנוסחה שראינו קודם ל־ ) ‪.(ordn (am‬‬
‫לכן‪ ,‬ישנם בדיוק ))‪ φ(φ(n‬שורשים פרימיטיביים מודולו ‪) n‬אם קיים שורש אחד(‪.‬‬
‫‪7‬‬
‫משפט‬
‫יהי ‪ p‬ראשוני‪ ,‬אז קיים שורש פרימיטיבי מודולו ‪.p‬‬
‫שאלה פתוחה‪ :‬האם קיימים אינסוף ראשוניים ‪ p‬כך שהמספר ‪ 2‬הוא שורש פרימיטיבי מודולו ‪?p‬‬
‫הוכחה‬
‫נשים לב כי ‪ φ(p) = p − 1‬ולכן הסדרים האפשריים ל־ ‪ a‬שזר ל־‪ p‬הם מחלקי ‪.p − 1‬‬
‫יהי ‪ ,d|p − 1‬נגדיר את הפונ'‪:‬‬
‫|}‪ψ(d) = |{0 ≤ a < p | ordp (a) = d‬‬
‫נראה כי )‪ ,ψ(d) = φ(d‬ומכאן ינבע ש־ ‪ ,ψ(p − 1) = φ(p − 1) ≥ 1‬ולכן קיים שורש פרימיטיבי‪.‬‬
‫לפי ההגדרה‪:‬‬
‫‪ψ(d) = p − 1‬‬
‫‪X‬‬
‫‪d|p−1‬‬
‫כי ???‬
‫ניזכר גם ש־‬
‫‪φ(d) = p − 1‬‬
‫‪X‬‬
‫‪d|p−1‬‬
‫נסתמך על כך בהוכחה‪.‬‬
‫שלב א'‬
‫נראה כי אם ‪ ψ(d) > 0‬עבור ‪ ,d|p − 1‬אז )‪ φ(d) = ψ(d‬עבור ‪ d‬זה‪.‬‬
‫שלב ב'‬
‫נובע ש־‬
‫‪φ(d) = 0‬‬
‫‪X‬‬
‫‪d|p−1‬‬
‫‪ψ(d)=0‬‬
‫ע"י החסרת הסכום התחתון מהסכום העליון‪.‬‬
‫כיוון ש־ ‪ φ(d) ≥ 1‬לכל ‪ ,d‬ינבע ש־ ‪ ψ(d) 6= 0‬לכל ‪.d|p − 1‬‬
‫בסה"כ )‪ ψ(d) = φ(d‬לכל ‪.d|p − 1‬‬
‫‪8‬‬