Maple (softver)

(preusmereno sa Maple (software))

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
Maple interfejs
Maple interfejs
Programer(i)Waterloo Maple (Maplesoft)
Prvo izdanje1982.
Napisan uC, Java
TipRačunarski algebarski sistem
LicencaVlasnički softver
Veb-sajtwww.maplesoft.com/products/maple/

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 uredi

Ključna funkcionalnost uredi

Korisnici 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 uredi

Maple 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 uredi

Prvi 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 uredi

Primer 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 uredi

Naći

 .
int(cos(x/a), x);

Odgovor:

 

Determinanta uredi

Izračunati determinantu matrice.

 M:= Matrix([[1,2,3], [a,b,c], [x,y,z]]);  # example Matrix
 
LinearAlgebra:-Determinant(M);
 

Proširivanje niza uredi

series(tanh(x),x=0,15)
 
 

Numeričko rešavanje jednačina uredi

Polinom 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

 
Grafik   sa   koje varira od -10 do 10
 plot(x*sin(x),x=-10..10);

Crtanje grafika funkcije dve promenljive uredi

 
Grafik   sa   i   koji variraju od -1 do 1
 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);
 
2D solitona u obliku zvona
 
3D animacija funkcije
  • animiranje funkcija sa tri promenljive
     with(plots)
     animate3d(cos(t*x)*sin(3*t*y), x = -Pi .. Pi, y = -Pi .. Pi, t = 1 .. 2)
    

Laplasova transformacija uredi

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 uredi

Nać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 uredi

Maple 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š uredi

Reference uredi

Spoljašnje veze uredi