Apa yang diketahui tentang kompleksitas komputasi bilangan bulat anjak di bidang bilangan umum? Lebih spesifik:
- Melalui bilangan bulat, kami mewakili bilangan bulat melalui ekspansi binernya. Apa representasi analog dari bilangan bulat di bidang bilangan umum?
- Apakah diketahui bahwa keutamaan atas bidang angka ada dalam P atau BPP?
- Algoritma apa yang paling dikenal untuk memfaktorkan bidang angka? (Apakah algoritma dan (rupanya) diperluas dari ?) Di sini, factoring mengacu pada menemukan beberapa representasi dari angka (diwakili oleh bit) sebagai produk bilangan prima.
- Apa kompleksitas menemukan semua faktorisasi bilangan bulat di bidang angka? Menghitung berapa banyak faktorisasi berbeda yang dimilikinya?
- Lebih dari diketahui bahwa memutuskan apakah angka yang diberikan memiliki faktor dalam interval adalah NP-hard. Di atas ring bilangan bulat dalam bidang angka, dapatkah itu menjadi kasus yang menemukan jika ada faktor prima yang normanya dalam interval tertentu sudah NP-hard?
- Apakah anjak dalam bidang angka di BQP?
Komentar, motivasi, dan pembaruan.
Tentu saja fakta bahwa faktorisasi tidak unik pada bidang angka sangat penting di sini. Pertanyaan (terutama bagian 5) dimotivasi oleh posting blog ini melalui GLL (lihat komentar ini ), dan juga oleh pertanyaan TCSexchange sebelumnya. Saya mempresentasikannya juga di blog saya di mana Lior Silverman menyajikan jawaban yang menyeluruh .
Jawaban:
Jawaban berikut awalnya diposting sebagai komentar di blog Gil
(1) Misalkan menjadi bidang angka, di mana kita menganggap memiliki polinomial minimal . Satu kemudian dapat mewakili unsur-unsur dari cincin integer sebagai polinomial dalam atau dalam hal basis integral - keduanya setara.K=Q(α) α f∈Z[x] OK α
Sekarang memperbaiki seperti pada (1) ada pengurangan polinomial-waktu dari masalah atas ke masalah di . Untuk memverifikasi bahwa perhitungan (misalnya memotong ideal dengan atau memfaktorkan polinomial mod ) dapat dilakukan dalam waktu polinomial, lihat buku Cohen yang dirujuk dalam jawaban sebelumnya.K K Q Z p
Sebagai perhitungan awal untuk setiap prime rasional yang membagi diskriminan (yaitu diskriminan ), temukan semua bilangan prima dari terletak di atas .p α f OK p
(2) Untuk pengujian awal, diberikan biarkan dibuat sedemikian rupa sehingga (ini dapat dihitung dalam waktu polinomial dan jumlah bit adalah polinomial dalam input). Periksa dalam waktu polinomial apakah prima. Jika tidak maka tidak prima. Jika ya maka temukan bilangan prima dari terletak di atas baik dari prakomputasi atau dengan memfaktorkan mod . Bagaimanapun jika adalah prima itu harus salah satu bilangan prima tersebut.a◃OK p∈Z a∩Z=pZ p p a OK p f p a
(3a), (6a) Untuk memfaktorkan ke dalam bilangan prima, diberikan temukan normalnya . Sekali lagi ini dapat ditemukan dalam waktu polinomial dan akibatnya tidak terlalu besar. Faktor dalam (baik secara klasik atau menggunakan algoritma Shor, tergantung pada pengurangan yang Anda inginkan). Ini memberikan daftar bilangan prima rasional yang membagi , dan karenanya seperti pada 2 kita dapat menemukan daftar bilangan prima dari membagi . Sejak ini memberikan daftar bilangan prima yang membagia◃OK y=NKQ(a)=[OK:a] y Z y OK y a|yOK a . Akhirnya, mudah untuk menentukan eksponen di mana prime membagi ideal yang diberikan.
(3b), (6b) Tapi Gil ingin faktorisasi menjadi irreducible, bukan ke bilangan prima. Ternyata dengan faktorisasi utama adalah mungkin untuk secara efisien membangun satu faktorisasi menjadi elemen yang tidak dapat direduksi dari . Untuk ini biarkan menjadi nomor kelas, dan perhatikan bahwa dimungkinkan untuk secara efisien menghitung kelas ideal dari suatu ideal yang diberikan. Sekarang untuk menemukan pembagi tak tereduksi pilih cita-cita utama (mungkin dengan pengulangan) dari faktorisasixOK x OK hK x hK x . Dengan prinsip lubang-merpati beberapa bagian dari yang berlipat ganda dengan identitas dalam kelompok kelas; menemukan subset minimal seperti itu. Produknya kemudian merupakan cita-cita utama yang dihasilkan oleh elemen yang tidak dapat direduksi. Bagi dengan elemen ini, hapus cita-cita yang relevan dari faktorisasi dan ulangi. Jika faktorisasi memiliki kurang dari elemen maka hanya mengambil subset minimal dari semua faktor.x hK
(4) Saya pikir itu mungkin untuk menghitung faktorisasi menjadi irreducible, tapi ini sedikit tambahan kombinatorik - tolong beri saya waktu untuk menyelesaikannya. Di sisi lain, menentukan semuanya tidak menarik dalam konteks algoritma faktorisasi sub-eksponensial karena ada secara umum banyak faktorisasi seperti itu.
(5) Saya tidak tahu.
sumber
Seperti disebutkan oleh Daniel, Anda dapat menemukan beberapa informasi dalam buku A Course in Computational Algebraic Number Theory ( tautan ).
Secara khusus, ada beberapa cara untuk mewakili elemen bidang angka. Biarkan menjadi bidang angka dengan a derajat- polinomial tak tereduksi monic dari . Biarkan menjadi sembarang root dari . Representasi standar yang disebut elemen adalah tupel mana , dan , sedemikian sehinggaK=Q[ξ]/⟨φ⟩ φ n Z[ξ] θ φ α∈K (a0,…,an−1,d) ai∈Z d>0 gcd(a0,…,an−1,d)=1
sumber