Apakah ada implementasi lengkap dari algoritma Risch?
Apakah ada implementasi yang umum tersedia (komersial atau tidak) lengkap dari algoritma Risch untuk menentukan apakah fungsi elementer memiliki antiturunan elementer?
The artikel Wikipedia pada integrasi simbolis klaim bahwa kasus umum dari algoritma Risch diselesaikan dan dilaksanakan di Axiom oleh Manuel Bronstein, dan jawaban atas pertanyaan MO lain mengatakan hal yang sama. Namun, saya ragu, berdasarkan komentar berikut oleh Manuel Bronstein sendiri di newsgroup USENET sci.math.symbolicpada tanggal 5 September 2003:
Jika Aksioma mengembalikan integral yang tidak dievaluasi, maka itu telah membuktikan bahwa tidak ada antiturunan dasar. Namun ada beberapa kasus di mana Aksioma dapat mengembalikan pesan kesalahan yang mengatakan bahwa Anda telah mencapai cabang algoritma yang tidak diimplementasikan, dalam hal ini tidak dapat disimpulkan. Jadi Richard benar saat menunjukkan bahwa algoritme Risch juga tidak diterapkan sepenuhnya di sana. Aksioma unik dalam membuat perbedaan antara cabang yang tidak diimplementasikan dan bukti non-integrabilitas, dan juga dalam benar-benar membuktikan kemandirian aljabar dari blok-blok penyusun dari integrand sebelum menyimpulkan nonintegrabilitas (orang lain biasanya menganggap kemerdekaan ini setelah melakukan beberapa pemeriksaan ketergantungan heuristik).
Bronstein sayangnya meninggal pada 6 Juni 2005 . Mungkin saja dia menyelesaikan implementasinya sebelum dia meninggal, tetapi saya belum bisa memastikannya. Saya tahu bahwa Bronstein tidak pernah berhasil menyelesaikan buku yang dimaksudkannya tentang integrasi fungsi aljabar. [ EDIT: Sebagai pemeriksaan lebih lanjut, saya mengirim email ke Barry Trager. Dia menegaskan bahwa implementasi yang dia dan Bronstein kerjakan tidak lengkap. Dia tidak tahu banyak tentang implementasi lain, tetapi tidak mengetahui implementasi lengkap apa pun.]
Saya memiliki akses ke Maple 2018, dan tampaknya implementasi tersebut juga tidak lengkap. Kasus uji yang berguna adalah integral berikut, diambil dari makalah (yang tampaknya tidak dipublikasikan) Algoritme Trager untuk integrasi fungsi aljabar yang ditinjau kembali oleh Daniel Schultz:$$\int \frac{29x^2+18x-3}{\sqrt{x^6+4x^5+6x^4-12x^3+33x^2-16x}}\,dx$$ Schultz secara eksplisit memberikan antiturunan dasar dalam makalahnya, tetapi Maple 2018 mengembalikan integral yang tidak dievaluasi.
Jawaban
Tidak ada sistem aljabar komputer yang menerapkan proses keputusan lengkap untuk integrasi fungsi transendental dan aljabar campuran.
Integral dari makalah Schultz yang sangat baik dapat diselesaikan oleh Maple jika Anda mengonversi notasi integrand ke RootOf (Mengapa ini tidak dilakukan secara internal di Maple adalah pertanyaan yang menarik?)
int(convert((29*x^2+18*x-3)/(x^6+4*x^5+6*x^4-12*x^3+33*x^2-16*x)^(1/2),RootOf),x);
Percobaan saya menyarankan Maple memiliki implementasi terbaik dari algoritma Risch-Trager-Bronstein untuk integrasi integral aljabar murni dalam hal fungsi dasar (ref: tabel 1, bagian 3 dari Sam Blake, Metode Sederhana untuk Menghitung Beberapa Integral Pseudo-Elliptic dalam Ketentuan Fungsi Dasar , arXiv: 2004.04910 ). Namun, implementasi Maple tidak mengintegrasikan ekspresi yang berisi parameter atau radikal bersarang (keduanya memiliki dukungan di AXIOM dan FriCAS).
Tampaknya beberapa kemajuan signifikan telah dibuat dalam menghitung bagian logaritmik dari integral aljabar-transendental campuran oleh Miller [1]. Padahal, sejauh yang saya tahu, tidak ada sistem aljabar komputer yang menerapkan algoritmanya. Juga tidak jelas apakah algoritma Miller dapat menangani parameter, misalnya, algoritma Risch-Trager-Bronstein mengalami kesulitan dengan integral pseudo-eliptik berikut
$$\int\frac{\left(p x^2-q\right) \left(p x^2-x+q\right)dx}{x \left(p x^2+2 x+q\right) \sqrt{2 p^2x^4+2 p x^3+(4 p q+1) x^2+2 q x+2 q^2}} = - \frac{1}{\sqrt{2}}\log (x) + \frac{1}{\sqrt{2}}\log \left(\sqrt{2} y +2 p x^2+x+2q\right) - \frac{3}{\sqrt{5}}\tanh ^{-1}\left(\frac{\sqrt{5} y}{3 p x^2+3 q+x}\right),$$ dimana $y=\sqrt{2 p^2 x^4+2 p x^3+(4 pq+1)x^2+2 q x+2 q^2}$. Heuristik saya dalam makalah yang ditautkan sebelumnya menghitung integral ini dengan cepat dengan substitusi$u=\frac{px^2+q}{p x}$.
Berkenaan dengan kasus campuran aljabar-transendental dari algoritma Risch-Trager-Bronstein, sebuah integral yang tidak dapat diselesaikan dengan Maple, Mathematica, AXIOM atau FriCAS (dan mungkin CAS lainnya) adalah
$$\int \frac{\left(\sqrt{x}+1\right) \left(e^{2x \sqrt{x}} -a\right) \sqrt{a^2+2 a x e^{2 \sqrt{x}} +cx e^{2 \sqrt{x}} +x^2 e^{4 \sqrt{x}}}}{x \sqrt{x}e^{\sqrt{x}} \left(a+x e^{2 \sqrt{x}} \right)} dx.$$
Integral ini menarik karena menampilkan dua pesan berbeda dari AXIOM dan FriCAS yang menunjukkan penerapannya masing-masing tidak lengkap. FriCAS kembali
(1) -> integrate(((-a+exp(2*x^(1/2))*x)*x^(-3/2)*(1+x^(1/2))*(a^2+2*a*exp(2*x^(1/2))*x+c*exp(2*x^(1/2))*x+exp(4*x^(1/2))*x^2)^(1/2))/(exp(x^(1/2))*(a+exp(2*x^(1/2))*x)),x)
>> Error detected within library code:
integrate: implementation incomplete (has polynomial part)
Sementara AXIOM kembali
(1) -> integrate(((-a+exp(2*x^(1/2))*x)*x^(-3/2)*(1+x^(1/2))*(a^2+2*a*exp(2*x^(1/2))*x+c*exp(2*x^(1/2))*x+exp(4*x^(1/2))*x^2)^(1/2))/(exp(x^(1/2))*(a+exp(2*x^(1/2))*x)),x)
>> Error detected within library code:
integrate: implementation incomplete (constant residues)
[1] Miller, B. (2012). “ Tentang Integrasi Fungsi Dasar: Menghitung Bagian Logaritmik ”. Tesis (Ph.D.) Texas Tech University, Dept. Matematika dan Statistik.
Fricas , tiruan open-source dari Axiom, mengimplementasikan sebagian besar Risch, lihathttp://fricas-wiki.math.uni.wroc.pl/RischImplementationStatus
Fricas juga tersedia sebagai paket opsional sistem sumber terbuka SageMath .
Edit: begini caranya di SageMath dengan Fricas sebagai backend.
sage: r=integrate((29*x^2+18*x-3)/(x^6+4*x^5+6*x^4-12*x^3+33*x^2-16*x)^(1/2),x,algorithm="fricas")
sage: r
log(x^29 + 40*x^28 + 776*x^27 + 9648*x^26 + 85820*x^25 + 578480*x^24 + 3058536*x^23 + 12979632*x^22 + 45004902*x^21 + 129708992*x^20 + 317208072*x^19 + 675607056*x^18 + 1288213884*x^17 + 2238714832*x^16 + 3548250712*x^15 + 5097069328*x^14 + 6677210721*x^13 + 8106250392*x^12 + 9056612528*x^11 + 8991685504*x^10 + 7944578304*x^9 + 6614046720*x^8 + 4834279424*x^7 + 2374631424*x^6 + 916848640*x^5 + 638582784*x^4 - 279969792*x^3 - 528482304*x^2 + (x^26 + 38*x^25 + 699*x^24 + 8220*x^23 + 68953*x^22 + 436794*x^21 + 2161755*x^20 + 8550024*x^19 + 27506475*x^18 + 73265978*x^17 + 165196041*x^16 + 324386076*x^15 + 570906027*x^14 + 914354726*x^13 + 1326830817*x^12 + 1731692416*x^11 + 2055647184*x^10 + 2257532160*x^9 + 2246693120*x^8 + 1939619840*x^7 + 1494073344*x^6 + 1097859072*x^5 + 640024576*x^4 + 207618048*x^3 + 95420416*x^2 + 50331648*x - 50331648)*sqrt(x^6 + 4*x^5 + 6*x^4 - 12*x^3 + 33*x^2 - 16*x) + 150994944*x - 134217728)