Aritmetika modular: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k mengubah kata "coprime" menjadi "koprima", dan "relasi ekuivalen" menjadi "relasi ekuivalensi". Juga memberikan paranala dalam menuju artikel-artikel tersebut.
HsfBot (bicara | kontrib)
k clean up
Baris 11:
[[Bilangan bulat]] {{math|''n'' > 1}}, disebut '' 'modulus' '', dua bilangan bulat dikatakan '''kongruen''' modulo {{mvar | n}}, jika {{mvar | n}} adalah [[pembagian]] dari perbedaannya (yaitu, jika ada bilangan bulat {{math | '' k ''}} sehingga {{math|1=''a'' − ''b'' = ''kn''}}).
 
Modulo kongruensi {{mvar | n}} adalah [[relasi kekongruenan]], artinya ini adalah [[relasi ekuivalensi]] yang kompatibel dengan operasi [[penambahan]], [[pengurangan]], dan [[perkalian]]. Modulo kongruensi {{mvar | n}} dilambangkan:
 
:<math>a \equiv b \pmod n.</math>
Baris 42:
 
== Sifat ==
Relasi kesesuaian memenuhi semua kondisi dari [[relasi ekuivalen|relasi ekuivalensi]]si:
* Refleksivitas: {{math|''a'' ≡ ''a'' (mod ''n'')}}
* Simetri: {{math|''a'' ≡ ''b'' (mod ''n'')}} jika {{math|''b'' ≡ ''a'' (mod ''n'')}} untuk {{math|''a''}}, {{math|''b''}}, dan {{math|''n''}}.
Baris 71:
* Jika {{math|''a x'' ≡ ''b'' (mod ''n'')}} dan {{math | '' a ''}} koprima dengan {{math | '' n ''}}, maka solusi untuk kongruensi linear ini diberikan oleh {{math|''x'' ≡ ''a''<sup>–1</sup>''b'' (mod ''n'')}}
 
Perkalian invers {{math|''x'' ≡ ''a''<sup>–1</sup> (mod ''n'')}} dapat dihitung secara efisien dengan menyelesaikan [[identitas Bézout | Persamaan Bézout]] <math> ax + ny = 1 </math> untuk <math> x, y </math>, menggunakan [[algoritme Euklides diperluas]].
 
Secara khusus, jika {{math | '' p ''}} adalah bilangan prima, maka {{math | '' a ''}} coprima dengan {{math | '' p ''}} untuk {{math | '' a ''}} sehingga {{math|0 < ''a'' < ''p''}}; sehingga invers perkalian ada untuk semua {{math | '' a ''}} yang tidak kongruen dengan nol modulo {{math | '' p ''}}.
Baris 82:
* [[Teorema Wilson]]: {{math|''p''}} is prime if and only if {{math|(''p'' − 1)! ≡ −1 (mod ''p'')}}.
* [[Teorema sisa Cina]]: Untuk {{math | '' a ''}}, {{math | '' b ''}}, dan koprima {{math | '' m ''}}, {{math | ' 'n' '}}, maka {{math|''x'' (mod ''mn'')}} seperti {{math|''x'' ≡ ''a'' (mod ''m'')}} dan {{math|''x'' ≡ ''b'' (mod ''n'')}}. Faktanya, {{math|''x'' ≡ ''b m''<sub>''n''</sub><sup>–1</sup> ''m'' + ''a n''<sub>''m''</sub><sup>–1</sup> ''n'' (mod ''mn'')}} dimana {{math|''m''<sub>''n''</sub><sup>−1</sup>}} adalah kebalikan dari {{math | '' m ''}} modulo {{math | '' n ''}} dan {{math|''n''<sub>''m''</sub><sup>−1</sup>}} adalah kebalikan dari {{math | '' n ''}} modulo {{math | '' m ''}}.
* [[Teorema Lagrange (teori bilangan) | Teorema Lagrange]]: Kesesuaian {{math|''f'' (''x'') ≡ 0 (mod ''p'')}}, dengan {{math | '' p ''}} adalah bilangan prima, dan {{math|''f'' (''x'') {{=}} ''a''<sub>0</sub> ''x''<sup>''n''</sup> + ... + ''a''<sub>''n''</sub>}} adalah [[polinomial]] dengan koefisien bilangan bulat {{math|''a''<sub>0</sub> &ne; 0 (mod ''p'')}}, memiliki akar {{math | '' n ''}}.
* [[Akar primitif modulo n]]: Bilangan {{math | '' g ''}} adalah akar primitif modulo {{math | '' n ''}}, untuk bilangan bulat {{math | '' a '' }} koprima dengan {{math | '' n ''}}, bilangan bulat {{math | '' k ''}} adalah {{math|''g''<sup>''k''</sup> ≡ ''a'' (mod ''n'')}}. Sebuah root modulo {{math | '' n ''}} ada jika dan hanya jika {{math | '' n ''}} sama dengan {{math|2, 4, ''p''<sup>''k''</sup>}} atau {{math| 2''p''<sup>''k''</sup>}}, dengan {{math | '' p ''}} adalah bilangan prima ganjil dan {{math | '' k ''}} adalah bilangan bulat positif. Jika aka4 modulo {{math | '' n ''}} primitif ada, maka persis ada {{math|''φ''(''φ''(''n''))}} akar primitif, di mana {{math | '' φ ''}} adalah fungsi total Euler.
* [[Residu kuadrat]]: Bilangan bulat {{math | '' a ''}} adalah modulo residu kuadrat {{math | '' n ''}}, jika terdapat bilangan bulat {{math | '' x ''}} seperti yang {{math|''x''<sup>2</sup> ≡ ''a'' (mod ''n'')}}. [[Kriteria Euler]] menegaskan bahwa, jika {{math | '' p ''}} adalah bilangan prima ganjil, dan {{mvar | a}} bukan kelipatan {{mvar | p}}, maka {{math | '' a ''}} adalah modulo residu kuadrat {{math | '' p ''}} jika dan hanya jika
Baris 111:
=== Sistem residu berkurang ===
{{Main|Mengurangi sistem residu}}
[[Fungsi total Euler]] {{math|φ(''n'')}}, himpunan dari {{math|φ(''n'')}} bilangan bulat yang [[Coprime integers | relative prime]] menjadi {{math | '' n ''}} dan saling tidak selaras di bawah modulus {{math | '' n ''}} disebut '''modulo sistem residu tereduksi {{matematika | '' n ''}}'''.<ref>{{harvtxt|Long|1972|p=85}}</ref> Himpunan {5,15} dari atas, misalnya, adalah turunan dari modulo 4 sistem residu tereduksi.
 
== Bilangan bulat modulo '' n '' ==
Himpunan dari semua [[Modular aritmatika # Kelas kesesuaian | kelas kongruensi]] dari bilangan bulat untuk modulus {{math | '' n ''}} disebut '''gelanggang bilangan bulat modulo {{math |''n''}} ''',<ref>Ini adalah [[gelanggang (matematika) | gelanggang]], ditunjukkan di bawah.</ref> dan dilambangkan <math display=inline>\mathbb{Z}/n\mathbb{Z}</math>, <math>\mathbb{Z}/n</math>, atau <math>\mathbb{Z}_n</math>.<ref name=":0" /><ref>{{Cite web|date=2013-11-16|title=2.3: Integers Modulo n|url=https://math.libretexts.org/Bookshelves/Abstract_and_Geometric_Algebra/Book%3A_Introduction_to_Algebraic_Structures_(Denton)/02%3A_Groups_I/2.03%3A_Integers_Modulo_n|access-date=2020-08-12|website=Mathematics LibreTexts|language=en}}</ref> Notasi <math>\mathbb{Z}_n</math> adalah, bagaimanapun, tidak disarankan karena bisa disalahartikan dengan himpunan [[P-adik#Pendekatan Aljabar | bilangan bulat adic-{{math | '' n ''}}]]. Gelanggang <math>\mathbb{Z}/n\mathbb{Z}</math> adalah fundamental untuk berbagai cabang matematika (lihat {{section link|#Aplikasi}} di bawah).
 
Himpunan ditentukan untuk '' n ''> 0 sebagai:
Baris 120:
:<math>\mathbb{Z}/n\mathbb{Z} = \left\{ \overline{a}_n \mid a \in \mathbb{Z}\right\} = \left\{ \overline{0}_n, \overline{1}_n, \overline{2}_n,\ldots, \overline{n{-}1}_n \right\}.</math>
 
(Maka {{math|''n'' {{=}} 0}}, <math>\mathbb{Z}/n\mathbb{Z}</math> bukan merupakan [[himpunan kosong]]; sebaliknya, [[isomorfisme | isomorfik]] menjadi <math>\mathbb{Z}</math>, maka {{math|{{overline|''a''}}{{sub|0}} {{=}} &#123;''a''&#125;}}.)
 
Kami mendefinisikan penjumlahan, pengurangan, dan perkalian di <math>\mathbb{Z}/n\mathbb{Z}</math> dengan aturan berikut:
Baris 134:
seperti dalam aritmatika untuk sistem 24 jam.
 
Kami menggunakan notasi <math>\mathbb{Z}/n\mathbb{Z}</math> karena ini adalah [[gelanggang hasil bagi]] dari <math>\mathbb{Z}</math> oleh [[gelanggang ideal | ideal]] <math>n\mathbb{Z}</math>, satu set yang berisi semua bilangan bulat habis dibagi oleh {{math | '' n ''}}, di mana <math>0\mathbb{Z}</math> adalah [[himpunan singleton]] {{math|&#123;0&#125;}}. Jadi <math>\mathbb{Z}/n\mathbb{Z}</math> adalah [[Bidang (matematika) | bidang]] <math>n\mathbb{Z}</math> adalah [[ideal maksimal]] (yaitu, jika {{math | '' n ''}} adalah bilangan prima).
 
== Aplikasi ==
Dalam matematika teoretis, aritmatika modular adalah salah satu fondasi [[teori bilangan]], menyentuh hampir setiap aspek studinya, dan itu juga digunakan secara luas dalam [[teori grup]], [[teori gelanggang]], [[teori simpul]], dan [[aljabar abstrak]]. Dalam matematika terapan, ini digunakan dalam [[aljabar komputer]], [[kriptografi]], [[ilmu komputer]], [[kimia]] dan [[seni visual | visual]] dan seni [[musik]]al.
 
Aplikasi yang sangat praktis adalah menghitung checksum dalam pengenal bilangan deret. Misalnya, [[Nomor Buku Standar Internasional]] (ISBN) menggunakan aritmatika modulo 11 (untuk 10 digit ISBN) atau modulo 10 (untuk ISBN 13 digit) untuk deteksi kesalahan. Demikian juga, [[Nomor Rekening Bank Internasional]] (IBAN), misalnya, menggunakan aritmatika modulo 97 untuk melihat kesalahan input pengguna di nomor rekening bank. Dalam kimia, digit terakhir dari [[nomor registrasi CAS]] (nomor pengenal unik untuk setiap senyawa kimia) adalah [[digit pemeriksa]], yang dihitung dengan mengambil digit terakhir dari dua bagian pertama [[Nomor CAS]] dikalikan 1, digit sebelumnya dikalikan 2, digit sebelumnya dikali 3 dll., menjumlahkan semua ini dan menghitung.
 
Dalam kriptografi, aritmatika modular secara langsung mendukung sistem [[Kriptografi kunci publik | kunci publik]] seperti [[RSA (algoritme) | RSA]] dan [[Pertukaran kunci Diffie–Hellman | Diffie–Hellman]], dan menyediakan [[finite field]] yang mendasari [[kurva elips]], dan digunakan dalam berbagai [[algoritma kunci simetris]] termasuk [[Standar Enkripsi Lanjutan]] (AES), [[Algoritma Enkripsi Data Internasional]] (IDEA), dan [[RC4]]. RSA dan Diffie–Hellman menggunakan [[eksponen modular]].
 
Dalam aljabar komputer, aritmatika modular biasanya digunakan untuk membatasi ukuran koefisien integer dalam penghitungan dan data menengah. Digunakan dalam [[faktorisasi polinomial]], masalah di mana semua algoritma efisien yang diketahui menggunakan aritmatika modular. Digunakan oleh implementasi yang paling efisien dari algoritma [[pembagi persekutuan terbesar polinomial]], eksak [[aljabar linear]] dan [[basis Gröbner]] di atas bilangan bulat dan bilangan rasional. Seperti yang diposting di [[Fidonet]] pada tahun 1980-an dan diarsipkan di [[Rosetta Code]], aritmatika modular digunakan untuk menyangkal [[konjektur jumlah pangkat Euler]] pada [[Sinclair QL]] [[mikrokomputer]] menggunakan hanya seperempat dari presisi integer yang digunakan oleh [[CDC 6600]] [[superkomputer]] untuk membantahnya dua dekade sebelumnya melalui [[pencarian brute force]].<ref>{{Cite web|title=Euler's sum of powers conjecture|url=https://rosettacode.org/wiki/Euler%27s_sum_of_powers_conjecture#QL_SuperBASIC|access-date=2020-11-11|website=rosettacode.org|language=en}}</ref>
Baris 175:
</syntaxhighlight>
 
Pada arsitektur komputer di mana format [[Presisi perpanjangan#x86 Format Presisi Diperpanjang | presisi perpanjangan]] dengan setidaknya 64 bit mantissa tersedia (seperti tipe mo [[ganda panjang]]), the following routine is {{clarify|lebih cepat daripada solusi algoritmik|reason=Tidak mungkin, karena solusi ini adalah solusi algoritmik|date=Januari 2021}}, dengan menggunakan trik yang, dengan perangkat keras, perkalian [[floating-point]] menghasilkan bit paling signifikan dari produk yang disimpan, sementara perkalian bilangan bulat menghasilkan bit yang paling tidak signifikan:{{cn|date=Januari 2021}}
 
<syntaxhighlight lang="c">
Baris 235:
** [[Grup perkalian bilangan bulat modulo n]]
* Teorema penting lainnya yang berkaitan dengan aritmatika modular:
** [[Fungsi Carmichael | Teorema Carmichael]]
** [[Teorema sisa Cina]]
** [[Teorema Euler]]
** [[Teorema kecil Fermat]] (kasus khusus dari teorema Euler)
** [[Teorema Lagrange (teori grup) | Teorema Lagrange]]
** [[Lemma Thue]]
{{div col end}}
Baris 264:
{{Teori bilangan}}
 
[[Kategori: Aritmetika modular| ]]
[[Kategori: Gelanggang hingga]]
[[Kategori: Teori grup]]
[[Kategori: Artikel dengan contoh kode C]]