Berikut adalah pendekatan yang akan bekerja untuk beberapa polinomial, tetapi tidak dijamin untuk semuanya.
Ini dijamin bekerja untuk semua polinomial kuadrat multilinear. Ini juga dijamin berfungsi jika ada variabel sedemikian rupa sehingga p ( ⋯ , x , ⋯ ) tidak mengandung istilah x 2 . Namun, untuk polinomial bentuk p ( x , ⋯ , z ) = c x ⋅ x 2 + ⋯ + c z ⋅ z 2 + p ′ ( x , ⋯ , z )xp(⋯,x,⋯)x2p(x,⋯,z)=cx⋅x2+⋯+cz⋅z2+p′(x,⋯,z)di mana adalah polinomial kuadrat multilinear (yaitu, polinomial di mana setiap variabel muncul kuadrat), saya hanya dapat menyajikan heuristik. Heuristik mungkin sering berhasil dalam praktek, tetapi saya tidak punya bukti.p′
(Saya merasa harus ada solusi yang lebih bersih yang mengintai di suatu tempat ....)
Biarkan menjadi bidang. Misalkan p ( x , y , z , ⋯ ) ∈ F [ x , y , z , ⋯ ] adalah polinomial kuadrat multivariat dengan koefisien di bidang F . Faktor faktor x , untuk mendapatkanFp(x,y,z,⋯)∈F[x,y,z,⋯]Fx
p(x,y,z,⋯)=c⋅x2+q(y,z,⋯)⋅x+r(y,z,⋯).
Perhatikan bahwa harus linier / affine, r harus kuadratik, dan c harus berupa konstanta ( c ∈ F ). Kami ingin mencari tugas dari nilai-nilai untuk x , y , z , ⋯ bahwa merekqrcc∈Fx,y,z,⋯
c⋅x2+q(y,z,⋯)⋅x+r(y,z,⋯)=0.
Sekarang tunjukkan diskriminan dari persamaan kuadratik ini (dalam x ), yaitu,Δx
Δ(y,z,⋯)=q(y,z,⋯)2−4c⋅r(y,z,⋯).
Polinomial asli satisfiable jika dan hanya jika Anda dapat menemukan penugasan nilai untuk yang membuat Δ ( y , z , ⋯ ) menjadi persegi (yaitu, residu kuadrat) di F . Perhatikan bahwa Δ ( y , z , ⋯ ) itu sendiri merupakan polinomial kuadratik multivariat (karena q adalah afin dan r adalah kuadrat).y,z,⋯Δ(y,z,⋯)FΔ(y,z,⋯)qr
Pada intinya, pendekatan solusi kami akan bercabang, berdasarkan apakah (kasing mudah) atau c ≠ 0 ( kasing lebih keras).c=0c≠0
Jika , menyelesaikan persamaan ini mudah: pada dasarnya hanya persamaan linear (linear dalam x , setelah Anda memperbaiki semua variabel lainnya).c=0x
Akibatnya, ada kelas polinomial khusus di mana masalah ini sangat mudah dipecahkan: setiap polinomial mana terdapat variabel - untuk kesederhanaan, kita akan menyebutnya x - sehingga x 2 tidak muncul dalam hal . Untuk kelas itu, Anda akan memiliki c = 0 di atas, dan kemudian algoritma berikut cukup untuk menyelesaikan masalah:pxx2pc=0
Periksa apakah memiliki penetapan nilai untuk y , z , ⋯ yang membuat q ( y , z , ⋯ ) ≠ 0 . Karena q linier, ini mudah untuk diperiksa.qy,z,⋯q(y,z,⋯)≠0q
Jika ya, maka pilih penugasan nilai tersebut untuk . Selanjutnya, atur x = - r ( y , z , ⋯ ) q ( y , z , ⋯ ) - 1 . Menurut definisi, q ( y , z , ⋯ ) ≠ 0 , jadi q ( y , z , ⋯ ) memiliki kebalikan (karena kita bekerja di bidang), jadi nilai x seperti ituy,z,⋯x=−r(y,z,⋯)q(y,z,⋯)−1q(y,z,⋯)≠0q(y,z,⋯)xada Ini segera menghasilkan penugasan nilai ke yang membuat p nol, dan kita selesai.x,y,z,⋯p
Jika tidak, maka kita tahu untuk semua kemungkinan penugasan nilai ke variabel p . Secara efektif, p tidak pernah bergantung pada x di tempat pertama, jadi itu adalah kesalahan untuk menganggapnya sebagai fungsi dari x . Atau, dengan kata lain, kami telah menghilangkan satu variabel dari p , dan kami mendapatkan contoh baru dari masalah aslinya. Secara rekursif menerapkan metode kami ke r ( y , z ,p(x,y,z,⋯)=r(y,z,⋯)ppxxp . Pengecualian: jika p adalah fungsi dari variabel tunggal (yaitu, p ( x ) ), maka dalam hal ini Anda dapat menyimpulkan bahwa p tidak memuaskan (identik nol untuk semua nilai yang mungkin dari variabel-variabelnya).r(y,z,⋯)pp(x)p
Algoritma ini menangani kasus mudah: yaitu, polinomial di mana terdapat setidaknya satu variabel yang muncul di p tetapi di mana x 2 tidak muncul di p . Untuk kasus ini, algoritme berjalan dalam waktu polinomial dan menentukan apakah ada penetapan nilai pada variabel yang membuat polinomial sama dengan nol.xpx2p
Sekarang kembali ke hard case. Jika itu tidak termasuk dalam kasus mudah, maka kita harus memilikinya
p(x,⋯,z)=cx⋅x2+⋯+cz⋅z2+p′(x,⋯,z).
di mana tidak memiliki istilah kuadrat (multinearear). Mari kita lihat metode apa yang bisa kita gunakan untuk kasus ini.p′(x,⋯,z)
Nah, inilah satu situasi di mana kita bisa menyelesaikan ini. Misalkan ada sepasang variabel sedemikian rupa sehingga - c x / c y adalah kuadrat (residu kuadratik) dalam F , katakanlah, - c x / c y = α 2 . Kemudian kita bisa menerapkan perubahan variabel y ′ = y + α x . Nyaman, kami punyax,y−cx/cyF−cx/cy=α2y′=y+αx
$(y′)2=(y+αx)2=y2+2α⋅xy+α2⋅x2=y2+2αcdotxy−cx/cy⋅x2.
Memasukkan perubahan variabel ini ke , kita dapatkanp
p(x,y′,⋯)=cx⋅x2+cy⋅y2+2αcy⋅xy−cy⋅(cx/cy)⋅x2+…,
yaitu,
p(x,y′,⋯)=cy⋅y2+2αcy⋅xy+…
di mana bagian yang dihilangkan tidak mengandung istilah (karena ketentuan c x ⋅ x 2 dan α 2 c y ⋅ x 2 membatalkan). Secara efektif, kami telah menghilangkan istilah x 2 , jadi sekarang kita dapat menerapkan metode di atas untuk p ( x , y ′ , ⋯ ) . Perhatikan bahwa p ( x , y ′ , ⋯ ) = 0 memuaskan jika dan hanya jika p ( xx2cx⋅x2α2cy⋅x2x2p(x,y′,⋯)p(x,y′,⋯)=0 adalah. Ketika kami menemukan solusi yang menghasilkan nol ini, kami dapat menyelesaikan kembali untuk y , dan kami mendapatkan tugas untuk x , y , z , ⋯ yang membuat p ( x , y , z , ⋯ ) = 0 .p(x,y,⋯)=0yx,y,z,⋯p(x,y,z,⋯)=0
−1F−cx/cz=(−1)×(−cx/cy)×(−cy/cz)−cx/cz−cy/cz−cx/cz−1−1p.) Saya tidak punya solusi umum untuk kasus sulit ini.
Namun, saya dapat menyarankan heuristik yang mungkin sering berhasil, bahkan untuk kasus yang sulit ini.
F1/2y,z,…Δ(y,z,⋯)1/2Δ(y,z,⋯)
x
y,z,…
Δ(y,z,⋯)Fp(x,y,z,⋯)=0xx=(−q(y,z,⋯)±Δ(y,z,⋯)−−−−−−−−−√)/(2c)Fx,y,z,…p(x,y,z,⋯)=0
Δ(y,z,⋯)
Jika setelah banyak langkah, Anda tidak menemukan solusi apa pun, maka Anda mungkin menebak bahwa persamaannya tidak memuaskan (tapi ini heuristik, jadi dugaan Anda bisa salah).
Δ(⋯)