A Risch -algoritmus határozatlan integrálok analitikus kiszámítására szolgáló algoritmus differenciálalgebra módszereivel . Az integrálható függvény típusán és a racionális függvények , gyökök, logaritmusok és exponenciális függvények integrálásának módszerein alapul .
Robert Henry Risch nevéhez fűződik . Maga Risch, aki 1968-ban kidolgozta az algoritmust, "feloldó eljárásnak" nevezte, mivel a módszer eldönti, hogy egy függvény antideriváltja elemi függvény-e. Az algoritmus legrészletesebb tanulmányát Keith Geddes, Stefan Tzapor és George Laban Computer Algebra Algorithms című 100 oldalas könyve mutatja be.
A Risch algoritmus elemi függvényeket integrál . Laplace ezt a problémát a racionális függvényekre úgy oldotta meg, hogy megmutatta, hogy a racionális függvény határozatlan integrálja maga is racionális függvény, amelynek véges számú állandója megszorozva a racionális függvények logaritmusával. Az 1960-as évek elején szoftveresen implementálták.
Liouville megfogalmazta a Risch-algoritmusban megoldott problémát. Analitikusan bebizonyította, hogy ha van g elemi megoldása az egyenletnek , akkor konstansokra és elemi függvényekre és a megoldás a következő formában létezik
Rish megalkotott egy olyan módszert, amely lehetővé teszi, hogy csak véges elemi függvényhalmazt vegyünk figyelembe Liouville formában.
A Risch-algoritmust az exponenciális és logaritmikus függvények differenciálás közbeni viselkedése ihlette.
Egy f e g függvényre , ahol f és g differenciálható , van
tehát ha az e g függvény határozatlan integráció eredményeként szerepel, akkor az eredeti integrandusban is szerepelnie kell. Ugyanígy, mivel
ha (ln g ) n szerepel az integrálás eredménye, akkor az eredeti integrandusnak tartalmaznia kell a logaritmus több hatványát.
Az elemi antiderivált megtalálása nagyon érzékeny a kisebb változásokra. Például a következő függvénynek van egy elemi antideriváltja:
ugyanis:
De ha az f ( x ) kifejezésben 71-et 72-re változtatunk, akkor lehetetlen elemi antideriváltat találni. (Egyes számítógépes algebrai rendszerek ebben az esetben nem elemi függvényként , elliptikus integrálként adják vissza a választ , amelyet azonban a Risch-algoritmus nem fed le.)
A következő függvények bonyolultabb példák:
Ennek a függvénynek az antideriváltja rövid formája van
Az elméletileg felépített algoritmus hatékony szoftveres megvalósítása nehéz feladatnak bizonyult. A tiszta transzcendentális függvények esetében (gyökök és polinomok nélkül) ez viszonylag könnyen megvalósítható volt a legtöbb számítógépes algebrai rendszerben. [egy]
A tiszta algebrai függvények esetét a Reduce rendszerben oldotta meg és implementálta James Davenport [2] [3] . Az általános esetet Manuel Bronstein oldotta meg és implementálta a Scratchpadben (az Axiom rendszer elődje ) [4] .
Az elemi függvények általános esetére alkalmazott Risch-algoritmus nem a szoros értelemben vett algoritmus, mert munkája során meg kell határoznia, hogy egyes kifejezések megegyeznek-e nullával ( konstansok problémája ). Azoknál a kifejezéseknél, amelyeknek a függvényei elemi, nem ismert, hogy létezik-e olyan algoritmus, amely ilyen ellenőrzést végez (a modern rendszerek heurisztikát használnak ). Sőt, ha abszolút értéket adunk az elemi függvények listájához , akkor nem létezik ilyen algoritmus ( Richardson tétele ). Ez a probléma a polinomok oszlopos osztásakor is fennáll : nem lesz megoldható, ha lehetetlen meghatározni az együtthatók nullával való egyenlőségét.
Szinte minden nem triviális, polinomokat használó algoritmus polinomosztási algoritmust használ, akárcsak a Risch-algoritmus. Ha az állandók mezője kiszámítható, akkor a nullával való egyenlőség problémája megoldható, akkor a Risch-algoritmus kész. Példák a kiszámítható állandó mezőkre és .
Ugyanez a probléma létezik a Gauss-módszerben is, amely szintén szükséges a Risch-algoritmus sok részéhez. A Gauss-módszer hibás eredményt ad, ha nem lehet pontosan meghatározni, hogy az alap megegyezik-e a nullával.