MattieT-tehtäväportaali


Yhteydenotot:

Heikki Apiola
Dept. of Math. Sci.
Aalto-yliopisto
heikki.apiola'at'aalto.fi

Juha Kuortti
Dept. of Math. Sci.
Aalto-yliopisto
juha.kuortti 'at' aalto.fi

Miika Oksman
Dept. of Math. Sci.
Aalto-yliopisto
miika.oksman 'at' aalto.fi

Maple/Basic

Käytön idea: Kun löydät mieleisesi tehtävän, sen alapuolella on linkki tex-tiedostoon. Lataa tiedosto, ja liitä se harjoituspohjaan tai omaan Latex-pohjaasi.

Sisällysluettelo


  1. mplBas000

    mplBas000

    Teknillinen korkeakoulu Alestalo
    Matematiikka

    Peruskurssien Maple-käskyjä

    Tämä tiivistelmä sisältää tärkeimmät Maple-käskyt version 17 mukaan. (Muutettu linalg-tyyppiset LinearAlgebra-tyyppisiksi (Apiola) 10.3.14)

    • Valitse ponnahdusikkunasta "Start with Blank Worksheet".

    • Käsky suoritetaan painamalla Return. Käskyn lopussa voi olla kaksoispiste tai ei mitään. Kaksoispisteeseen päättyvän käskyn tulosta ei näytetä. Samalla rivillä voi olla useita käskyjä, jotka täytyy erottaa toisistaan välimerkillä : tai ; Pitkä käsky kannattaa jakaa useille riveille painamalla Shift + Return.

    • Kaikista käskyistä saa lisätietoja kirjoittamalla ?käskynnimi ja painamalla Return. Erityisesti kannattaa katsoa esimerkkejä.

    • Edellisen käskyn tulokseen voi viitata symbolilla %, toiseksi edelliseen symbolilla %%. Aikaisempien käskyjen tuloksiin voi viitata niiden numeroiden perusteella: Valitse Insert \(\to\) Label tai Ctrl + l.

    • Vakioille voidaan antaa arvoja esim. muodossa alpha:= 1.5; Huomaa, että ohjelma ymmärtää vain desimaalipisteen.

    • Tavalliset laskutoimitukset kirjoitetaan samaan tapaan kuin paperilla, \(x^2\) muodossa x^2. Nuolinäppäimellä \(\to\) pääsee pois yläindeksistä.

    • Myös pidemmille lausekkeille tai funktioille voidaan antaa uusia nimiä: esim. p:= 2*x^2-3*x määrittelee p:n lausekkeena, mutta poly:= x -\(>\) 2*x^2-3*x määrittelee poly:n funktiona. Funktiosta saadaan helposti lauseke, mutta vastakkainen suunta on hankalampi: Maplen kannalta p ja poly(x) ovat sama asia, mutta funktiota poly voi käyttää paljon monipuolisemmin.

    • Muuttujan arvon voi poistaa kirjoittamalla esim. alpha:= ’alpha’; Kaikki määritelmät voi poistaa restart-käskyllä, mutta teksti jää näkyviin ja käskyt voi antaa (esim. korjattuina) uudelleen.

    • Laskutoimituksia lukuunottamatta muut käskyt toimivat kuten funktiot, eli niitä käytetään tyyliin funktionnimi(muuttuja); tai mahdollisesti tarkenteiden kanssa muodossa funktionnimi(muuttuja, tarkenteita); alkuhaparoinnin jälkeen ei saa enää tehdä sellaisia virheitä kuin sin x, sinx, exp^x, exp^(x). Oikeat muodot ovat siis sin(x), exp(x).

    • Jos käsky kirjoitetaan heittomerkkien sisään, saadaan sen symbolinen muoto: esim. ’sin(Pi)’=sin(Pi);

    • Ohjelman toimintaan ei vaikuta se, missä järjestyksessä käskyt ovat työarkilla, vaan se, missä järjestyksessä käskyt on suoritettu. Selvyyden vuoksi kannattaa toki edetä ylhäältä alas.

    • Työarkin lataaminen (FILE-valikon avulla) Mapleen ei aiheuta siinä olevien komentojen suorittumista. Komennot on joko “napsuteltava” ENTER:llä tai suoritettava EDIT-valikon “Execute worksheet”-valinnalla, jos näin halutaan.

    • abs

      Itseisarvo tai moduli: abs(-3);

    • arcos, arcsin, arctan, arccot

      Trigonometristen funktioiden käänteisfunktiot: arctan(1);

    • argument

      Kompleksiluvun argumentti (vaihekulma): argument(I);

    • cos, sin, tan, cot

      Trigonometriset funktiot: sin(Pi/6);

    • exp

      Eksponenttifunktio: exp(2*x); Huom: Neperin luku on exp(1) eikä sitä voi kirjoittaa millään muulla tavalla.

    • I

      Imaginaariyksikkö: z:= 1+2*I;

    • ln

      tai log Luonnollinen logaritmi (exp-funktion käänteisfunktio)

    • Pi

      Ympyrän kehän pituuden suhde halkaisijaan \(\approx 3,\! 14\). Symboli pi tarkoittaa kreikkalaista kirjainta \(\pi\).

    • Re, Im

      Kompleksiluvun reaali- ja imaginaariosa: Re(1-I);
      Huom: Helpoin tapa muuntaa kompleksiluku tason pisteeksi (= lista): [Re,Im](2+3*I);

    • sqrt

      Neliöjuuri: sqrt(1+x^2);

    • symbolien indeksointi: a[1]:= 6; a[2]:= 9;

    • add

      Summaa jonon termit: add(n^2, n=1..100); Ylärajan oltava numeerinen. Vrt. sum. (sum osaa myös symboliselle ylärajalle, jos mahdollista.)

    • alias

      Annetaan oma (lyhyt) “lempinimi”: Esim: alias(rref=ReducedRowEchelonForm)

    • assign

      Määrittelee muuttujien arvot annetuista yhtälöistä:
      fsolve(x^3+x+1=0,x); assign(%); (“vaarallinen, mutta helppo”)

    • CrossProduct

      Vektoreiden ristitulo: CrossProduct(a,b);

    • D

      Derivaatta funktiolle: f:= x -\(>\) x^2; D(f);

    • Determinant

      Neliömatriisin determinantti: Determinant(A);

    • diff

      Lausekkeen derivaatta:
      diff(p,x); diff(p,x,x); diff(p, x$5);

    • display

      Grafiikkojen yhdistäminen:
      A:= plot(sin(x),x=0..Pi):
      B:= implicitplot(sin(x+cos(y))=x, x=0..1, y=0..Pi):
      display(A,B);

    • DotProduct

      Vektoreiden pistetulo: DotProduct(a,b);

    • eigenvals

      Matriisin ominaisarvot: eigenvals(A);

    • Eigenvectors

      Matriisin ominaisarvot kertalukuineen ja vastaavat ominaisvektorit: Eigenvectors(A);

    • eval

      Evaluoi lausekkeen (laskee arvon). Useimmin käytetty muoto: eval(lauseke, x=a) (Vrt. subs, jossa päinvastainen järjestys.)

    • evalc

      Sieventää kompleksilukuja koskevia lausekkeita:
      sqrt(1+I); evalc(%);

    • evalf

      Laskee liukulukulikiarvon (määrätyllä tarkkuudella):
      evalf(Pi); evalf(Pi,100); (f - float)

    • expand

      Laskee lausekkeen auki: expand((x+y)*(1-x));

    • for

      Toistokäsky: for n from 1 to 10 do a[n]:= sin(Pi/n) end do;
      Huom: Tämän toiston jälkeen muuttujalle \(n\) jää arvoksi 11.

    • fsolve

      Yhtälön numeerinen ratkaiseminen: fsolve(x^3+x=1,x); fsolve(x^3+x=1,x,complex);

    • implicitplot

      Piirtää tasokäyrän pelkän yhtälön perusteella:
      implicitplot(x^2-x*y+y^2=1, x=-2..2, y=-2..2); (Vrt. contourplot)

    • int

      Integroimiskäsky: int(sqrt(x+x^2), x=0..1);
      Numeerisesti: evalf(Int(f(x), x=a..b));

    • inverse

      Käänteismatriisi: inverse(A); (vanhassa linalg:ssa (Uudempi MatrixInverse LinearAlgebra-kirjastossa )

    • LinearSolve

      Yhtälöryhmän \(A{\bf x}={\bf b}\) ratkaiseminen: LinearSolve(A,b);
      Toimii vain silloin, kun ratkaisu on yksikäsitteinen.

    • map

      Kuvaa funktion jokaiseen listan alkioon: map(x-\(>\)x^3, [a,b,c]);

    • Matrix

      Matriisin rakentaminen:
      Matrix([[a,b],[c,d]]);

    • nops

      listan pituus (number of operands): nops([a,b,c,d]);

    • plot

      Kuvaajan piirtäminen:
      plot(sin(x),x=0..Pi); plot([sin(x),cos(x)],x=0..Pi);

    • product

      eli tulo, kertoo jonon termit: product(1/n^2, n=1..10);

    • restart

      Poistaa muistista kaikki määrittelyt.

    • seq

      Jonon muodostaminen: seq(n^2, n=1..5);

    • simplify

      Lausekkeen sieventäminen: simplify(%);

    • solve

      Yhtälön ratkaiseminen (tarkasti): solve(x^2+x=1,x);

    • subs

      Sijoituskäsky: subs(x=1,polynomi); Huom: Ei muuta \(polynomi\)n määrittelyä. (Vrt. eval(polynomi,x=1);)

    • sum

      Summaa jonon termit: sum(n^2, n=1..100); (vrt. add). sum suorittaa myös symbolista summausta.

    • Vector

      Vektorin muodostaminen: Vector ([1,3,5]);

    • with

      Lisäpakettien latauskäsky: with(plots); with(LinearAlgebra);

    • Jono on Maplessa kokoelma pilkulla erotettuja olioita, esim. jonoA:= 3,4,5,f,sin(7); tai jonoB:= seq(n^3, n=-3..8); Jonojen alkioihin voi viitata muodossa jononnimi[moneskoalkio].

    • Lista on täsmälleen sama kuin [jono].

    • Käsky on väärin kirjoitettu: sulkuja puuttuu tai ne eivät täsmää.

    • Määrittelyssä on käytetty = eikä :=

    • Jonot, listat tai vektorit sekaisin: kaikki ovat eri asioita.

    • Lausekkeet ja funktiot sekaisin.

    • Muuttujilla on vanhoja arvoja aikaisemmista laskuista.

    • restart

      -käskyn jälkeen ei ole suoritettu kaikkia tarvittavia käskyjä.

    • %-merkki viittaa viimeisen suoritetun käskyn tulokseen, esimerkiksi virheilmoitukseen. % ei automaattisesti tarkoita työarkilla heti yläpuolella

    Tiedoston Latex-koodi: (Muokkaa tarpeittesi mukaan)
    ../mplteht/mplBasic/mplBas000.tex


  2. mplBas001

    Tiedosto: mplBas001.tex
    Ohjelmat: Maple, [Mathematica]

    Sievennä lauseke \[\frac{x-1}{(1-\frac{1}{\sqrt{x}})(1+\frac{1}{\sqrt{x}})}.\]

    Vihje
    Kokeile funktiota simplify.

    Vaativuus: 1-
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas001.tex
    Avainsanat:mplBasic, Mapleperusteet, simplify


  3. mplBas002a

    mplBas002a.tex (PA P1 s.2011)

    Fibonaccin lukujono \((f_n)\) määritellään alkuehdoilla \(f_0=0,\ f_1 = 1\) ja palautuskaavalla \(f_{n+2}=f_{n}+f_{n+1}\), kun \(n\ge 2\). Samat luvut saadaan suoraan lausekkeesta \[f_n=\frac{1}{\sqrt{5}}(\varphi^n-(-\varphi)^{-n})\] arvolla \(\varphi = \frac{1+\sqrt{5}}{2}\). Määrittele \(f_n=f(n)\) funktiona ja osoita, että sekä alkuehdot että palautuskaava toteutuvat.
    Vihje: Määrittele aluksi phi:= ... Palautuskaavan kohdalla on helpompi osoittaa jokin lauseke nollaksi kuin verrata kahta hankalaa lauseketta.
    (sqrt, simplify, expand)

    Muista funktiomääritys:
    f:=n->...

    Vaativuus: 2
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas002a.tex
    Avainsanat: Fibonacci, funktiomääritys, palautuskaava, simplify, expand


  4. mplBas002b

    mplP002b.tex (PA P1 s.2011)
    Intialaisen matemaatikon Srinivasa Ramanujanin (1887–1920) keksimän kaavan mukaan \[\frac{1}{\pi}=\frac{2\sqrt{2}}{9801}\sum_{n=0}^{\infty} \frac{(1103+26390n)(4n)!}{396^{4n}(n!)^4}.\] Tutki (numeerisesti), monennenko osasumman avulla saadaan luvun \(1/\pi\) likiarvo 50 desimaalin tarkkuudella.
    b) Määrittele sarjan yleinen termi \(a_n=a(n)\) funktiona ja laske raja-arvo \[q = \lim_{n\to\infty} \frac{a_{n+1}}{a_n}.\] Sarja suppenee siis suunnilleen samaa vauhtia kuin sellainen geometrinen sarja, jonka suhdeluku on \(q\).
    (Pi, sqrt, sum, evalf(luku, desimaalien lkm), limit)

    Muista funktiomääritys:
    a:=n-> ...

    Vaativuus: 2-
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas002b.tex
    Avainsanat:Mapleperusteet,mplBasic, sarjat, Pi, sqrt, evalf


  5. mplBas002

    mplP002.tex (PA P1 s.2011)

    1. Klikkaa hiirellä (Viikkoharjoitukset-sivun) tiedostoa (maple1.mw) tässä mplBas002Pohja.mw ** HAE TÄMÄ *** ja avaa se Maple-ohjelmalla. Käy läpi työarkin tehtävät ja siirry sen jälkeen alla oleviin tehtäviin.

    2. a) Kokeile Maplen voimia seuraavien sarjojen kohdalla: \[\sum_{n=1}^{\infty} \frac{1}{n^2},\ \ \sum_{n=1}^{\infty} \frac{1}{n},\ \ \sum_{n=0}^{\infty} \frac{(-1)^{n}}{2n+1}, \ \ \sum_{n=1}^{\infty}\frac{n^3}{2^n}.\] b) Montako termiä hajaantuvasta sarjasta \[\sum_{n=1}^{\infty} \frac{1}{n}\] on otettava mukaan, jotta vastaava osasumma olisi vähintään 100?
      (sum, evalf, infinity)

    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas002.tex
    Avainsanat: Mapleperusteet, sarjan summa, sum, evalf, infinity


  6. mplBas004

    mplBas004
    Suorita Maplella :

    > series(exp(x), x = 0, 10);  # tai taylor(…);
    > p:=convert(%,polynom);
    > c:=coeffs(p,x);
    > evalf(%);

    Selitä, mitä näissä tapahtuu. (Tutki tarvitessasi helpillä tyyliin ?convert.)

    Piirrä polynomin p kuvaaja sopivalla välillä. 2mm

    Vaativuus: 1
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas004.tex
    Avainsanat: Mapleperusteet,mplBasic, polynomin kertoimet, coeffs, convert(sarja,polynom)


  7. mplBas005

    mplBas005

    Etsi lukujen \(1234^{3243}\) ja \(7681\) suurin yhteinen tekijä.

    Suurin yhteinen tekijä lasketaan funktiolla igcd. Jos myös kertoimet halutaan tietää, kannattaa käyttää funktioita igcdex.

    Vaativuus: 1-
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas005.tex
    Avainsanat:Mapleperusteet, mplBasic,syt, suurin yhteinen tekija, igcd,igcdex


  8. mplBas006

    mplBas006 (HA:n Maple-kirja ss. 48-50)

    1. Laske \(2^{123}, \pi^3, e^5\) neljälläkymmenellä (40) numerolla.

    2. Mikä rationaaliluvuista \({\frac{22}{7}},{\frac{311}{99}},{\frac{355}{113}}\) approksimoi parhaiten \(\pi\):tä ?

    3. Kumpi luvuista \(\pi^e\) , \(e^\pi\) on suurempi?

    4. Jaa tekijöihin polynomi \(x^3- y^3\)

    Vihje

       ?evalf
       ?factor

    Vaativuus: 1
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas006.tex
    Avainsanat:mplBasic,Mapleperusteet, evalf, factor


  9. mplBas007

    mplBas007.tex (HA:n Maple-kirja ss. 48-50)

    Määrittele polynomilauseke \(p=x^3-4x^2+3x+2\).
    Määritä \(p\):n juuret ja piirrä kuvaaja välillä, joka sisältää juuret. Määritä myös paikalliset ääriarvot.

       p:= ...   (ei siis p = ... (kuten Matlabissa))
       plot(p,x=a..b)
       ?plot
       solve   yrittaa tarkkaa analyyttista ratkaisua (vaikka onnistuisi, voi olla turhan mutkikas)
       fsolve  numeerinen ratkaisija

    Luokittelu: Maple perusteet, lausekkeet, yhtälöt, nollakohdat, grafiikka

    Vaativuus: 2-
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas007.tex
    Avainsanat:mplBasic,Mapleperusteet, polynomi,nollakohdat, minimit, maksimit, solve, fsolve


  10. mplBas008

    mplP008.tex (HA:n Maple-kirja ss. 48-50)

    Piirrä samaan kuvaan \(x^4\) ja \(2^x\) ja selvitä, kuinka monessa pisteessä ne leikkaavat. Varmaan joudut piirtämään useita kuvia eri alueilta.

    Suurimman juuren etsimisessä voi oikean alueen ehkä löytää nopeimmin tyyppiä seq([x^4,2^x],x=a..b); olevalla komennolla.

    Tutki fsolve-komennon help-teksti ja määritä likiarvo suurimmalle juurelle.

    seq(f(x),x=a..b) toimii kokonaislukuaskelin.
    Uusimmissa Maplen versioissa voidaan antaa askel h näin:

      jono:=seq(f(x),x=a..b,h);

    (Vrt Matlab: jono=a:h:b )

    Vaativuus: 1+
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas008.tex
    Avainsanat: Maple perusteet, jonot (seq), yhtälöt, nollakohdat, grafiikka


  11. mplBas009

    mplP009.tex (HA:n Maple-kirja ss. 48-50)
    Mitä tekevät seuraavat Maple-komennot:

    > sum(i^2,i=1..10);
    > ifactor(1998); # Maple-oppaan kirjoitusvuosi
    > ifactor(2013); # Aikaa on kulunut.
    > solve({x+2*y=5,x^2+y^2=10},{x,y});
    > solve([x+2*y = 5, x^2+y^2 = 10], [x, y])

    Kaksi solve-komennon muotoa liityvät tietorakenteisiin. Edellinen käsittelee joukkoina, jälkimmäinen listoina. (Joukon alkioilla ei ole määrättyä järjestystä päinvastoin kuin listassa.)

    Vaativuus: 2-
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas009.tex
    Avainsanat: Mapleperusteet, yhtälöryhmä, joukko, lista, tekijöihin jako.


  12. mplBas010

    mplBas010.tex
    Muodosta funktion \(\cos(x) \sin(x)\) ensimmäinen ja toinen derivaatta ja piirrä kunkin kuvaaja sopivaksi katsomallasi välillä kenties mieluiten eri koordinaatistoihin.

    Vaativuus: 1-
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas010.tex

    Avainsanat: Mapleperusteet, mplBasic, diff, simplify, perusssievennys, plot


  13. mplBas011

    mplBas011.tex (HA:n Maple-kirja ss. 48-50)

    Funktiolausekkeen derivaatta muodostetaan diff-komennolla.

    Määritä seuraavien funktioiden 1. ja 2. derivaatta ja sievennä tulokset simplify-komennolla.

    \(6x^3+3x^2-2x+1\) , \({\frac {x+1}{{x}^{2}+1}}\) , \(\cos(x^2+1)\) , \(\arcsin(2x+3)\) , \(\sqrt{1+x^4}\) , \(\arctan x\) Vaativuus: 1
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas011.tex
    Avainsanat: Mapleperusteet, Maplediffint, lauseke, symbolinen derivointi, diff


  14. mplBas014

    mlBas014.tex, mplBas014.tex
    Maple [Mathematica] , Matlab (erityisesti b)-kohta).
    Tarkastellaan funktiota

    \[f(x)=1 +\frac{sin(x)}{1+x^2} .\]

    a) Maple: Määrittele f lausekkeeksi, laske f:n arvo pisteessä \(x=-2.0\) ja piirrä kuvaaja välillä \(\left[-5,5\right]\).

    Matlab:
    Tee vastaava asia Matlabilla, kirjoita skripti. Huomaa, että Matlabissa täytyy ensin antaa x:lle numeerinen (vektori)arvo.

    b) Tee samat asiat, mutta nyt määrittelemällä f funktioksi.

    a)

       Maple                               Matlab:
      
    > f:=1-...                            >> x=...
    > subs...                             >> f=...
    > plot                                >> plot

    b)

        Maple                             Matlab
    
    > f:=x->1-...                        >> f:=@(x) 1-...

    Vaativuus: 2-
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas014.tex
    Ratkaisu:
    ../mplteht/mplBasic/ratkaisut/mplBas014R.pdf
    ../mplteht/mplBasic/ratkaisut/mplBas014R.mw (Maple worksheet)

    Avainsanat:
    Mapleperusteet, funktiot, lausekkeet, Matlabperusteet


  15. mplBas015

    mplBas015.tex
    Laske funktion \(f(x)= e^{-x^2}\) arvoja \(0.5\):n välein välillä \(0 \ldots 5\), ja piirrä taulukoiduista arvoista kuvaaja

    Vihje
    Määrittele f funktioksi tyyliin f:=x-> ...
    Muodosta jono seq-funktion avulla ja ympäröi se listasuluilla tyyliin: h:=0.5: x:=[seq(k*h),k=...]
    Nykyversioissa on myös muoto seq(a,b,h), joka vastaa Matlab:n lauseketta:
    a:h:b. Muodosta funktion arvot tyyliin y:=map(f,x)
    Taulukon saat kenties selkeimmän tyyliin

     with(linalg)
     transpose(matrix([x,y]))

    (Vaikka suosimme uudempaa, LinearAlgebra-kirjastopakkausta, joihinkin operaatioihin “vanha” linalg soveltuu paremmin.)

    Datan voi piirtää nykyisin myös "Matlab-tyylillä": plot(x,y)

    Vaativuus: 1+
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas015.tex
    Ratkaisu:
    ../mplteht/mplBasic/ratkaisut/mplBas015R.mpltxt(Maplekomennot tekstimuodossa)


  16. mplBas017

    mplBas017.tex [mplODE017.tex]
    Opiskelija ottaa lainaa \(10 000\) euroa hetkellä \(k=0\) ja ryhtyy maksamaan sitä takaisin kuukauden päästä hetkellä \(k=1\). Kuukausikorko on \(1\)% (huh!) ja takaisinmaksu tapahtuu kiintein maksuerin \(450\) EUR/kk Olkoon \(y_k\) \(k\):n kuukauden kuluttua jäljellä olevan velan määrä. Muodosta taulukko ja graafinen esitys, jossa on pisteet \((k, y_k)\), ja selvitä sen perusteella, miten kauan velan maksu kestää ja miten paljon rahaa opiskelijaparka käyttää koko projektiin.

    Vaativuus: 1
    Tehtävän Latex-koodi:
    ../mplteht/mplBasic/mplBas017.tex

    Ratkaisu:
    ../mplteht/mplODE/ratkaisut/mplODE019R.pdf
    ../mplteht/mplODE/ratkaisut/mplODE019R.mw

    Avainsanat: mplODE,Mapledifferenssiyhtälöt,Mapleperusteet,mplBasic

    Luokittelu: Differenssi- ja differentiaaliyhtalot, Maple-perusteet.