Rikas algoritmi

Risch -algoritmi  on algoritmi epämääräisten integraalien analyyttiseen laskemiseen käyttämällä differentiaalialgebran menetelmiä . Se perustuu integroitavan funktion tyyppiin ja rationaalisten funktioiden , juurien, logaritmien ja eksponentiaalisten funktioiden integrointimenetelmiin .

Nimetty Robert Henry Risch mukaan . Risch itse, joka kehitti algoritmin vuonna 1968, kutsui sitä "resoluutiomenettelyksi", koska menetelmä päättää, onko funktion antiderivaata perusfunktio . Yksityiskohtaisin tutkimus algoritmista on esitetty Keith Geddesin, Stefan Tzaporin ja George Labanin 100-sivuisessa kirjassa Computer Algebra Algorithms .

Kuvaus

Risch-algoritmi integroi perusfunktiot . Laplace ratkaisi tämän rationaalisten funktioiden ongelman osoittamalla, että rationaalisen funktion epämääräinen integraali on itse rationaalinen funktio, jolla on äärellinen määrä vakioita kerrottuna rationaalisten funktioiden logaritmeilla. Se otettiin käyttöön ohjelmistoissa 1960-luvun alussa.

Liouville muotoili Risch-algoritmilla ratkaistun ongelman. Hän todisti analyyttisesti, että jos yhtälölle on alkeisratkaisu g , niin vakioille ja alkeisfunktioille ja ratkaisu on olemassa muodossa

Rish loi menetelmän, jonka avulla voimme tarkastella vain rajallista joukkoa perusfunktioita Liouville-muodossa.

Risch-algoritmi sai inspiraationsa eksponentiaalisten ja logaritmisten funktioiden käyttäytymisestä differentioinnin aikana.

Meillä on funktiolle f e g , jossa f ja g ovat differentioituvia

joten jos funktio e g sisältyy määräämättömän integroinnin seurauksena, se on sisällytettävä myös alkuperäiseen integrandiin. Samoin, koska

jos (ln  g ) n sisältyy integrointitulokseen, niin alkuperäisen integrandin tulee sisältää useita logaritmin potenssia.

Esimerkkejä ratkaistavista tehtävistä

Alkuperäisen antiderivaatin löytäminen on erittäin herkkä pienille muutoksille. Esimerkiksi seuraavalla funktiolla on alkeellinen antiderivaatti:

nimittäin:

Mutta jos lausekkeessa f ( x ) muutamme 71:stä 72:een, on mahdotonta löytää alkeisantiderivaata. (Jotkut tietokonealgebrajärjestelmät voivat tässä tapauksessa palauttaa vastauksen ei-alkeisfunktiona  eli elliptisenä integraalina , jota Risch-algoritmi ei kuitenkaan kata.)

Seuraavat toiminnot ovat monimutkaisempia esimerkkejä:

Tämän funktion antijohdannaisella on lyhyt muoto

Toteutus

Teoreettisesti rakennetun algoritmin tehokas ohjelmistototeutus osoittautui vaikeaksi tehtäväksi. Puhtaiden transsendenttisten funktioiden (ilman juuria ja polynomeja) tapauksessa tämä oli suhteellisen helppo toteuttaa useimmissa tietokonealgebrajärjestelmissä. [yksi]

Puhtaiden algebrallisten funktioiden tapauksen ratkaisi ja toteutti Reduce -järjestelmässä James Davenport [2] [3] . Yleisen tapauksen ratkaisi ja toteutti Manuel Bronstein Scratchpadissa ( Axiom -järjestelmän edeltäjä ) [4] .

Ratkaisevuus

Alkeisfunktioiden yleiseen tapaukseen sovellettu Risch-algoritmi ei ole algoritmi varsinaisessa merkityksessä, koska sen on työssään selvitettävä, ovatko jotkin lausekkeet identtisiä nollan kanssa (vakioiden ongelma ). Lausekkeille, joiden funktiot ovat alkeisfunktioita, ei tiedetä, onko olemassa algoritmia, joka suorittaa tällaisen tarkistuksen (nykyaikaiset järjestelmät käyttävät heuristiikkaa ). Lisäksi jos alkeisfunktioiden luetteloon lisätään absoluuttinen arvo , tällaista algoritmia ei ole olemassa ( Richardsonin lause ). Tämä ongelma esiintyy myös polynomien jakamisessa sarakkeella : sitä ei voida ratkaista, jos on mahdotonta määrittää kertoimien yhtäläisyys nollaan.

Melkein jokainen ei-triviaalinen algoritmi, joka käyttää polynomeja, käyttää polynomijakoalgoritmia, kuten myös Risch-algoritmi. Jos vakioiden kenttä on laskettavissa, niin nollan tasa-arvo on ratkaistavissa, niin Risch-algoritmi on valmis. Esimerkkejä laskettavissa olevista vakiokentistä ovat ja .

Sama ongelma esiintyy Gaussin menetelmässä , joka on myös välttämätön monille Risch-algoritmin osille. Gaussin menetelmä antaa virheellisen tuloksen, jos on mahdotonta määrittää oikein, onko kanta identtinen nollan kanssa.

Muistiinpanot

  1. Joel Moses (2012), Macsyma: Henkilökohtainen historia , Journal of Symbolic Computation , osa 47: 123–130 , DOI 10.1016/j.jsc.2010.08.018 
  2. Ei pidä sekoittaa hänen isänsä Harold Davenportiin
  3. James H. Davenport. Algebrallisten funktioiden integroinnista  . - Springer, 1981. - Voi. 102. - (Tietojenkäsittelytieteen luentomuistiinpanot). - ISBN 0-387-10290-6 , 3-540-10290-6.
  4. Manuel Bronstein (1990), Alkeisfunktioiden integrointi, Journal of Symbolic Computation , osa 9 (2): 117–173 

Linkit