Maple (софтвер)

Из Википедије, слободне енциклопедије
(преусмерено са Maple (software))
Maple
Maple12 скриншот.jpg
Maple интерфејс
Првобитни
аутор(и)
Waterloo Maple (Maplesoft)
Најновија
верзија

5. март 2015.
Писано у C, Јава
Тип Рачунарски алгебарски систем
Лиценца Власнички софтвер
Веб-сајт www.maplesoft.com/products/maple/

Maple (транскрибовано: Мејпл) је комерцијални рачунарски алгебарски систем развијан и пуштен у продају од стране компаније Maplesoft, чије се седиште налази у Вотерлуу, у Канади. Тренутна главна верзија је верзија 2015, која је пуштена у коришћење марта 2015.

Мејпл је почела да развија Група за Симполичка Израчунавања 1980. године на Вотерлу Универзитету. 1988., компанија Maplesoft (транскрибовано: Мејплсофт) (тада под именом Waterloo Maple Inc.) је основана у сврху комерцијализације технологије.

Преглед[уреди]

Кључна функционалност[уреди]

Корисници могу да унесу математичке формуле користећи се стандардном математичком нотацијом. Прилагођени кориснички интерфејси такође могу бити направљени. Ту је и подршка за нумеричке прорачуне, произвољну прецизност, као и за симболичко рачунање и визуелизацију. Примери симболичких израчунавања су дати у наставку чланка.

Maple садржи динамички уношен програмски језик у императивном стилу који подсећа на Pascal.[1] Језик дозвољава променљиве у оквиру лексичког обима. Такође постоје и корисничка сучеља за остале језике (C, C#, Fortran, Java, MATLAB и Visual Basic), а и за Excel.

Maple подржава MathML 2.0, W3C формат за приказивање и интерпретацију математичких израза, укључујући њихов приказ на интернет странама.[2]

Архитектура[уреди]

Maple је занован на kernel-у, који је написан у језику C, који обезбеђује Maple језик. Највећи део функционалности је обезбеђен кроз библиотеке, које потичу из разних извора. Већина библиотека је написана у Maple језику; ове имају изворни код који може да се види. Доста бројевних израчунавања се извршава путем NAG нумеричких библиотека, ATLAS библиотека, или GMP библиотека.

Другачија функционалност унутар Maple-а захтева да бројевни подаци буду у другом формату. Симболички изрази се складиште у меморији као директни ациклични графови. Стандардно сучеље и сучеље за калкулатор је написано у језику Java.

Историја[уреди]

Први концепт Maple-а се појавио на састанку новембра 1980. године на Вотерлу Универзитету. Истраживачи са универзитета су хтели на набаве довољно јак рачунар који би могао да покрене програм Macsyma. Уместо тога, одлучили су се за развој сопственог програма који би могао да ради на јефтинијим рачунарима. Прва ограничена верзија која се појавила у децембру 1980. је садржала Maple, а демонстрирана је на конференцијама почевши од 1982. Име Maple асоцира на симбол Канаде (јаворов лист), где је програм и направљен. До краја 1983., преко 50 универзитета је поседовало копије Maple-а инсталиране на својим рачунарима.

1984., група истраживача се договорила са компанијом Watcom Products Inc око лиценцирања и дистрибуције Maple-а. 1988., компанија Waterloo Maple је основана. Првобитни циљ ове компаније је био само дистрибуција софтвера. Евентуално, компанија је напредовала и добила одсек за истраживање и развој где се и дан данас одвија највећи део развоја Maple-а, а остатак се одвија на универзитетским истраживачким лабораторијама широм света, укључујући Лабораторију за симболичка израчунавања на Вотерлу Универзитету и Истраживачком центру за рачунарску алгебру у Онтариу на Универзитету Западни Онтарио[who?].

1989., прво графичко корисничко сучеље за Maple је развијено и садржано у верзији 4.3 за Macintosh. X11 и Windows верзије су потом уследиле године 1990. са Maple V. 1994., развојни тим Maple-a је издао билтен под називом MapleTech.[3]

1999., кад је Maple 6 изашао, донео је новитете попут NAG нумеричких библиотека.[4] Године 2003., у Maple 9 верзији представљено је „стандардно“ сучеље које се и дан данас користи. Ово сучеље је написано у језику Java (иако су делови, као што су правила за слагање унутар математичких формула, написани на језику Maple). Java сучеље је критиковано због своје брзине;[5] касније су направљена побољшања, иако се у документацији за Maple 11[6] препоручује коришћење претходног („класичног“) сучеља за кориснике који имају мање од 500 MB физичке меморије. Ово класично сучеље се више не одржава (нема подршку).

Између средине 1995. и 2005., Maple је препустио конкуренцији значајан тржишни удео због слабијег корисничког сучеља.[7] 2005., у верзији Maple 10 је представљен нов „документ режим“, као део стандардног сучеља. Уношење математичких симбола путем дводимензионалног улаза је главна одлика овог режима. Године 2008., у верзији Maple 12 укључено је и корисничко сучеље које се користи у програму Mathematica, укључујући одвојене листове са специјалним наменама, контролу над заглављима, подударање носача, регионе са аутоматским извршавањем, шаблоне са извршавањем команди, проверу синтаксе и регионе са аутоматским покретањем. Додатне ствари су убачене које чине Maple лакшим за коришћење у улози MATLAB тулбокса.[8]

У верзији Maple 13 је уведено брзинско прављење 3-D графика.[9]

Септембра 2009., компаније Maple и Maplesoft су куљене од стране јапанске фирме за дистрибуцију софтвера Cybernet Systems.

Датуми пуштања нових верзија[уреди]

° Maple 1.0: јануар, 1982 ° Maple 1.1: јануар, 1982 ° Maple 2.0: мај, 1982 ° Maple 2.1: јун, 1982 ° Maple 2.15: август, 1982 ° Maple 2.2: децембар, 1982 ° Maple 3.0: мај, 1983 ° Maple 3.1: октобар, 1983 ° Maple 3.2: април, 1984 ° Maple 3.3: март, 1985 (прва верзија доступна јавности) ° Maple 4.0: април, 1986 ° Maple 4.1: мај, 1987 ° Maple 4.2: децембар, 1987 ° Maple 4.3: март, 1989 ° Maple V: август, 1990 ° Maple V R2: новембар 1992 ° Maple V R3: март 15, 1994 ° Maple V R4: јануар, 1996 ° Maple V R5: новембар 1, 1997 ° Maple 6: децембар 6, 1999 ° Maple 7: јул 1, 2001 ° Maple 8: април 16, 2002 ° Maple 9: јун 30, 2003 ° Maple 9.5: април 15, 2004 ° Maple 10: мај 10, 2005 ° Maple 11: фебруар 21, 2007 ° Maple 11.01: јул, 2007 ° Maple 11.02: новембар, 2007 ° Maple 12: мај, 2008 ° Maple 12.01: октобар, 2008 ° Maple 12.02: децембар, 2008 ° Maple 13: април, 2009 ° Maple 13.01: јул, 2009 ° Maple 13.02: октобар, 2009 ° Maple 14: април 2010 ° Maple 14.01: октобар 28, 2010 ° Maple 15: април 13, 2011 ° Maple 15.01: јун 21, 2011 ° Maple 16: март 28, 2012 ° Maple 16.01: мај 16, 2012 ° Maple 17: март 2013 ° Maple 17.01: јул 2013 ° Maple 18: март 2014 ° Maple 18.01: мај 2014 ° Maple 18.01a: јул 2014 ° Maple 18.02: новембар 2014 ° Maple 2015: март 2015 ° Maple 2015.1: новембар 2015

Примери Maple кода[уреди]

Пример конструкције унутар императивног програмирања:

myfac := proc(n::nonnegint)
   local out, i;
   out := 1;
   for i from 2 to n do
       out := out * i
   end do;
   out
end proc;

Просте функције се такође могу дефинисати користећи "maps to" нотацију са стрелицом:

 myfac := n -> product( i, i=1..n );

Интеграљење[уреди]

Наћи

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

Одговор:

Детерминанта[уреди]

Израчунати детерминанту матрице.

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

Проширивање низа[уреди]

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

Нумеричко решавање једначина[уреди]

Полином високог степена

 >f := x^53-88*x^5-3*x-5 = 0

 >fsolve(f)

 -1.097486315, -.5226535640, 1.099074017

Решавање групе једначина[уреди]

 >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}

Цртање графика функције једне променљиве[уреди]

График  са  које варира од -10 до 10
 plot(x*sin(x),x=-10..10);

Цртање графика функције две променљиве[уреди]

График  са  и који варирају од -1 до 1
 plot3d(x^2+y^2,x=-1..1,y=-1..1);

Анимирање функција[уреди]

  • анимирање функција две променљиве
 with(plots);
 animate(subs(k = .5, f), x = -30 .. 30, t = -10 .. 10, numpoints = 200, frames = 50, color = red, thickness = 3);
2D солитона у облику звона
3D анимација функције
  • анимирање функција са три променљиве
     with(plots)
     animate3d(cos(t*x)*sin(3*t*y), x = -Pi .. Pi, y = -Pi .. Pi, t = 1 .. 2)
    

Лапласова трансформација[уреди]

with(inttrans);
  • Лапласова трансформација
f := (1+A*t+B*t^2)*exp(c*t);
laplace(f, t, s);
  • инверзна Лапласова трансформација
invlaplace(1/(s-a),s,x)

Фуријеова трансформација[уреди]

 with(inttrans):
 fourier(sin(x),x,w)

Интегралне једначине[уреди]

Наћи функције  које задовољавају услов интегралне једначине

.
 eqn:= f(x)-3*Int((x*y+x^2*y^2)*f(y), y=-1..1) = h(x):
 intsolve(eqn,f(x));

Примена Maple покретача[уреди]

Maple покретач се користи у више производа Maplesoft-а:

  • Maple T.A., програм за тестирање на интернету, користи Maple за алгоритамско генерисање питања и за оцењивање одговора студената.
  • MapleNet дозвољава својим корисницима креацију JSP и Java аплета. MapleNet 12 и новије верзије дозвољавају корисницима унос и рад са Maple упутствима за рад која садрже интерактивне делове.
  • MapleSim, алат за инжењерске симулације.

На листи испод се налазе комерцијални проиводи који више не користе Maple покретач:

  • Верзије Mathcad-а које су пуштене између 1994. и 2006. укључујући алгебарски покретач настао из Maple-а (MKM, или Mathsoft Kernel Maple), мада касније верзије користе MuPAD.
  • Symbolic Math Toolbox у MATLAB-у је садржао део Maple 10 покретача, али сада користи MuPAD (почевши са MATLAB R2007b+ издањем). [10]
  • Старије верзије програма за математичка израчунавања Scientific Workplace су садржале Maple као покретач за израчунавање, али садашње верзије за то користе MuPAD.

Види још[уреди]

Референце[уреди]

Спољашње везе[уреди]