Yhtälöryhmä
Yhtälöryhmä on joukko yhtälöitä, joilla on yhteiset muuttujat ja jotka ovat kaikki voimassa samaan aikaan. Muuttujien yhteisyys merkitsee sitä, että muuttujien arvojen oletetaan olevan kaikissa yhtälöissä samat. Jos kahden yhtälön ratkaisut poikkeavat toisistaan, ne eivät voi molemmat kuulua sellaiseen yhtälöryhmään, jolla on ratkaisu. Yhtälöryhmää, jossa on kaksi yhtälöä, sanotaan yhtälöpariksi.
Yhtälöryhmän ratkaisulla tarkoitetaan, että jokaiselle ryhmässä esiintyvälle muuttujalle löydetään yksikäsitteinen arvo. On kuitenkin mahdollista, että useampikin muuttujien arvoyhdistelmä toteuttaa ryhmän yhtälöt (onhan myös esimerkiksi yhtälöllä formula_1 äärettömän monta ratkaisua), joten yhtälöryhmän ratkaisemisella tarkoitetaankin usein kaikkien mahdollisten ratkaisujen löytämistä.
Ratkaistaan esimerkiksi ympyrän ja suoran leikkauspisteet:
Tässä esimerkissä muuttujien x ja y mahdollisia ratkaisupareja olisi kaksi. Yhtälöitä hieman muokkaamalla voisimme tuottaa tapaukset, joissa ratkaisupareja on vain yksi (suora sivuaa ympyrää) tai ei lainkaan (suora ja ympyrä eivät kosketa toisiaan).
Yhtälöryhmällä ei siis välttämättä ole ratkaisua laisinkaan. Ratkaisujen puute voi ilmetä esimerkiksi seuraavilla tavoilla:Lineaarinen yhtälöryhmä on yhtälöryhmän erikoistapaus, jossa yhtälöryhmän kaikki yhtälöt ovat lineaarisia eli muotoa formula_8 missä formula_9. Lineaarinen yhtälöryhmä voidaan esittää matriisimuodossa, ja lineaarisen yhtälöryhmän ratkaisemiseen on olemassa tehokkaita matriisilaskentaan perustuvia menetelmiä.
Jotta ryhmän muuttujille olisi mahdollista löytää yksikäsitteiset arvot, ryhmässä täytyy usein olla keskenään riippumattomia yhtälöitä vähintään yhtä monta kuin tuntemattomia muuttujiakin. Kuitenkin jos esimerkiksi yhtälöiden mahdollisia ratkaisuja rajoittavat jotkin asiat, yhtälöitä ei välttämättä tarvitakaan niin monta kuin muuttujia on. Esimerkiksi yhtälöllä formula_10 on yksikäsitteinen ratkaisu x:lle ja y:lle, jos nämä luvut ovat reaalilukuja.
Yhtälöiden riippumattomuus tarkoittaa sitä, ettei ryhmän yhtälöistä yhtäkään voi johtaa muista yhtälöistä (esimerkiksi formula_11 ⇒ formula_12). Jos esimerkiksi osa yhtälöistä on keskenään ekvivalentteja eli identtisesti tosia, näistä samoista yhtälöistä voidaan poistaa kaikki paitsi yksi ja tutkia tämän jälkeen uudelleen vaatimusta yhtälöiden vähimmäismäärästä.
Jos yhtälöryhmässä on vähemmän tuntemattomia muuttujia kuin riippumattomia yhtälöitä, yhtälöryhmälle ei ole yksikäsitteisiä ratkaisuja. Tällöin joidenkin muuttujien arvot voivat määräytyä vasta sitten, kun muiden muuttujien arvot tunnetaan tai asetetaan.
Yhtälöryhmä on mahdollista ratkaista joko algebrallisesti tai numeerisesti. Usein ihminen hakee ratkaisua algebrallisesti, kun taas tyypillinen tietokoneohjelma käyttää numeerista menetelmää.
Symbolisessa eli algebrallisessa ratkaisussa pyritään yksi kerrallaan ratkomaan muuttujia ja vähentämään riippumattomien yhtälöiden määrää, kunnes kaikkien muuttujien arvot tunnetaan. Eräs mahdollinen tapa edetä on ilmaista yksi muuttuja muiden muuttujien avulla ja sijoittaa saatu lauseke muuttujan tilalle muihin yhtälöihin. Tätä menetelmää voidaan toistaa, kunnes jäljellä on enää yksi yhtälö ja yksi tuntematon. Tämän yhtälön ratkaisuna saadaan yhdelle muuttujalle arvo, ja ketjua voidaan edetä takaperin sijoittaen aina edelliseen yhtälöön juuri ratkaistun muuttujan arvo.
Toinen mahdollinen tapa ratkaista yhtälöryhmiä algebrallisesti on lisätä tai vähentää yhden yhtälön molemmat puolet toisesta yhtälöstä. Tällä tavoitellaan sitä, että lausekkeissa saataisiin jotkin termit kumoamaan toisensa niin, että yksi muuttuja häviää saadusta yhtälöstä kokonaan. Näitä kahta menetelmää on usein hyödyllistä yhdistää, ja sama menetelmä ratkaisuketjun kelaamisesta taaksepäin toimii, kunhan yhden muuttujan arvo on saatu ratkaistua.
Numeerisessa ratkaisussa tutkitaan, millä muuttujien arvoilla kaikki ryhmän yhtälöt täyttyvät yhtä aikaa. On olemassa algoritmeja, joilla tietystä muuttujien alkuarvauksesta osataan lähteä etsimään ratkaisua ilman, että kaikkien muuttujien jokainen mahdollinen arvo käytäisiin läpi (mikä on usein mahdotontakin).
Symbolisesti yhtälöitä ratkaisevat tietokoneohjelmat ovat yleensä huomattavasti vaikeampia ohjelmoida kuin numeerista menetelmää käyttävät vastineensa, koska ohjelman täytyy osata ratkoa monentyyppisiä funktioita. Symbolinen menetelmä tuottaa kuitenkin mahdollisuuksien mukaan ratkaisujen tarkat arvot (esimerkiksi formula_13), kun taas numeerisella menetelmällä löydetään vain likiarvoja (esimerkiksi 1,7724539). Monet symboliset ohjelmat käyttävät Gröbnerin kantoja polynomiyhtälöryhmien ratkaisemiseen. Lineaariset yhtälöryhmät on mahdollista ratkaista myös yksinkertaisemman Gaussin-Jordanin eliminoimismenetelmän avulla.
Menetelmillä on myös omat rajoituksensa: Joitakin yhtälöitä ei ole edes mahdollista ratkaista symbolisesti (esimerkiksi formula_14), ja toisaalta tietokoneen käyttämä liukulukujen tarkkuuden pienuus voi estää löytämästä numeerista ratkaisua nopeasti tai lainkaan. Numeerista menetelmää käyttäessä voisi esimerkiksi törmätä ongelmaan, jossa jotakin jaetaan lausekkeella formula_15. Tämä on monen ohjelman mielestä 0, mutta jako nollalla käytännössä estää löytämästä mitään ratkaisua. Algebrallisesti yhtälöitä ratkaiseva ohjelma ei kokisi tätä lauseketta ongelmaksi lainkaan.
Kysymys, ratkeaako yhtälö symbolisesti vai ei, ei ole pelkästään tietokoneen ongelma. Sama rajoitus koskee myös ihmistä, sillä monille yhtälöille ei tosiaankaan ole yksinkertaisesti mahdollista saada tarkkaa ratkaisua. Tällöin sekä tietokone että ihminen joutuvat turvautumaan numeeriseen likiarvoon ja ratkaisemaan muut yhtälöt samaten likimääräisesti.