Python sisältää on runsaasti erilaisia moduuleja. Tässä tutkailen millaisia matemaattisia kirjastoja on Abitti 2:n Abicodessa. Esitän esimerkkien avulla joitakin math, random, statistics, decimal ja fractions moduulien funktioita.
Valitsen esimerkkeihin sellaisia funktioita, joista voisi teoriassa olla lukiolaisille apua pitkän tai lyhyen matikan opinnoissa ja ylioppilaskirjoituksissa. Tarinan lopun lähteissä on linkki tiedostoon, jossa on Googlen Colabissa samat esimerkit ja pikkuisen jotain muuta aiheeseen liittyvää. Kaikkien moduulien ”viralliset” käyttöohjeet löytyvät lähteet-luvusta. Abicoden verkkoversio löytyy osoitteesta https://abicode.abitti.fi/ Se on identtinen Abitti 2:n version kanssa. Käytän tämän tarinan esimerkeissä Abicoden verkkoversiota.
sisäänrakennetut matemaattiset funktiot
Pythonin perusasennus sisältää aika monta matemaattista funktiota. Funktioiden toiminta pitäisi selvitä seuraavasta esimerkistä ja käyttöohjeesta, linkki löytyy tarinan lopusta. Siellä on myös linkki Colab-tiedostoon, jossa on esimerkkikoodit ja vähän muutakin.

help ja moduulit
Asennetut moduulit saa näkyviin help-funktion avustuksella. Abicoden listauksessa on noin 260 moduulia.

Valitsen matematiikkaan liittyviä moduleja jonkinlaisessa tärkeysjärjestyksessä. Tässä esitän joitakin funktioita seuraavista moduuleista: math, random, statistics, decimal ja fraction.
math-moduuli
Math-moduuli on keskeisin matematiikan työkalu Pythonissa. Se sisältää yleisimmät matikan funktiot ja vakiot. Moduulin kaikki funktiot saa näkyville help-funktion avulla. Toisaalta python.org-sivuston math ohjesivu näyttää funktiot fiksummin. Linkki löytyy lähteistä.

Seuraavassa luettelen tärkeimpiä funktioita aiheittain. Funktioiden toiminta pitäisi selvitä esimerkistä.
Ceil on katto, se tuottaa lukusuoralta seuraavan kokonaisluvun, floor on lattia se tuottaa lukusuoralta edellisen kokonaisluvun, trunc katkaisee desimaaliosan pois. Trunc toimii samalla tavoin kuin int, mutta sen avulla ei saa muutettua merkkijonoa luvuksi tyyliin int(¨42¨) = 42.

Sqrt on neliöjuuri, cbrt kuutio- eli kolmasjuuri, log(x) on luonnollinen logaritmi, log(x, n) yleinen logaritmi ja log10 on 10-kantainen logaritmi. Pow(x, n) on aina liukuluku (float) toisin kuin x**n, jonka arvo on kokonaisluku (int) jos x ja n ovat kokonaislukuja.




random-moduuli
Random sisältää satunnaislukuihin liittyviä funktioita. Funktio random() antaa liukuluvun (float) väliltä 0 ≤ x < 1, uniform(a, b) liukuluvun väliltä a ≤ x < b, randint(a, b) kokonaisluvun (int) väliltä a ≤ x ≤ b ja randrange(n) kokonaisluvun väliltä 0 ≤ x ≤ n-1.

statistics-moduuli
Statistics sisältää keskeisimmät tilastolliset funktiot. Funktiot toimivat, kun laskettavissa listoissa kaikki oliot ovat samaa tyyppiä eli joko int, float, Decimal tai Fraction. Jos tutkittavassa listassa on NaN, niin laskenta ei toimi kaikilla funktioilla.
Stdev on otoskeskihajonta (nimittäjässä n-1), pstdev on keskihajonta (nimittäjässä n).


decimal
Decimal-moduuli mahdollistaa tarkan laskennan desimaaliluvuilla. Lue pyöristysvirheistä artikkelistani ”Pyöristysvirheistä Pythonissa ja GeoGebrassa”.
Decimals toimii myös sqrt, exp, log10 ja ln -funktioiden kanssa. Jos haluat laske piin arvon useammalla desimaalilla, niin ohjedokumentissa on funktio, joka laskee sen.

Decimal-luvuilla voi laskea peruslaskutoimituksilla. Tosin viimeisiin desimaaleihin tullee pyöristysvirhettä.

fraction
Fraction-moduulin avulla voi laskea murtolukulaskuja.

lopuksi
Edellä esitettyjen moduulien lisäksi matematiikkaan liittyviä moduuleja Abicodessa ovat calendar, datetime ja cmath. Ne eivät välttämättä liity lukiomatematiikkaan, jätän niiden tutkimisen tulevaisuuteen.
lähteet
Esimerkkitiedostot Colabissa
https://colab.research.google.com/drive/1yAqjQdsM9uSSA6vhRtscb5Zb1_z_yWb4?usp=sharing
Abicode verkossa
https://abicode.abitti.fi/
Pythonin Built-in funktiot
https://docs.python.org/3/library/functions.html
math-moduuli ohje python.orgissa
https://docs.python.org/3/library/math.html
random — Generate pseudo-random numbers
https://docs.python.org/3/library/random.html
statistics — Mathematical statistics functions
https://docs.python.org/3/library/statistics.html
decimal — Decimal fixed-point and floating-point arithmetic
https://docs.python.org/3/library/decimal.html
fractions — Rational numbers
https://docs.python.org/3/library/fractions.html
Pyöristysvirheistä Pythonissa ja GeoGebrassa
https://mikkorahikka.blog/2025/03/20/pyoristysvirheista-pythonissa-ja-geogebrassa/
Koodiesimerkit Colabissa
https://colab.research.google.com/drive/1yAqjQdsM9uSSA6vhRtscb5Zb1_z_yWb4?usp=sharing

Jätä kommentti