Maple (softver)
Maple (transkribovano: Mejpl) je komercijalni računarski algebarski sistem razvijan i pušten u prodaju od strane kompanije Maplesoft, čije se sedište nalazi u Voterluu, u Kanadi. Trenutna glavna verzija je verzija 2015, koja je puštena u korišćenje marta 2015.
![]() Maple interfejs | |
Programer(i) | Waterloo Maple (Maplesoft) |
---|---|
Prvo izdanje | 1982. |
Napisan u | C, Java |
Tip | Računarski algebarski sistem |
Licenca | Vlasnički softver |
Veb-sajt | www |
Mejpl je počela da razvija Grupa za Simpolička Izračunavanja 1980. godine na Voterlu Univerzitetu. 1988, kompanija Maplesoft (transkribovano: Mejplsoft) (tada pod imenom Waterloo Maple Inc.) je osnovana u svrhu komercijalizacije tehnologije.
Pregled
urediKljučna funkcionalnost
urediKorisnici mogu da unesu matematičke formule koristeći se standardnom matematičkom notacijom. Prilagođeni korisnički interfejsi takođe mogu biti napravljeni. Tu je i podrška za numeričke proračune, proizvoljnu preciznost, kao i za simboličko računanje i vizuelizaciju. Primeri simboličkih izračunavanja su dati u nastavku članka.
Maple sadrži dinamički unošen programski jezik u imperativnom stilu koji podseća na Pascal.[1] Jezik dozvoljava promenljive u okviru leksičkog obima. Takođe postoje i korisnička sučelja za ostale jezike (C, C#, Fortran, Java, MATLAB i Visual Basic), a i za Excel.
Maple podržava MathML 2.0, W3C format za prikazivanje i interpretaciju matematičkih izraza, uključujući njihov prikaz na internet stranama.[2]
Arhitektura
urediMaple je zanovan na kernel-u, koji je napisan u jeziku C, koji obezbeđuje Maple jezik. Najveći deo funkcionalnosti je obezbeđen kroz biblioteke, koje potiču iz raznih izvora. Većina biblioteka je napisana u Maple jeziku; ove imaju izvorni kod koji može da se vidi. Dosta brojevnih izračunavanja se izvršava putem NAG numeričkih biblioteka, ATLAS biblioteka, ili GMP biblioteka.
Drugačija funkcionalnost unutar Maple-a zahteva da brojevni podaci budu u drugom formatu. Simbolički izrazi se skladište u memoriji kao direktni aciklični grafovi. Standardno sučelje i sučelje za kalkulator je napisano u jeziku Java.
Istorija
urediPrvi koncept Maple-a se pojavio na sastanku novembra 1980. godine na Univerzitetu Voterlu. Istraživači sa univerziteta su hteli na nabave dovoljno jak računar koji bi mogao da pokrene program Macsyma. Umesto toga, odlučili su se za razvoj sopstvenog programa koji bi mogao da radi na jeftinijim računarima. Prva ograničena verzija koja se pojavila u decembru 1980. je sadržala Maple, a demonstrirana je na konferencijama počevši od 1982. Ime Maple asocira na simbol Kanade (javorov list), gde je program i napravljen. Do kraja 1983, preko 50 univerziteta je posedovalo kopije Maple-a instalirane na svojim računarima.
Godine 1984,, grupa istraživača se dogovorila sa kompanijom Watcom Products Inc oko licenciranja i distribucije Maple-a. 1988, kompanija Waterloo Maple je osnovana. Prvobitni cilj ove kompanije je bio samo distribucija softvera. Eventualno, kompanija je napredovala i dobila odsek za istraživanje i razvoj gde se i dan danas odvija najveći deo razvoja Maple-a, a ostatak se odvija na univerzitetskim istraživačkim laboratorijama širom sveta, uključujući Laboratoriju za simbolička izračunavanja na Univerzitetu Voterlu i Istraživačkom centru za računarsku algebru u Ontariu na Univerzitetu Zapadni Ontario[who?].
Godine 1989,, prvo grafičko korisničko sučelje za Maple je razvijeno i sadržano u verziji 4.3 za Macintosh. X11 i Windows verzije su potom usledile godine 1990. sa Maple V. 1994, razvojni tim Maple-a je izdao bilten pod nazivom MapleTech.[3]
Godine 1999,, kad je Maple 6 izašao, doneo je novitete poput NAG numeričkih biblioteka.[4] Godine 2003, u Maple 9 verziji predstavljeno je „standardno“ sučelje koje se i dan danas koristi. Ovo sučelje je napisano u jeziku Java (iako su delovi, kao što su pravila za slaganje unutar matematičkih formula, napisani na jeziku Maple). Java sučelje je kritikovano zbog svoje brzine;[5] kasnije su napravljena poboljšanja, iako se u dokumentaciji za Maple 11[6] preporučuje korišćenje prethodnog („klasičnog“) sučelja za korisnike koji imaju manje od 500 MB fizičke memorije. Ovo klasično sučelje se više ne održava (nema podršku).
Između sredine 1995. i 2005, Maple je prepustio konkurenciji značajan tržišni udeo zbog slabijeg korisničkog sučelja.[7] 2005, u verziji Maple 10 je predstavljen nov „dokument režim“, kao deo standardnog sučelja. Unošenje matematičkih simbola putem dvodimenzionalnog ulaza je glavna odlika ovog režima. Godine 2008, u verziji Maple 12 uključeno je i korisničko sučelje koje se koristi u programu Mathematica, uključujući odvojene listove sa specijalnim namenama, kontrolu nad zaglavljima, podudaranje nosača, regione sa automatskim izvršavanjem, šablone sa izvršavanjem komandi, proveru sintakse i regione sa automatskim pokretanjem. Dodatne stvari su ubačene koje čine Maple lakšim za korišćenje u ulozi MATLAB tulboksa.[8]
U verziji Maple 13 je uvedeno brzinsko pravljenje 3-D grafika.[9]
Septembra 2009, kompanije Maple i Maplesoft su kuljene od strane japanske firme za distribuciju softvera Cybernet Systems.
Datumi puštanja novih verzija
uredi° Maple 1.0: januar, 1982 ° Maple 1.1: januar, 1982 ° Maple 2.0: maj, 1982 ° Maple 2.1: jun, 1982 ° Maple 2.15: avgust, 1982 ° Maple 2.2: decembar, 1982 ° Maple 3.0: maj, 1983 ° Maple 3.1: oktobar, 1983 ° Maple 3.2: april, 1984 ° Maple 3.3: mart, 1985 (prva verzija dostupna javnosti) ° Maple 4.0: april, 1986 ° Maple 4.1: maj, 1987 ° Maple 4.2: decembar, 1987 ° Maple 4.3: mart, 1989 ° Maple V: avgust, 1990 ° Maple V R2: novembar 1992 ° Maple V R3: mart 15, 1994 ° Maple V R4: januar, 1996 ° Maple V R5: novembar 1, 1997 ° Maple 6: decembar 6, 1999 ° Maple 7: jul 1, 2001 ° Maple 8: april 16, 2002 ° Maple 9: jun 30, 2003 ° Maple 9.5: april 15, 2004 ° Maple 10: maj 10, 2005 ° Maple 11: februar 21, 2007 ° Maple 11.01: jul, 2007 ° Maple 11.02: novembar, 2007 ° Maple 12: maj, 2008 ° Maple 12.01: oktobar, 2008 ° Maple 12.02: decembar, 2008 ° Maple 13: april, 2009 ° Maple 13.01: jul, 2009 ° Maple 13.02: oktobar, 2009 ° Maple 14: april 2010 ° Maple 14.01: oktobar 28, 2010 ° Maple 15: april 13, 2011 ° Maple 15.01: jun 21, 2011 ° Maple 16: mart 28, 2012 ° Maple 16.01: maj 16, 2012 ° Maple 17: mart 2013 ° Maple 17.01: jul 2013 ° Maple 18: mart 2014 ° Maple 18.01: maj 2014 ° Maple 18.01a: jul 2014 ° Maple 18.02: novembar 2014 ° Maple 2015: mart 2015 ° Maple 2015.1: novembar 2015
Primeri Maple koda
urediPrimer konstrukcije unutar imperativnog programiranja:
myfac := proc(n::nonnegint)
local out, i;
out := 1;
for i from 2 to n do
out := out * i
end do;
out
end proc;
Proste funkcije se takođe mogu definisati koristeći "maps to" notaciju sa strelicom:
myfac := n -> product( i, i=1..n );
Integraljenje
urediNaći
- .
int(cos(x/a), x);
Odgovor:
Determinanta
urediIzračunati determinantu matrice.
M:= Matrix([[1,2,3], [a,b,c], [x,y,z]]); # example Matrix
LinearAlgebra:-Determinant(M);
Proširivanje niza
urediseries(tanh(x),x=0,15)
Numeričko rešavanje jednačina
urediPolinom visokog stepena
>f := x^53-88*x^5-3*x-5 = 0
>fsolve(f)
-1.097486315, -.5226535640, 1.099074017
Rešavanje grupe jednačina
uredi >f := (sin(x+y))^2 + exp(x)*y+cot(x-y)+cosh(z+x) = 0:
>g := x^5 - 8*y = 2:
>h:=x+3*y-77*z=55;
>fsolve( {f,g,h} );
{x = -1.543352313, y = -1.344549481, z = -.7867142955}
Crtanje grafika funkcije jedne promenljive
uredi plot(x*sin(x),x=-10..10);
Crtanje grafika funkcije dve promenljive
uredi plot3d(x^2+y^2,x=-1..1,y=-1..1);
Animiranje funkcija
uredi- animiranje funkcija dve promenljive
-
with(plots); animate(subs(k = .5, f), x = -30 .. 30, t = -10 .. 10, numpoints = 200, frames = 50, color = red, thickness = 3);
- animiranje funkcija sa tri promenljive
with(plots) animate3d(cos(t*x)*sin(3*t*y), x = -Pi .. Pi, y = -Pi .. Pi, t = 1 .. 2)
with(inttrans);
- Laplasova transformacija
f := (1+A*t+B*t^2)*exp(c*t);
laplace(f, t, s);
- inverzna Laplasova transformacija
invlaplace(1/(s-a),s,x)
Furijeova transformacija
uredi with(inttrans):
fourier(sin(x),x,w)
Integralne jednačine
urediNaći funkcije koje zadovoljavaju uslov integralne jednačine
- .
eqn:= f(x)-3*Int((x*y+x^2*y^2)*f(y), y=-1..1) = h(x): intsolve(eqn,f(x));
Primena Maple pokretača
urediMaple pokretač se koristi u više proizvoda Maplesoft-a:
- Maple T.A., program za testiranje na internetu, koristi Maple za algoritamsko generisanje pitanja i za ocenjivanje odgovora studenata.
- MapleNet dozvoljava svojim korisnicima kreaciju JSP i Java apleta. MapleNet 12 i novije verzije dozvoljavaju korisnicima unos i rad sa Maple uputstvima za rad koja sadrže interaktivne delove.
- MapleSim, alat za inženjerske simulacije.
Na listi ispod se nalaze komercijalni proivodi koji više ne koriste Maple pokretač:
- Verzije Mathcad-a koje su puštene između 1994. i 2006. uključujući algebarski pokretač nastao iz Maple-a (MKM, ili Mathsoft Kernel Maple), mada kasnije verzije koriste MuPAD.
- Symbolic Math Toolbox u MATLAB-u je sadržao deo Maple 10 pokretača, ali sada koristi MuPAD (počevši sa MATLAB R2007b+ izdanjem).[10]
- Starije verzije programa za matematička izračunavanja Scientific Workplace su sadržale Maple kao pokretač za izračunavanje, ali sadašnje verzije za to koriste MuPAD.
Vidi još
urediReference
uredi- ^ Power of two Arhivirano na sajtu Wayback Machine (6. jul 2010) Bitwise Magazine
- ^ Welcome to the Maplesoft MathML Home Page
- ^ MapleTech Special Issue, Birkhäuser-Boston, (1994)
- ^ Maple 6.0 Arhivirano na sajtu Wayback Machine (18. jun 2008) Macworld, Feb 2001
- ^ Capturing knowledge with pure maths Arhivirano na sajtu Wayback Machine (3. mart 2016), Scientific Computing World.
- ^ Maple 11 Installation Guide
- ^ Interview with Gaston Gonnet, co-creator of Maple, SIAM History of Numerical Analysis and Computing, March 16, 2005
- ^ New in Maple 12 Arhivirano na sajtu Wayback Machine (22. april 2009) Maplesoft
- ^ Using the New Fly-through Feature in Maple 13 Maplesoft
- ^ "Release Notes for Symbolic Math Toolbox".
Spoljašnje veze
uredi- Maplesoft, division of Waterloo Maple, Inc. zvanična internet stranica
- MaplePrimes - internet stranica za korisnike Maple-a
- Poređenje matematičkih programa za analizu podataka (stranica na engleskom) ScientificWeb