A Maple egy hatékony matematikai szoftver csomag PC-re, melynek segítségével algebrai és formális matematikai műveletek végezhetőek el. Képes továbbá numerikus analízis feladatok elvégzésére és az eredmények sokoldalú grafikus megjelenítésére. A Maple munkafelülete alkalmas technikai dokumentációk készítésére, munkafelületén szöveg, matematikai kifejezések és grafikonok egyaránt megférnek. Nagy erőssége az egyenlet megoldó képesség, és az, hogy jól kezeli a formális matematikai számításokat.
Története bélyegkép|jobbra|260px|Maplesoft központja A Maple első koncepciója 1980 novemberében alakult ki, a Waterlooi egyetemen. Az egyetem kutatói egy olyan számítógépet akartak megvenni, ami elég erős ahhoz, hogy fusson rajta a macsyma. Ehelyett elhatározták, hogy kifejlesztik saját algebrai rendszerüket, ami elérhető a kutatók, és diákok számára. A kezdeti fejlesztés nagyon gyorsan haladt, az első korlátozott kiadása 1980 decemberében jelent meg. A kutatók kipróbálták, és rengeteg különböző ötlettel álltak elő, hogy létrehozzanak egy folyamatosan fejlődő rendszert. A Maple-t először egy konferencián mutatták be 1982-ben. A neve kanadai mivoltára utal. 1983 végére már több mint 50 egyetem számítógépeire volt telepítve a program. Megalapították a Waterloo Maple Inc.-t, mely fő céljai a szoftver osztályozása, illetve, hogy legyen egy részlege, ahol a folyamatos fejlesztés folyik.
Verzió történet Maple 1.0: 1982. január Maple 1.1: 1982. január Maple 2.0: 1982. május Maple 2.1: 1982. június Maple 2.15: 1982. augusztus Maple 2.2: 1982. december Maple 3.0: 1983. május Maple 3.1: 1983. október Maple 3.2: 1984. április Maple 3.3: 1985. március (első nyilvánosan is elérhető verzió) Maple 4.0: 1986. április Maple 4.1: 1987. május Maple 4.2: 1987. december Maple 4.3: 1989. március (első grafikusan használható kezelőfelületet) Maple V: 1990. augusztus Maple V R2: 1992. november Maple V R3: 1994. március 15. Maple V R4: 1996. január Maple V R5: 1997. november 1. Maple 6: 1999. december 6. (numerikus NAG csomag) Maple 7: 2001. július 1. Maple 8: 2002. április 16. Maple 9: 2003. június 30. (új Java nyelvű általános interfészt) Maple 9.5: 2004. április 15. Maple 10: 2005. május 10. Maple 11: 2007. február 21. Maple 11.01: 2007. július Maple 11.02: 2007. november Maple 12: 2008. május Maple 12.01: 2008. október Maple 12.02: 2008. december Maple 13: 2009. április Maple 13.01: 2009. július Maple 13.02: 2009. október Maple 14: 2010. április Maple 14.01: 2010. október 28. Maple 15: 2011. április 13. Maple 15.01: 2011. június 21. Maple 16: 2012. március 28. Maple 16.01: 2012. május 16. Maple 17: 2013 Maple 18: 2014 Maple 2015: 2015 Maple 2016: 2016 Maple 2016.1: 2016. április 20. Maple 2016.1a: 2016. április 27. Maple 2017: 2017. május 25. Maple 2017.1: 2017. június 28. Maple 2017.2: 2017. augusztus 2. Maple 2017.3: 2017. október 3. Maple 2018.0: 2018. március 21.
Maple termékskála A legújabb technológiákat felsorakoztató termékei a matematikai alapokon nyugvó feladatokat egyszerűbbé, eredményesebbé és hatékonyabbá teszik, mint azok eddig lehettek.
A Maplesoft terméklistája a Maple™, MapleSim™, MapleNet™ és a MapleTA™ szoftverekből áll: Maple egy fejlett matematikai problémamegoldó és programozói szoftver, MapleNet Web alapú infrastruktúrát kínál, mely lehetővé teszi a Maple számítási képességeinek kihasználását egyszerű böngészőn keresztül MapleTA azok számára kínál megoldásokat, akik készíteni, szolgáltatni és értékelni kívánnak matematikai Web alapú teszteket és alkalmazásokat
Maple 15 funkciói A több mint 25 éves élvonalbeli kutatás és fejlesztés eredményeként, a Maple egyesíti a világ egyik legnagyobb teljesítményűnek mondott matematikai számítási motorját az intuitív, "kattintó-barát" felhasználói felülettel. A több mint 270 új matematikai funkció és a már meglévő algoritmusokon végrehajtott több mint ezer fejlesztés segítségével az összetett problémákat a korábbiakhoz képest gyorsabban lehet megoldani.
Jelentős fejlesztések történtek a következő területeken: Párhuzamos munkafolyamatok: Lehetőséget kínál a párhuzamos számítás kihasználására, több processzoros (magos) rendszerek, nagyobb számítógép csoportok támogatásával, melyek lehetővé teszik, hogy a problémákat hamarabb kezelje (megtalálja), mint valaha. Maple-lel kihasználhatják a CUDA-kompatibilis grafikus kártyában rejlő hatalmas számítási teljesítményeket így, drámaian felgyorsítóak kulcsfontosságú számítások elvégzése. Felhasználói felület: Intelligens dokumentum környezetben lehetőséget kínál a fejlesztő megoldásaink, vizsgálja matematikai fogalmakat, és megosztja eredményeket. Számítási algoritmusok: Magában foglalja a legújabb, világ színvonalú algoritmusokat, mind szimbolikus és numerikus számításban. Jelentősen a javult a teljesítménye, továbbá támogatja az új alkalmazási területek is. Vezérlési tervezés: Maple számos és kiterjedt eszközt nyújt a lineáris rendszerekkel dolgozóknak a DynamicSystems csomag használatával. A Maple.MapleSim és a MapleSim Control Design Toolbox, egy nagyon hatékony környezetet teremt lineáris és nemlineáris szabályozás kialakítására. Fizika: Fizika kutatásában és az oktatásában is jól használható. Pl.: Kinematika, dinamika, tenzor számítások, a számítástechnika, zárt formájú megoldások közönséges és parciális differenciálegyenletek, differenciálgeometria, absztrakt vektor algebra, a speciális funkciók, elektrodinamika, az általános relativitáselmélet, a kvantummechanika és a Feynman-diagramok. Előrelépések differenciálegyenletek megoldásának bevezetéséhez, a Bell funkciókhoz, és új algoritmusokhoz differenciál geometriába. Pénzügyi modellezés: Az új pénzügyi csomag rendkívül gazdag a feladatok pénzügyi modellezésének területén a kockázatelemzés, portfólió kezelés, mennyiségi elemzés és modell validálás. Kapcsolatok: Képes csatlakozni az internetre és más termékekhez is az eszközlánc segítségével.
Alapfunkciók
Maple fájlok A program elmenthető és újra betölthető, továbbfejleszthető fájlokkal dolgozik. Két gyakran előforduló fájl kiterjesztése van: név.mws és néw.mpl. Az előbbi régebbi, utóbbi pedig a fejlettebb verziókban fordul elő. Mindkét formátum meglehetősen elterjedt.A Google kereső a fibonacci.mws kifejezésre legalább 295 találatot ad.
Parancssor Interaktív parancssoros felületen a prompt a > jel. Az Enter hatására új parancs kezdődik. Ha hosszú parancsot akarunk megadni, az áttekinthetőség megkönnyítése érdekében kezdhetünk új sort a parancson belül a SHIFT+ENTER kombinációval. Munka közben hasznos a CTRL+DEL kombináció, amellyel az aktuális parancs eredményét, illetve magát a cellát tudjuk törölni. Az aktuális parancs elé CTRL+K-val, mögé CTRL+J-vel szúrhatunk be új parancssort, illetve SHIFT+CTRL+K-val a parancson belül a képlet elé, SHIFT+CTRL+J-vel a parancson belül a képlet mögé írhatunk megjegyzést. A kijelölt, vagy ha nincs kijelölve semmi, akkor az aktuális parancsot a CTRL+pont segítségével húzzuk beljebb, és CTRL+vessző segítségével húzhatjuk a másik irányba.
Értékadás Adhatunk értéket betűknek, illetve kifejezéseknek a := segítségével. Parancs Eredmény a:=60; a:=60 het:=7; het:=7 2a; 2a 2*a; 120 sina; sina sin(a); %; sin(60) A ; a parancs lezárása, és az eredménye kiírására szolgál. A :-tal is elvégzi a műveletet, de nem írja ki. A *-jelet nem szabad kihagynunk, és a beépített függvények argumentumát zárójelbe kell tenni. A % az előző értéket adja vissza, így ha egy hosszú eredményt kapunk, nem kell bemásolni, hogy tovább számoljunk vele, elég ha ezt használjuk. Ahány % van egymás mellett, annyival az azelőtti eredményt adja meg. Az értékek addig bennmaradnak a memóriában, míg nem töröljük őket. Globálisan ezt a restart; paranccsal tehetjük. Ha csak egy értéket szeretnénk törölni, azt e módon tehetjük: Parancs Eredmény x:=3; x:=3 x; 3 x:='x'; x:= x x; x
Számológép A Maple használható nagy teljesítményű számológépként is. Jól kezeli a paramétereket. Egyszerűsít, illetve ha kell, kifejt. Van pár beépített szimbólum, mint például a Pí vagy az Euler-féle szám. Ezekkel, mint szimbólumokkal tud számolni, így külön meg kell kérnünk, ha a közelítését akarjuk kiíratni. Ha a parancsokat nagybetűvel írjuk, csak kiírja azt, míg kisbetűvel el is végzi. Parancs Művelet Eredmény simplify(cos ^2(x)+sin^2(x)); egyszerűsít 1 expand((x+5)^2 ); kifejt pi; pi evalf(Pi,10); közelíti a pi-t 10 számjegy pontossággal 3.141592653 27 mod 4 kiszámolja mennyi a maradék 3 sum(1/n^2, n=1..infinity); kiírja a műveletet sum(1/n^2, n=1..infinity); elvégzi a műveletet
Egyenletek Az egyenletek megoldása a solve paranccsal történik, de az egyenlet után meg kell adni, mi az ismeretlen. Az fsolve paranccsal tizedestört alakban kapjuk meg az eredményt. Elnevezhetjük az egyenletet és az eredményt is, melyeket megkülönböztet egymástól. Ha paraméteresen adtunk meg egy egyenletet, de be szeretnénk helyettesíteni, akkor azt az eval-lal tehetjük. Mivel paraméterrel is tud számolni, meg kell hogy különböztesse az ismeretlent, így az egyenlet után meg kell adni, mi szerint oldja meg. Parancs Eredmény egyenlet:=a*x^2+b*x+c=0; egyenlet:= gyokok:=solve(egyenlet,x); gyokok; eval(egyenlet,a=0,b=1,c=-2); 2
Függvénykirajzolás A plot paranccsal kirajzolhatjuk a függvényt egy koordináta-rendszeren, melynek mi adjuk meg a paramétereit, az alábbi módon:
plot(cos(x) , x=-5..5 , y=-1..1 );
Plot3d paranccsal 3 dimenzióban tudjuk kirajzolni, a két változós függvényeinket.
Deriválás, integrálás A Maple képes a deriválásra (diff) és az integrálásra (int) is. Mivel több változóval képes számolni, meg kell adni neki, hogy mi szerint deriváljon, illetve integráljon. Parancs Eredmény diff(x^3+3*x^2-11,x); diff(x^3+3*x^2-11,x); diff(arctan(x*y),y); int(cos(3*x-5),x); int(cos(3*x-5),x); int(2*x^2,x=0..3); 18
Listák, halmazok, sorozatok A Maple segítségével definiálhatunk listákat, halmazokat, illetve sorozatokat is. Parancs lista:=[1,2,3]; halmaz:={1,2,3}; sorozat:=1,2,3; A lista elemeit [] között soroljuk fel, és számít a sorrendjük. A halmazok esetében, melyek elemeit {} között adjuk meg, ez nem igaz. Ezek átalakíthatóak egymásba. Az op parancs leveszi a zárójeleket a széléről. Parancs Művelet {op(lista)}; listából halmaz [op(halmaz)]; halmazból lista [sorozat]; sorozatból lista A listák tagjait módosíthatjuk, illetve hivatkozhatunk rájuk tagonként. Listákat megadhatunk képlettel is, a seq paranccsal. Parancs Eredmény lista; 2 lista:=4:lista; [1,4,3] lista2:=[seq(i^2,i=1..4)]; lista2:=[1,4,9,16] Halmaz, avagy lista elemszámára a nops() paranccsal kérdezhetünk rá.
Help Ha ?-et rakunk a parancs elé, előhívjuk a help funkciót, amelyben van egy rövid ismertető a parancsról, és annak használatáról.
Összetettebb műveletek A Maple képes hosszabb, programszerű műveleteket is végrehajtani.
Ciklikus és feltételes utasítások Ha egy utasítást vagy utasítások egy sorozatát csak egy bizonyos feltétel teljesülése esetén akarunk végrehajtani, akkor feltételes utasítást használunk. Ennek alakjai: if feltétel then utasítások end if; if feltétel then utasítások1 else utasítások2 end if; if feltétel1 then utasítások1 elif feltétel2 then utasítások2 ... end if; if feltétel1 then utasítások1 elif feltétel2 then utasítások2 ... else utasítások end if;
A ciklus utasítás egy utasítássorozat ismételt végrehajtását teszi lehetővé. A Maple két típusát használja. Az első az ún. from-to típusú ciklus: for ciklusváltozó from honnan by mennyivel to meddig do utasítások end do; A másik típus, mikor egy feltételtől függ a ciklusok száma. Ez a while típusú.
Példa egy feltételes ciklikus utasításra: while n>1 do if n mod 2 = 0 then n:=n/2 else n:=3*n+1 end if; printf("%d",n); end do; Ez az úgynevezett szirakúzai problémára egy megoldóciklus.
A logikai utasítások itt is léteznek, azaz van and, or, és a többi.
Procedúrák