MVR4
I:help/share/text/numtheory%9help/share/text/numtheorG6",
I>help/share/text/combinatorics%9help/share/text/combinatGF$,
I9help/share/text/geometry%9help/share/text/graphicsGF$,
I<help/share/text/programming%8help/share/text/programGF$,
I;help/share/text/statistics%6help/share/text/statsGF$,
I*readshare:6$'%"fG%'stringG'%"gGF26$%)filenameG%"rGF$F$C&@%/9#""#>8$((((((%!G%
*sharenameG%"/G9%FG9$%#.mG>F>((FCFIFJ>8%-%*traperrorG6#-:6#F1F$F$F$AFIF$F$6#F>@
$/FO%*lasterrorG-%&ERRORG6#FZ@%-%%typeG6$-%%evalG6$FIF<F2F\oFIF$F$F$,
I<help/share/text/engineering%9help/share/text/engineerGF$,
I9help/share/text/contents-%%TEXTG6]w%$~~~G%Z~~~~~~~~~~Contents~of~the~Maple~V~
Release~3~Share~LibraryG%Z~~~~~~~~~~===========================================
====GFeo%aoThis~file~contains~an~overall~description~of~the~contents~of~the~Map
leG%foshare~library,~instructions~for~how~to~load~Maple~code~and~Maple~workshee
tsG%gnfrom~the~share~library,~and~an~index~of~the~actual~contents.GFeo%jnWe~hav
e~grouped~the~contents~under~the~following~subject~areas.G%boTo~see~the~content
s~for~a~particular~subject~area~execute~the~?~commandG%7as~shown~on~the~right.G
Feo%V~~Algebra~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?share,algebraG%fo~~Analysis~(Calcu
lus)~~~~~~~~~~~~~~~~~~?share,analysis~~or~~?share,calculusG%W~~Automatic~Differ
entiation~~~~~~~~~~~~?share,autodiffG%W~~Combinatorics~~~~~~~~~~~~~~~~~~~~~~~~?
share,combinatG%W~~Engineering~~~~~~~~~~~~~~~~~~~~~~~~~~?share,engineerG%fo~~Gr
aphics~and~Geometry~~~~~~~~~~~~~~~~?share,graphics~~or~~?share,geometryG%U~~Lin
ear~Algebra~~~~~~~~~~~~~~~~~~~~~~~?share,linalgG%X~~Number~Theory~~~~~~~~~~~~~~
~~~~~~~~~~?share,numtheoryG%W~~Numerics~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?share,nume
ricsG%Z~~Programming~~~~~~~~~~~~~~~~~~~~~~~~~~?share,programmingG%V~~Science~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~?share,scienceG%Y~~Statistics~~~~~~~~~~~~~~~~~~~~~~~
~~~~?share,statisticsG%U~~System~Tools~~~~~~~~~~~~~~~~~~~~~~~~~?share,systemGFe
o%foWe~have~also~provided~an~alphabetical~index.~~This~index~lists~the~contents
G%coby~name~of~Maple~routine~or~worksheet~and~also~under~topics~like~Series,G%j
nDifferential~Equations,~Thermodynamics,~etc.~~See~the~help~fileGFeo%/~~?share,
indexGFeo%eoFor~each~entry,~if~it~is~a~Maple~routine~or~package,~it~needs~to~be
~loadedG%cobefore~you~can~use~it.~~Instructions~for~how~to~do~this~are~given~be
low.G%ioIf~it~is~a~Maple~worksheet,~you~need~to~open~the~worksheet~from~the~Fil
e~menu.G%boInstructions~for~doing~this~are~given~under~`Loading~worksheets'~bel
ow.GFeo%%~~~~G%>Loading~routines~and~packagesG%>=============================GF
eo%goFor~each~entry~you~will~find~the~name~of~the~routine~or~package~or~workshe
etG%eoon~the~left~and~some~details~about~it~on~the~right.~~If~it~is~a~routine~o
rG%fopackage~you'll~find~the~command~needed~to~load~it~assuming~you~have~alread
yG%boexecuted~the~command~with(share);~~For~example,~here~is~a~typical~entryGFe
o%Sgfun~~~~~~~~~~~~>~readshare(gfun,~calculus);~(76K)G%S~~~~~~~~~~~~~~~~SEE~ALS
O:~calculus/gfun.tex~~(46K)GFeo%]o~~~~~~~~~~~~~~~~A~package~for~computing~with~
generating~functions.G%4~~~~~~~~~~~~~~~~...G%R~~~~~~~~~~~~~~~~Bruno~Salvy,~Brun
o.Salvy@inria.frG%Z~~~~~~~~~~~~~~~~Paul~Zimmermann,~Paul.Zimmermann@inria.frGFe
o%Io~The~routine~or~package~is~called~gfun.G%hoo~Assuming~you~have~already~exec
uted~the~command:~~with(share);~~this~routineG%do~~or~package~can~be~loaded~usi
ng~the~command:~~readshare(gfun,~calculus);G%go~~The~command~tells~you~that~the
~Maple~src~code~can~be~found~in~the~calculusG%B~~directory~in~the~share~library
.G%coo~The~number~76K~in~parenthesis~tells~you~that~the~code~is~approximatelyG%
eo~~76~kilo-bytes~in~size,~so~this~code~is~a~relatively~large~piece~of~code.G%a
o~~Note~size~figures~are~not~given~for~packages~smaller~than~30K~bytes.G%[oo~Af
ter~loading~the~code,~on-line~help~is~available~using~~?gfunG%co~~In~this~case,
~?gfun~brings~up~the~main~help~page~for~the~gfun~package.G%coo~The~SEE~ALSO:~li
ne~points~to~additional~files~related~to~this~package.G%io~~They~are~typically~
documentation~files,~additional~examples~or~applications.G%eo~~In~the~case~of~t
he~gfun~package,~there~is~a~LaTeX~file~of~size~46K~whichG%J~~includes~many~nice
~additional~examples.G%ioo~Next~comes~a~brief~description~of~what~the~Maple~rou
tine~or~package~containsG%4~~and~what~it~does.G%[po~Finally,~the~authors'~names
~and~electronic~mail~addresses~are~given~should~youG%io~~wish~to~contact~them~a
bout~the~code.~~The~original~Maple~src~code~is~kept~inG%eo~~the~share~library~s
hould~you~want~to~look~at~it~or~modify~it.~~If~you~doG%go~~modify~the~code,~ple
ase~respect~any~authors'~copyright~notice~on~the~code.GFeo%hoIn~summary,~the~no
rmal~way~to~load~code~from~the~share~library~is~to~first~doGFeo%2~~~>~with(shar
e);GFeo%ZNext~you~load~the~routine~or~package~that~you~want~to~useGFeo%@~~~>~re
adshare(gfun,~calculus);GFeo%QNow~you~can~read~the~on-line~documentation~usingG
Feo%.~~~>~?gfun~~~GFeo%NSince~gfun~is~a~Maple~package,~you~may~now~doGFeo%1~~~>
~with(gfun);GFeoFeo%<Where~is~the~Share~Library?G%<===========================G
Feo%fnThe~command~with(share);~tries~to~locate~the~share~library.G%eoIf~success
ful~it~sets~the~Maple~global~variable~`sharename'~to~be~the~pathG%eoof~where~th
e~Maple~share~library~is~on~your~computer.~~On~my~Sun~computer,G%Bafter~doing~~
with(share);~~I~haveGFeo%0~~~>~sharename;GFeo%Y~~~~~~~~~~~~~~~~~~~~~~~/home/rut
ishauser/ru2/maple/shareGFeo%\oOn~a~PC,~after~doing~~with(share);~~you~should~s
ee~something~likeGFeoFbtFeo%P~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~C:/maplev3/shareGFe
o%foThe~sharename~variable~is~used~by~the~readshare~function~to~read~in~a~Maple
G%doroutine~or~package~from~the~share~library.~~The~with(share);~command~alsoG%
gosets~the~Maple~global~variable~libname~to~be~the~sequence~libname,~sharenameG
%doso~that~the~readlib~command~will~search~the~Maple~library~first,~then~theG%`
oshare~library.~~On~my~Sun~computer,~after~doing~~with(share);~~I~haveGFeo%.~~~
>~libname;GFeo%do~~~~~~~/home/rutishauser/ru2/maple/lib,~/home/rutishauser/ru2/
maple/shareGFeoFdtFeoF[uFeo%W~~~~~~~~~~~~~~~~~~~~~~C:/maplev3/lib,~C:/maplev3/s
hareGFeo%ho(Note:~for~those~of~you~who~are~more~familiar~with~Maple,~you~will~b
e~able~toG%go~load~code~from~the~share~library~also~using~the~read~and~readlib~
commands.)GFeo%doIf,~however,~for~some~reason~this~does~not~work,~you~can~alway
s~load~codeG%fodirectly~using~the~read~command~by~reading~in~the~Maple~src~code
.~~You~willG%coneed~to~know~where~the~share~library~is~located~on~your~computer
~so~thatG%aoyou~can~give~the~read~command~the~correct~directory~path~for~the~co
de.G%hoOn~my~Sun~computer,~I~am~also~able~to~load~the~gfun~package~using~the~co
mmandGFeo%gn~~~>~read~`/home/rutishauser/ru2/maple/share/calculus/gfun`;GFeo%1A
nd~on~a~PC~withGFeo%L~~~>~read~`C:/maplev3/lib/calculus/gfun.m`;GFeoFeo%;Files~
in~the~Share~LibraryG%;==========================GFeo%_oHere~is~a~description~o
f~the~of~files~that~are~in~the~share~library.G%=Files~ending~with~the~suffixGFe
o%I~~~.tex~~~~~are~LaTeX~or~plain~TeX~filesG%I~~~.dvi~~~~~are~device~independen
t~filesG%B~~~.sty~~~~~are~LaTeX~style~filesGFeo%A~~~.ms~~~~~~are~Maple~workshee
tsG%Z~~~.in~~~~~~are~Input~files~for~Maple~containing~examplesG%A~~~.ps~~~~~~ar
e~PostScript~filesGFeo%G~~~.lib~~~~~is~a~Maple~library~archiveG%U~~~.ind~~~~~is
~an~index~into~a~Maple~library~archiveGFeo%foFiles~having~no~.~suffix~are~plain
~text~files.~~Most~are~the~Maple~src~codeG%focorresponding~to~the~Maple~routine
s~and~packages~in~the~share~library.~~YouG%fomay~read~them.~~There~are~also~var
ious~kinds~of~miscellaneous~documentationG%Nfiles.~~See~`Additional~Documentati
on'~below.GFeoFeo%3Loading~WorksheetsG%3==================GFeo%goIf~your~Maple~
version~supports~worksheets,~it~should~be~possible~to~load~andG%hoexecute~any~o
f~the~worksheets~in~the~share~library.~~Pull~down~the~File~menu.G%hoYou~should~
see~a~button~labelled~`Open'.~~Click~on~it.~~A~menu~should~pop~up.G%coYou~need~
to~move~to~the~directory~containing~the~worksheet.~~You~need~toG%hoknow~where~t
he~Maple~share~library~is~on~your~machine.~~See~the~section~aboveG%hoon~`Where~
is~the~Share~Library?'.~~Move~first~to~the~share~library~directory.G%goNow~move
~to~the~directory~containing~the~worksheet~you~want.~~The~worksheetsG%doin~that
~directory~will~be~displayed~in~the~menu~as~files~ending~with~.ms.G%=Now~select
~the~one~you~want.GFeoFeo%9Additional~DocumentationG%9========================G
Feo%aoThe~Maple~share~library~contains~various~kinds~of~documentation~files.G%f
oMany~of~the~LaTeX~files~require~LaTeX~style~files.~~These~files~have~a~.styG%B
suffix.~~The~most~useful~ones~areGFeoFeo%enA4.sty~~~~~~~~~~A~LaTeX~style~file~f
or~European~size~paperG%enfullpage.sty~~~~A~LaTeX~style~file~for~American~size~
paperG%comaple.sty~~~~~~~A~LaTeX~style~file~for~including~Maple~input/output~in
~aG%P~~~~~~~~~~~~~~~~~~\begin|frmaple|hr~...~\end|frmaple|hrGFeo%ZSEE~ALSO:~?sh
are[contrib],~?share[index],~?share[address]GF$,
I:help/share/text/chemistry%8help/share/text/scienceGF$,
I8help/share/text/contrib-Fco6^xFeo%XGuidelines~for~contributing~to~the~Maple~s
hare~library.G%X=======================================================GFeo%boT
he~purpose~of~the~share~library~is~to~make~Maple~code~and~applicationsG%howorks
heets~which~have~been~developed~by~Maple~users~and~groups~other~than~theG%goMap
le~company~Waterloo~Maple~Software~(WMS)~freely~available~to~Maple~users.GFeo%d
oFor~code~and~worksheets~to~be~added~to~the~share~library,~we~require~thatGFeo%
io1)~you~grant~WMS~a~non-exclusive~right~to~distribute~your~code~or~worksheet(s
)G%do~~~to~any~Maple~user~who~requests~it.~~You~may~wish~to~include~an~authorsG
%go~~~copyright~notice~in~your~code~so~that~other~parties~cannot~distribute~it,
G%:~~~or~sell~it~for~profit.GFeo%go2)~you~hereby~authorize~WMS~to~modify~your~c
ode~or~worksheet(s)~as~required,G%go~~~for~example,~to~correct~bugs,~and~make~c
hanges~required~due~to~changes~inG%9~~~new~versions~of~MapleGFeo%ho3)~you~provi
de~test~file(s)~(described~below)~that~adequately~test~your~MapleG%co~~~code~so
~that~we~can~reasonably~determine~whether~the~code~is~working.GFeo%ho4)~you~pro
vide~Maple~style~help~file(s)~(see~below)~as~documentation~for~yourG%/~~~Maple~
code.GFeo%\oPoints~1)~and~2)~are~stated~precisely~in~the~file~called~"agree".G%
VThis~is~also~in~the~on-line~help~page~?share[agree]~.G%\oPlease~read~it,~fill~
it~out,~sign~it,~and~send~or~fax~it~to~us~atGFeo%6~~Dr.~Michael~MonaganG%U~~Ins
titute~for~Scientific~Computation,~ETH~Zentrum,G%?~~CH~8092~Zurich,~Switzerland
.G%8~~FAX:~+41~(1)~262-3973G%=~~EMAIL:~monagan@inf.ethz.chGFeo%doCode~and~works
heets~must~be~sent~by~electronic~mail~to~Dr.~Monagan~at~theG%aoabove~address.~~
Please~also~tell~us~which~version~of~Maple~you~createdG%\othe~code~on,~and~in~w
hich~versions~you~want~it~to~be~distributed.G%doWe~also~insist~(sorry)~on~elect
ronic~mail~because~this~this~only~feasibleG%doway~in~which~we~can~contact~you~i
n~case~there~is~a~problem~with~the~code.GFeo%fnWe~also~include~some~simple~codi
ng~style~conventions~below.GFeo%aoPlease~understand~that~you~are~giving~the~cod
e~to~the~Maple~community.G%foYou~may~not~expect~the~WMS~to~pay~any~royalty~or~o
ther~monies~for~the~code.G%QHowever,~WMS~will~NOT~sell~your~code~for~profit.G%Y
You~may~of~course~sell~or~distribute~your~code~yourself.GFeoFeo%.Test~files~~~G
%.==========~~~GFeo%jnThe~test~file~should~read~your~code,~and~for~each~test,~c
ompareG%[othe~actual~answer~computed~with~the~answer~that~it~should~yield.G%_oI
f~the~comparison~is~okay,~then~the~string~"okay"~should~be~printed.G%KOtherwise
~you~should~print~the~bad~result.G%=Thus~a~typical~test~would~beGFeo%<~~a~:=~sy
mmpoly([x,y,z],2):G%fn~~if~a~=~x*y~+~x*z~+~y*z~then~print(okay)~else~print(a)~f
i;GFeo%gnNotice~that~the~correct~result~is~included~in~the~test~file.G%enAnd~al
so~that~the~output~of~a~test~which~runs~correctly~isG%=simply~a~sequence~of~oka
y's.GFeo%_oPlease~include~the~examples~that~you~use~in~your~help~file~as~tests.
G%gnIn~writing~tests,~you~should~also~be~aware~of~the~following.G%]oMaple,~and/
or~your~code~may~return~an~answer~that~looks~different,G%inbut~is~the~same~math
ematically.~~For~example,~Maple~may~returnG%\oexp(2*x)~instead~of~exp(x)^2~.~~I
n~your~application,~both~answersG%[omay~be~acceptable.~~Secondly,~the~output~ma
y~come~in~a~differentG%hnorder,~e.g.~[x^2+x+1,~x^4+x+1]~instead~of~[x^4+x+1,~x^
2+x+1].GFeoFeo%3Coding~conventionsGFivFeo%41:~Global~variablesG%4--------------
-----G%gnEvery~programmer~has~his/her~own~coding~style~and~we~are~notG%_ogoing~
to~tell~you~how~to~program.~~However,~please~do~not~use~globalG%Zvariables~in~y
our~procedures~unless~absolutely~necessary.G%`oIf~necessary,~please~document~th
em~in~the~on-line~help~documentation.GFeo%inThe~"mint"~program~will~tell~you~wh
ich~variables~are~global~inG%^oyour~procedures~and~which~names~clash~with~Maple
~library~functions.G%^oLook~for~global~variables~that~you~have~forgotten~to~dec
lare~local.GFeo%62:~Naming~conventionsG%6---------------------G%doRoutines~and~
global~variables~which~are~not~meant~to~be~directly~accessedG%foby~the~user,~sh
ould~be~given~"slash"~names.~~E.g.~if~your~package~is~calledG%dofoo,~and~you~ha
ve~a~local~routine~which~checks~the~input,~you~should~callG%coit~`foo/check`~an
d~not~check.~~The~macro~facility~will~be~useful~here~toG%\oavoid~having~to~type
~`foo/check`~throughout~the~code.~~Simply~putGFeo%<~~macro(foo~=~`foo/check`);G
Feo%Qat~the~top~of~your~code.~~See~?macro~for~detailsGFeo%13:~Type~checkingG%1-
---------------G%`oPlease~include~adequate~type~checking.~~The~type~checking~al
so~servesG%coas~useful~documentation~for~finding~errors~and~understanding~which
~casesG%foyour~code~is~intended~to~handle.~~For~Maple~V~Release~2~and~later~ver
sions,G%doit~is~possible~to~declare~the~type~of~parameters.~~For~example,~a~rou
tineG%fofoo~which~takes~an~algebraic~expression~a~and~an~integer~n~as~arguments
~canG%7be~written~in~this~wayGFeo%F~~foo~:=~proc(a:algebraic,~n:integer)GFeo%io
A~routine~foo~which~takes~a~list~E~of~polynomials~and~a~list~X~of~variables~asG
%9arguments~can~be~writtenGFeo%L~~foo~:=~proc(E:list(polynom),X:list(name))GFeo
%14:~MiscellaneousG%0---------------G%gnPlease~do~not~use~the~old~$~function~fo
r~creating~sequences.G%EPlease~use~instead~the~seq~function.G%NFor~example,~ins
tead~of~'f(i)'~$~'i'=1..n~useGFeo%4~~seq(f(i),i=1..n);GFeo%aoThe~seq~function~w
orks~like~a~for~loop.~~It~doesn't~require~quotes~andG%[oconsequently~is~much~si
mpler~to~use.~~It~is~also~more~efficient.GFeoFeo%=Documentation~and~Help~filesG
%=============================GFeo%`oRemember,~your~code~is~only~as~useful~as~y
our~documentation~is~clear.G%ioWe~require~that~you~include~Maple~style~help~fil
es~which~include~a~descriptionG%coof~the~user-level~procedures~and~and~global~v
ariables~in~your~code,~plusG%@examples~showing~typical~usage.GFeo%jnA~TeX~or~La
TeX~document~is~welcome~as~additional~documentation.G%^oAn~Maple~.ms~worksheet~
(Release~2)~showing~how~the~package~is~used,G%Mand~typical~examples,~is~especia
lly~welcome.GFeo%jnTo~write~a~Maple~help~file~for~a~function~called~say~"symmpo
ly"G%_oone~assigns~an~object~of~type~TEXT~to~the~name~`help/text/symmpoly`.G%in
A~TEXT~object~is~a~function~whose~arguments~are~Maple~strings.G%enFor~example,~
here~is~a~help~file~for~the~symmpoly~functionGFeo%@~~`help/text/symmpoly`~:=~TE
XT(G%gn~~`FUNCTION:~symmpoly~-~generate~the~symmetric~polynomials`,G%,~~`~~~`,~
~~G%V~~`CALLING~SEQUENCES:~symmpoly([x1,x2,...,xn]);~~or`,G%T~~`~~~~~~~~~~~~~~~
~~~~symmpoly([x1,x2,...,xn],m);`,GF^_l%F~~`PARAMETERS:~x1,x2,...,xn~-~names`,G%
J~~`~~~~~~~~~~~~m~-~non-negative~integer`,GF^_l%2~~`SYNOPSIS:~~~`,G%co~~`-~The~
call~symmpoly([x1,...,xn],m)~returns~the~symmetric~polynomial`,G%do~~`~~in~the~
variables~x1,...,xn~(which~may~not~necessarily~be~distinct)`,G%=~~`~~having~tot
al~degree~m`,G%eo~~`-~The~call~symmpoly([x1,...,xn]);~returns~a~sequence~of~the
~symmetric`,G%O~~`~~polynomials~in~x1,~...,~xn~for~m~=~0..n`,GF^_l%2~~`EXAMPLES
:~~~`,GF^_l%>~~`>~symmpoly([u,v,w,x],3);`,GF^_l%fn~~`~~~~~~~~~~~~~~~~~~~~~~~~~u
~v~w~+~u~v~x~+~u~w~x~+~v~w~x`,G%:~~`>~symmpoly([x,y,z]);`,GF^_l%in~~`~~~~~~~~~~
~~~~~~~~~~~~1,~x~+~y~+~z,~x~y~+~x~z~+~y~z,~x~y~z`G%(~~):~~~GFeoFeo%inWhen~the~u
ser~does~~?symmpoly~~the~text~of~your~help~file~willG%Obe~printed~by~Maple~in~t
he~normal~way.~I.e.~asGFeo%Z~~FUNCTION:~symmpoly~-~generate~the~symmetric~polyn
omialsGFeo%S~~CALLING~SEQUENCES:~symmpoly([x1,x2,...,xn]);~~orG%Q~~~~~~~~~~~~~~
~~~~~~~symmpoly([x1,x2,...,xn],m);GFeo%/~~...~etc.~...GFeoFeo%@How~to~create~th
is~TEXT~object?G%@-------------------------------G%^oWrite~the~text~for~the~hel
p~file~in~a~file~as~you~want~it~to~appearG%hofor~the~user.~~You~may~find~it~con
venient~to~copy~and~edit~a~Maple~help~file.G%coUnder~Unix,~the~C~program~"helpt
omaple"~that~you~should~find~in~the~sameG%doplace~as~"maple"~is~kept,~can~be~us
ed~to~create~a~TEXT~object~from~a~fileG%6of~text.~~For~exampleGFeo%R~~helptomap
le~"help/text/symmpoly"~<~symmpolyhelpGFeo%[ooutputs~the~TEXT~object~for~symmpo
ly~above,~assigned~to~the~nameG%6`help/text/symmpoly`.GFeo%coAlternatively,~in~
Maple~V~Release~2~and~later~versions~of~Maple,~you~canG%bouse~the~makehelp~func
tion~from~the~Maple~library.~~Suppose~the~text~youG%hnhave~for~your~help~file~i
s~in~the~file~foo.~~Then~in~Maple~doGFeo%U~~>~readlib(makehelp):~#~load~from~th
e~Maple~libraryG%:~~>~makehelp(topic,~foo):G%E~~>~save~`help/text/topic`,~fooTE
XT;GFeo%boThe~text~file~foo~is~read~and~converted~into~a~TEXT~object~and~assign
edG%`oto~the~variable~`help/text/topic`.~~This~has~been~saved~into~the~fileG%co
fooTEXT~which~you~can~now~include~in~your~Maple~src~code.~~Then~when~theG%[ocod
e~loaded~into~Maple,~the~on-line~help~will~also~be~there~too.GFeo%ioRemember~al
so~to~include~the~examples~used~in~the~help~file~in~your~test~file!GF$,
I9help/share/text/analysis%9help/share/text/calculusGF$,
I6help/share/text/plotsF(F$,
I,share/check"+"3p'>uF$,
I8help/share/text/physicsF^xF$
