*Tämä artikkeli käsittelee termin merkitystä matematiikassa. Ohjelmoinnissa aliohjelmia nimitetään tietyissä tilanteissa funktioksi.*
Funktio f: X \rightarrow Y liittää jokaiseen joukon *X* alkioon täsmälleen yhden maalijoukon *Y* alkion.
**Funktio** eli **kuvaus** kertoo olioiden välisistä riippuvuussuhteista. 

Formaalisti **funktio** f\, joukolta A\, joukkoon B\, on sääntö, joka liittää jokaiseen joukon A\, alkioon täsmälleen yhden joukon B\, alkion. Funktiota merkitään yleensä symbolilla f: A \rightarrow B.

Funktioon f:A\to B\, liittyviä joukkoja kutsutaan f\,:n *lähtö*- eli *määrittelyjoukoksi* (A\,) ja *maalijoukoksi* (B\,). Jos A=B, niin sanotaan, että f on joukon A funktio. Määrittelyjoukon alkioita kutsutaan usein funktion *argumenteiksi*. Sitä, että f\,:n argumenttiin x\in A liittämä arvo on y\in B\ , merkitään yleensä y=f(x)\,, eli funktion f *kuva-alkio*. Tämän merkinnän otti käyttöön Leonhard Euler vuonna 1734. Esimerkiksi asetetaan kuvitellussa tilanteessa f\,:n määrittelyjoukoksi A nelihenkinen perhe. A on nyt siis ihminen-tyyppisistä alkioista koostuva joukko, jossa on neljä alkiota. Asetetaan sitten maalijoukoksi B kaikkien mahdollisten suomalaisten etunimien joukko. Koska jokaiseen ihmiseen voimme liittää jonkin yksikäsitteisen etunimen, niin voimme muodostaa funktion f nelihenkisen perheen ja kaikkien etunimien joukon välille. Tämän funktion argumentit ovat perheenjäseniä ja arvot perheenjäsenten etunimet.

Matematiikassa ja sen sovelluksissa tavallisin funktiotyyppi on sellainen, jossa lähtö- ja maalijoukot ovat lukujoukkoja ja funktion määrittelevä vastaavuus voidaan ilmaista laskutoimituksin. Tällöin on tavallista, joskin muodollisesti epäkorrektia, nimetä funktio määrittelyjoukon yleiseen alkioon kohdistuvan laskutoimituksen osoittavalla kaavalla, esimerkiksi "funktio x^2+1".

Esimerkkejä yleisestä määritelmästä
-----------------------------------

f: \mathbb{R} \to \mathbb{R}, jolla f(x) = x, on funktio reaalilukujen joukossa. Tässä funktio f liittää jokaiseen reaalilukuun luvun itsensä, ks. Identtinen funktio.

g: \mathbb{R} \to \mathbb{R}, jolla g(x)=x^{2}. Nyt funktio g liittää jokaiseen reaalilukuun tämän luvun neliön.

h: \mathbb{R} \times \mathbb{R} \to \mathbb{R}, jolla h(x, y) = x^2 + y^2, on kahden muuttujan funktio (ks. alla). Funktio h liittää jokaiseen reaalilukupariin lukujen neliöiden summan.

Tarkka määritelmä
-----------------

Yleensä edellä annettu määritelmä riittää pitkällekin menevissä matematiikan tutkimuksissa ja sovelluksissa. Kuitenkin on tarpeellista joskus määritellä funktio täsmällisemmin kuin lausein ja sanoin. Olkoot jälleen A\, ja B\, joukkoja. Tällöin näiden karteesisen tulon osajoukko f \subset A \times B\, on *funktio,* jos sille pätevät ehdot

\forall x\in A \exists y\in B : (x,\,y)\in f
ja

(x,y) \in f \Leftrightarrow \forall z \neq y : (x,z) \notin f.
Toisin sanoen pari (x,\,y) on funktion f\, alkio, jos ja vain jos jokaisella kuva-alkiosta y\, poikkeavilla alkioilla z\, pari (x,\,z) ei ole funktion f\, alkio. Siispä funktiossa kukin A\,:n alkio esiintyy tarkalleen kerran f:n parin ensimmäisenä alkiona. Funktio on siis erikoistapaus yleisemmistä kaksipaikkaisista relaatioista. Eksaktin määritelmän avulla funktiot f ja g ovat samat, kun ne ovat sama joukko, eli pätee f=g.

Esimerkkejä eksaktista määritelmästä
------------------------------------

Olkoon joukko A = \{1, 2\} ja joukko B = \{1, 2, 3\}.
Nyt näiden karteesinen tulo on joukko A \times B = \{(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)\}.

Funktiot joukossa A \times B ovat osajoukot:

* F\_1 = \{(1, 1), (2, 1)\} eli F\_1 : A \rightarrow B, F\_1(x) = 1
* F\_2 = \{(1, 1), (2, 2)\} eli F\_2 : A \to B, F\_2(x) = x
* F\_3 = \{(1, 1), (2, 3)\} eli F\_3 : A \to B, F\_3(x) = 2x - 1
* F\_4 = \{(1, 2), (2, 1)\} eli F\_4 : A \to B, F\_4(x) = 3 - x
* F\_5 = \{(1, 2), (2, 2)\} eli F\_5 : A \to B, F\_5(x) = 2
* F\_6 = \{(1, 2), (2, 3)\} eli F\_6 : A \to B, F\_6(x) = x + 1
* {\displaystyle F\_{7}=\{(1,3),(2,3)\}} eli F\_7 : A \to B, F\_7(x) = 3.

Funktion kuvaaja
----------------

Funktion f(x)=x kuvaaja
Funktiota on yleensä tapana mahdollisuuksien puitteissa kuvata myös visuaalisesti. Tämän mahdollistaa funktion *kuvaajan* käsite. Täsmällisesti jos f : A \rightarrow B on funktio, niin sen **kuvaaja** on karteesisen tulon A \times B osajoukko

\{ (x,f(x)) : x \in A \}.
Funktion kuvaaja koostuu siis määrittelyjoukon alkion ja vastaavan arvojoukon alkion muodostamista pareista. Funktion kuvaajan määritelmä on identtinen yllä esitetyn funktion eksaktin määritelmän kanssa.

Esimerkiksi funktion f: \mathbb{R} \to \mathbb{R}, f(x) = x, kuvaaja on määritelmän mukaan karteesisen tulon \R \times \R osajoukko

\{ (x,x) : x \in \R \}.
Tässä tapauksessa koska joukko \R \times \R on tavallinen 2-ulotteinen euklidinen avaruus \mathbb{R} ^{2}, niin voidaan funktion f kuvaajaa hahmottaa visuaalisesti sijoittamalla tasoon kuvaaja-joukon pisteet kuten oheisessa kuvassa näkyy.

Yhdistetty funktio
------------------

Jos f:A\to B, B\subset C ja g:C\to D, niin on määriteltävissä funktio h:A\to D siten, että h(x)=g(f(x))\,. Funktio h\, on funktioista f\, ja g\, **yhdistetty funktio** ja sitä merkitään g\circ f. Merkintä luetaan "g pallo f".

Jos esimerkiksi {\displaystyle A=B=C=D=\mathbb {R} \,}, f(x)=x+2\, ja g(x)=x^2\,, niin (f\circ g)(x)=x^2+2\, ja (g\circ f)(x)=(x+2)^2=x^2+4x+4\,.

Vektorimuuttujan funktiot ja vektoriarvoiset funktiot
-----------------------------------------------------

Kun funktion lähtöjoukko on hahmotettavissa useamman joukon karteesiseksi tuloksi, on usein tapana puhua **usean muuttujan funktiosta** tai **vektorimuuttujan funktiosta**. Jos x=(x\_1,x\_2,\dots,x\_n)\in A\_1\times A\_2\times\dots \times A\_n=A, niin funktion f:A\to B alkioon x\, liittämää kuva-alkiota f(x)\, merkitään yleensä f(x\_1,x\_2,\dots,x\_n)\,. Esimerkiksi ilmanpaine p\, tietyssä paikassa (x,y,z)\, ja tietyllä hetkellä on neljän muuttujan (kolme paikkakoordinaattia ja aika) reaaliarvoinen funktio p(x,y,z,t)\,. Tutumpi esimerkki on yhteenlaskufunktio  +: \mathbb{R} ^2 \rightarrow \mathbb{R} : lukuparin (x,\, y) yksikäsitteinen kuva-alkio +(x,y) on lukujen x ja y summa, ja sitä merkitään yksinkertaisemmin x+y\, (ks. Laskutoimitus).

  

Vastaavasti funktion palauttama arvo voi olla usean joukon karteesisen tulon alkio. Tällöin on tapana puhua **vektoriarvoisesta funktiosta**. Esimerkiksi joen virtaussuunta tasokartalla ja nopeus (kaksi arvoa) voidaan ilmoittaa joen suulta mitatun etäisyyden funktiona [0,P] \rightarrow \mathbb{R} ^2, missä P>0 on jokin vakio. Erityisesti fysiikassa vektoriarvoisen funktion sijasta puhutaan yleensä *vektorikentästä*. Esimerkiksi sähkökenttää voi kuvata funktio, joka liittää tiettyyn paikka- ja aika-avaruuden pisteeseen kentän suunnan, eli kyseessä on kuvaus  f: \mathbb{R} ^4 \rightarrow \mathbb{R} ^3 .

Joukkojen kuvat ja alkukuvat
----------------------------

  

Olkoon f : X \rightarrow Y funktio eli kuvaus.

* Joukon A \subset X **kuvajoukko** eli **kuva** kuvauksessa f\, on joukko

f(A) = \{ f(x)\in Y : x \in A \}.
Toisinaan kuvajoukkoa merkitään ilman sulkeita: f(A)=fA\,. Funktion kuvajoukko on siis maalijoukon Y\, osajoukko ja se koostuu niistä Y\,:n kuva-alkioista, joille määrittelyjoukon osajoukon A\, alkiot kuvautuvat kuvauksessa f\,. Jos asetamme osajoukoksi A\, koko määrittelyjoukon X\,, ei välttämättä vastaava kuvajoukko f(X) ole koko maalijoukko Y. Esimerkiksi funktion f : \R \rightarrow \R, f(x) = x^2\,, määrittelyjoukon kuva f(\R) = [0,+\infty[, joka on maalijoukon \mathbb{R}  aito osajoukko.

* Joukon B \subset Y **alkukuva** kuvauksessa f\, on joukko

f^{-1}(B) = \{ x \in X : f(x) \in B \}.
Funktion alkukuva on siis määrittelyjoukon X\, osajoukko ja se koostuu niistä X\,:n alkioista, jotka kuvautuvat joukon B\, alkioille kuvauksessa f\,. Yksittäisen alkion y\in Y alkukuva on f^{-1}(\{y\}). Jos asetetaan osajoukoksi B\, koko maalijoukko Y\,, niin vastaava alkukuva on koko määrittelyjoukko. Koko määrittelyjoukko voi kuitenkin olla jonkin maalijoukon aidon osajoukon alkukuva. Esimerkiksi funktion f : \R \rightarrow \R, f(x) = x^2\,, maalijoukon osajoukon [0,+\infty[ alkukuva on \mathbb{R}  eli koko määrittelyjoukko.

Alkeisfunktiot
--------------

Matematiikassa ja sen sovelluksissa tavallisimpia reaalimuuttujan x\, funktioita kutsutaan **alkeisfunktioiksi**. Alkeisfunktioita ovat ensinnäkin polynomit eli funktiot, jotka määritellään muuttujasta ja vakioista yhteen- ja kertolaskun avulla muodostetuilla laskulausekkeilla. Polynomifunktion p\, yleinen muoto on 

p(x)=a\_nx^n+a\_{n-1}x^{n-1}+\cdots+a\_1x+a\_0.
Polynomifunktioiden erikoistapauksia ovat **vakiofunktiot** f(x)=c\,, missä c\, on jokin vakio, ja **identtinen (reaalimuuttujan) funktio** f(x)=x\,. **Rationaalifunktiot** r\, määritellään lausekkein, joissa voi esiintyä yhteen- ja kertolaskun lisäksi myös jakolaskuja. Rationaalifunktion laskulauseke voidaan aina saattaa muotoon

r(x)=\frac{a\_nx^n+a\_{n-1}x^{n-1}+\cdots+a\_1x+a\_0}{b\_mx^m+b\_{m-1}x^{m-1}+\cdots+b\_1x+b\_0}
eli kahden polynomifunktion osamaaräksi. Koska nimittäjä voi olla nolla, rationaalifunktion määrittelyjoukko ei yleensä voi olla koko reaalilukujen joukko. Kun funktion lausekkeen muodostamisessa saa käyttää myös juurenottoja, funktio on **algebrallinen funktio**.

Algebrallisten funktioiden lisäksi alkeisfunktioihin luetaan eksponenttifunktiot, logaritmifunktiot, trigonometriset funktiot käänteisfunktioineen ja kaikki näistä yhdistämällä muodostetut funktiot.

Funktion ydin ja kantaja
------------------------

Algebrassa voidaan funktioille lisäksi määritellä *ytimen* käsite, joka on osoittautunut esimerkiksi isomorfisuuden tutkimisessa hyödylliseksi välineeksi.

Olkoon seuraavassa *G* ja *G´* ryhmiä ja f : G \rightarrow G' jokin funktio.

* Funktion f\, **ydin** on joukko

\mbox{Ker} (f) = \{ x \in G : f(x) = 0\_{G'} \},
missä merkintä 0\_{G'}\, tarkoittaa arvojoukon G'\, nolla-alkiota. Toisin sanoen funktion ydin koostuu niistä määrittelyjoukon alkioista, jotka kuvautuvat nolla-alkiolle. Funktion ydin on siis erityisesti nolla-alkion muodostaman yksiön alkukuva. Esimerkiksi funktion f : \R \rightarrow \R, f(x) = x^2\,, ydin koostuu pelkästä luvusta 0 sillä f(x) = 0\, jos ja vain jos x = 0\,. 

Erityisesti funktionaalianalyysissä hyödyllinen käsite on **funktion kantaja**. Jos funktion määrittelyjoukko on topologinen avaruus ja arvojoukko on reaali- tai kompleksilukujen joukko, funktion kantaja on joukon {\displaystyle f^{-1}(\mathbb {R} \setminus \{0\})} ({\displaystyle f^{-1}(\mathbb {C} \setminus \{0\})}) **sulkeuma** eli pienin kyseisen joukon sisältävä suljettu joukko.

Funktiokäsitteen historiaa
--------------------------

Sanan *funktio* etymologia perustuu latinan verbiin *fungi*, 'tehdä, toimia, toimittaa'. Sanaa sen matemaattisessa merkityksessä käytti ensimmäisenä saksalainen G. W. Leibniz vuonna 1694. Sveitsiläinen Johann Bernoulli käytti vuonna 1718 merkintää \phi x\,. Merkintää f(x)\, käyttivät ensi kerran ranskalainen *Alexis Claude Clairaut* (1713–1765) ja sveitsiläinen Euler vuonna 1734. Funktiolla ymmärrettiin pitkään laskulausekkeen tulosta, mutta jo Eulerilla esiintyy ajatus funktiosta minä hyvänsä lukujen välisenä yhteytenä. Saksalainen Dirichlet esitti vuonna 1837 olennaisesti nykyisen funktion määritelmän, joka ei sido funktiota lukujen laskutoimituksiin.

Erityisesti Cauchyn, Riemannin ja Weierstrassin havainnot kompleksilukumuuttujan kompleksilukuarvoisista funktioista synnyttivät 1800-luvulla funktioteoriaksi kutsutun matematiikan osa-alueen. Sen tutkimus on ollut elinvoimaista Suomessa 1900-luvulla.

Funktion ominaisuuksia
----------------------

Funktiolle on määritelty paljon erilaisia ominaisuuksia:

* affiinisuus
* bijektiivisyys
* derivoituvuus
* injektiivisyys
* integroituvuus
* jatkuvuus
* konveksisuus ja konkaavisuus
* lineaarisuus
* surjektiivisuus
* symmetrisyys

Katso myös
----------

* Derivaatta
* Integraali
* Käänteisfunktio
* Matemaattinen optimointi
* Osittaisfunktio
* Polynomi
* Trigonometrinen funktio

Lähteet
-------

1. ↑  Pekka Kontkanen, Riitta Liira, Kerkko Luosto, Juha Nurmi, Riikka Nurmiainen, Anja Ronkainen ja Sisko Savolainen: *Pyramidi 1*, s. 115. Kustannusosakeyhtiö Tammi, 2010. ISBN 978-951-26-5134-4.
2. ↑  Häsä, Jokke; Rämö, Johanna: *Johdatus abstraktiin algebraan*, s. 18–19. Helsinki: Gaudeamus, 2015. ISBN 978-952-495-361-0.
3. ↑  Leonhard Euler - Biography *Maths History*. Viitattu 5.12.2021. (englanniksi)

Kirjallisuutta
--------------

* Häsä, Jokke; Rämö, Johanna: *Johdatus abstraktiin algebraan*. Helsinki: Gaudeamus, 2015. ISBN 978-952-495-361-0.
* Merikoski, Jorma; Virtanen, Ari; Koivisto, Pertti: *Diskreetti matematiikka I*. Tampere: Tampereen yliopisto, 2001 (1993). ISBN 951-44-3604-0.
* Pitkäranta, Juhani: Calculus Fennicus – TKK:n 1. lukuvuoden laaja matematiikka (2000–2013) (pdf) Helsinki:  Avoimet oppimateriaalit ry. ISBN 978-952-7010-12-9 ISBN 978-952-7010-6 (pdf).

Aiheesta muualla
----------------

* Kuvia tai muita tiedostoja aiheesta **Funktio** Wikimedia Commonsissa