ebook img

Numerical Calculations Using Maple: Why & How? PDF

9 Pages·0.41 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Numerical Calculations Using Maple: Why & How?

Numerical Calculations Using Maple: Why & How? E.V. Corrˆea Silva∗, L.G.S. Duarte†L.A. da Mota‡and J.E.F. Skea§ Abstract: The possibility of interaction between Maple and numeric compiled languages in performing extensive numeric calculations is exemplified by the Ndynamics package, a tool for studying the (chaotic) behavior of dynamical systems. Programming hints concerning the con- structionofNdynamicsarepresented. Thesystemcommand,togetherwiththeapplication ofthe black-box concept, is used to implement a powerful cooperation between Maple code and some other numeric language code. Keywords: Dynamical systems, chaos, numeric calculations, non-symbolic compiled languages, 9 black-box 9 9 Introduction 1 dX In this paper we explore the possibility of interaction =F(X,t), (1) n dt a between Maple and numeric languages, exemplified by J the Ndynamics package [8] — a tool for studying the whereX=(X1(t),X2(t),...,Xn(t))andF=(F1(X,t), 3 (chaotic) behavior of dynamical systems. F2(X,t),...,Fn(X,t)). The variables Xi(t), where i = 1 Maple interaction facilities may benefit users and 1,2,...,n,representtherelevantquantitiesinsomephys- ical model, and t is a continuous parameter (time, for programmers of both symbolic and numeric languages. A] Asfarastheimplementationofextensivenumericalcal- instance). Each Fi(X,t) is an arbitrary function of the variables X and of the parameter t. N culationsisconcerned,non-symboliccompiledlanguages Roughly speaking, “chaoticity” means extreme sen- like FORTRAN, PASCAL or C are still more popular than h. anysymbolicenvironment;theexistingcollectionsofef- sitivity to small changes in the initial conditions. This t is the tipical case of 3-dimensionalnonlinear dynamical a ficient programswritten in such languagescould not be systems, among whichchaotic behavior is a rule, rather m simply overlooked. than an exception: due to nonlinearity, small fluctua- [ This paper is organizedas follows: first,the concept of dynamical systems is introduced to the reader, as tionsintheinitialconditionspropagatedramatically,so 1 thattwoneighbouringinicialconditionsmayyieldorbits well as to the concepts of fractal dimension and bound- v with completely distinct asymptotic behavior. ary [4], extensively used in the paper; the commands of 5 Chaotic systems have a richer structure than “well- 5 the package are then briefly described and an example behaved” ones, hence their interest. Strange attractors 0 of utilization follows. Finally we point out some use- 1 ful considerations about programming design, as to the andrepellers,aswellasfractalboundariesareexamples 0 of peculiarities of chaotic systems. A measure of the possibility of interaction between Maple and other lan- 9 degree of chaoticity of a system can be obtained by the guages. 9 evaluation of the fractal dimension of the boundaries. / h Dynamical Systems In the next section, we are going to elaborate fur- t ther the concept of fractals and introduce a method to a m Systems of ordinary differential equations (or dynam- calculate the associated fractal dimension. ical systems) play a central role in a large number of : v problems in all areas of scientific research, mainly in Fractals i X physics. Hence the importance of developing tools to Fractal Dimension study thesesystems—inparticular,nonlinearsystems. r a A n-dimensional dynamical system can be generically The idea of fractal will always lack a precise definition represented by [1]. However,whenonereferstoasetFasafractal,one ∗CentroBrasileirodePesquisasF´ısicas,R.Dr. XavierSigaud, typically has the following in mind: 150, Urca, CEP 22290–180, Rio de Janeiro, RJ, Brazil. E-mail: [email protected] 1. F has a “fine structure”; i.e., has complex details †UniversidadedoEstadodoRiodeJaneiro,InstitutodeF´ısica, on arbitrarily small scales; Departamento de F´ısica Teo´rica, R. Sa˜o Francisco Xavier, 524, Maracana˜, CEP 20550–013, Rio de Janeiro, RJ, Brazil. E-mail: 2. Fistooirregulartobedescribedinthetraditional [email protected] ‡Idem. E-mail: [email protected] geometrical language, both locally and globally; §Idem. E-mail: [email protected] MapleTech Vol.?, No. ?, pp. 1–9; ISSN 1061-5733 $6.00 (cid:13)c Birkh¨auser Boston 2008 1 3. often, F has some form of self-similarity, perhaps approximate or statistical; 4. usually, the “fractal dimension” of F (defined in some way) is greater than its “topological dimen- sion”; 5. in most cases of interest, F is defined in a very simple way, perhaps recursively. There are a lot of manners to define the dimension of a fractal. An important one is called the Hausdorff dimension [2], onepossiblegeneralizationofthe “primi- tive”notionofdimension. Supposewehaveahypercube of edge a, its hypervolume V being given by d V =a , (2) where d is the hyperspace dimension. Let us divide the hypercube into N hypercubic cells of edge ǫ, we have d V =Nǫ . (3) Dividing (3) by (2) we have: ǫ d 1=N (4) a (cid:16) (cid:17) ǫ Defining δ = and expressing the number of cells as a a function of δ (i.e., N =N(δ)), d 1=N(δ)δ (5) Solving (5) for d, we obtain the standard definition of dimension: ln(N(δ)) d=− (6) ln(δ) Letus now measurethe dimensionofaCantorset, con- structedthrougharecursiveprocedurepicturedinfigure . In figure 1 we take a segment of length ǫ0 and divide it into three parts of equal length ǫ1 = ǫ0/3; the middle segment is then replaced by two segments of length ǫ1. Figure 1: Cantor set after 0, 1, 2 and 6 iterations, re- We then apply the same procedure to each segment of spectively. length ǫ1, dividing them into segments of length ǫ2 = ǫ1/3, and so on. After M iterations, we will have a M M total of N = 4 segments of length ǫM = ǫ0/3 each. Defining ǫM 1 δ ≡ = , (7) ǫ0 3M we may write ln(δ) ln(4) ln(N(δ))=− . (8) ln(3) 2 MapleTech Commands of the Package Taking the limit M → ∞ (or δ → 0), the Hausdorff dimension (6) of the Cantor set is defined by the limit Inthissectionwepresentabriefdescriptionofthecom- mands of the Ndynamicspackage. A more complete de- ln(N(δ)) d=−lim (9) scriptioncanbefoundintheon-linehelp,providedwith δ→0 ln(δ) the package 1. which, in the case considered, yields • Nsolve allows the user to specify a system of dif- ln(4) ferential equations and initial conditions, calcu- d= ∼1.26 (10) ln(3) lating trajectories in phase space and generating 2D/3Dplots. Also,randominitialconditionsmay Fractal Dimension of Boundaries bechosenfromauser-definedregionofphasespace. LetRbe a D-dimensionalfinite region—whichwewill • View allows quick and comfortable visualinspec- taketobeahypercubeofedgea,withoutlossofgeneral- tionof the trajectoriescalculatedby Nsolve,and ity—dividedintoN hypercubic“cells”ofedgeǫ. Letus the identification of regions of interest in phase chooseanarbitrarycellC. Ifthereareanypairofpoints space (e.g., chaos). Zooming in and out is sup- (P,Q) in C so that the orbits of P and Q have distinct ported, as well as choosing the variables to be asymptoticbehavior,C issaidtobeaboundary-cell. In shown (e.g., 2D or 3D graphs). the limiting case where N is infinite (ǫ→0), the union of all boundary-cells constitute a boundary. • Boxcount performs small random perturbations Let NB be the number of boundary-cells in R. Ac- in the initial conditions and analyzes their effect cordingtoeq.(9), thefractaldimensionofthe boundary upon the evolution of trajectories. Perturbed ini- [4]canbe inferredfromthe behaviorofNB asǫ→0or, tialconditionsarechosenfromsmallregionssized equivalently, as δ →0, where δ =ǫ/a. by a user-defined perturbation parameter,around However,the total number of cells each umperturbed initial condition. In the neigh- D borhoodofaboundary,twosmallbutdistinctper- 1 N(δ)= (11) turbations of the same initial condition may yield (cid:18)δ(cid:19) radicallydifferentperturbedtrajectories;Boxcount rapidly increases as δ → 0, and the computation of determinesthe fractionofthe totalnumber ofini- NB(δ) results unpractical. An alternative approach is tial conditions for which this is so. ∗ that of picking up N random cells in R and counting • FdimensionmanagestheexecutionofBoxcount ∗ ∗ thenumberofboundary-cellsN . IfN islargeenough B for a row of values of the perturbationparameter, to be statiscally meaningful, we expect that and analyzes the results obtained to evaluate the NB∗ NB fractal dimension of the boundary. → . (12) N∗ N Examples Supposing that, indeed, ∗ Commands of the package NB NB = (13) N∗ N Ndynamicscontainshelpfultoolsforthedetectionofin- teresting regions (such as strange attractors, repellers, we have andfractalboundaries)in the phase spaceof a dynami- ∗ ∗ ln(NB) ln(NB/N ) ln(N) cal system. We will take the well-known Lorenz system − =− − . (14) lnδ lnδ lnδ as an example. dB D The package is loaded by the standard command | {z } | {z } with. The precision of calculations will be set to 16 Defining digits, using Maple environment variable Digits 2. ∗ ∗ ln(N /N ) B α≡D−dB = (15) > with(Ndynamics); lnδ > Digits := 16; we have ∗ We define the Lorenzsystem,andassignsome valuesto N ln B =α lnδ (16) its constants: (cid:18)N∗(cid:19) 1 http://www.dft.if.uerj.br/symbcomp.html ∗ ∗ Bothδ andNB/N canbe measured,allowingus tode- 2In what follows, the output of command lines has been oca- termineαandthefractaldimensiondB oftheboundary. sionallyomitted. Vol. ?, No. ?, 2008 3 > Lorenz := {diff(x(t),t)=sigma*(y(t)-x(t)), > diff(y(t),t)=-x(t)*z(t)+R*x(t)-y(t), > diff(z(t),t)=x(t)*y(t)-b*z(t)}; > sigma:=10;b:=8/3;R:=28; The command Nsolve generates a set of random initial conditions within a user-defined region in phase space, 40 and then calculates the orbit of each individual initial condition. The number of initial conditions to be gen- 30 erated is controled by the global variable number ic. z(t) In addition, the color of each individual orbit can be 20 defined by abooleanexpressionregardingthe finalcon- dition of the orbit, to be assignedto the globalvariable 10 Colouring. According to the value of that expression, an orbit may be plotted in one out of two predefined 0 -15 -10 -5 0 5 10 15 colors. x(t) > number_ic:=8; > Colouring:=x(t)<-4 and x(t) > -11; If the user is interested in detailing some particular re- For the sakeof syntaxclarity only,the following assign- gionofphasespace,thecommandViewofNdynamicsis ments are performed: the variable init region defines recommended: rangesforeachdependentvariable,thuslimitingthere- gion in phase space for initial conditions; t range sets > t0 := time(); > View([x=-10..0,z=20..30]); tf := time()-t0; the independent variable range; steps to the indepen- dent variable are defined by t calc step (for calcula- tionpurposes)andt plot step(forplottingpurposes). 30 > init_region := [x=-0.37717..-0.37716, > y=0.48685..0.48686, z=-0.29894..-0.29893]; > t_range := 0..37; 28 > t_calc_step := .005; > t_plot_step := .01; 26 The command Nsolve may now be run. The standard z(t) Maple function time is employed to give the reader an 24 estimatecomputationtime(whichismachine-dependent of course). 22 > t0:=time(): > graph := Nsolve(Lorenz, [init_region, 20 -8 -6 -4 -2 0 > [t=t_range,t_plot_step]],[x(t),z(t)], x(t) > random,method=[rk5C,t_calc_step]): > tf := time()-t0; tf :=51.569 (...some ommited output ...) Inorderto exemplify the use ofthe commands Box- tf :=123.880 countandFdimension,letusslightlymodifytheLorenz We have used the option method=[rk5C,...], i.e., we system parameters: have used the ‘plugged module’ in C to perform the > sigma:=10;b:=8/3;R:=20; numeric calculations. The result can be plotted, for in- and choose another region of initial conditions, as well stance, by using the command displayof the standard as other range and steps for the independent variable: Maplepackageplots(previouslyloadedbyNdynamics): > init_region2 := [x= -1.001 .. 1.001, > y = -1.001 .. 1.001, > display(graph); > z = 21.999 ..22.001]; > t_range2 := 0..16; > t_calc_step2 := 0.01; > t_plot_step2 := 0.05; Also,we willchooseamuchlargenumber ofinitialcon- ditions, and a different coloring criteria. Besides, all 4 MapleTech three dependent variables (x,y,z) are to be shown in linear correlation = ,.9993933454816381 the resulting 3-D plot: > number_ic:=10000; > Colouring:= x(t)<0: > frame := [x(t),y(t),z(t)]; Once more Nsolve generates random initial conditions -2.8 and calculates their orbits: -3 > t0 := time(): -3.2 > Nsolve(Lorenz,[init_region2,[t=t_range2, > t_plot_step2]],frame,initial,random); -3.4 > tf := time()-t0; -3.6 (...some deleted output ...) -3.8 tf :=75.725 -15.4 -15.2 -15 -14.8 -14.6 -14.4 -14.2 -14 -13.8 The command Boxcount is now able to count the numberofhypercubesovertheboundary. Basically,this command takes perturbed initial conditions (those gen- tf :=964.940 erated by Nsolve) according to a user-defined parame- ter, say, epsilon, and calculates their orbits. The final Where the slope of the straightline above (α) is de- value of the independent variable is representedhere by fined by 16. final time, and the integration step by integ step. Performance of the Package (Once more, these variables are assigned just for the Inthecalculationsabove,theoptionmethod=[rk5C,...] sake of clarity of the Boxcountcommand line.) allowed us to employ the Ndynamics“plugged module” > epsilon := 0.0000002; —thefilerk5.c—containingtheCsourcecodeforthe > final_time := 16; > integ_step := 0.02; algorithm of the 5-th order Runge-Kutta method. > t0 := time(): To point out the advantages of our hybrid symbol- > Boxcount(epsilon,final_time,method= ic/numeric approach, which uses Maple to manage the > [rk5C,integ_step]); source code generation and compilation for the num- > tf := time()-t0; ber crunching, while maintaining Maple’s flexibility, ta- ble 1 presents a comparison of the elapsed time taken reading rk5 output to perform the same calculation using the C interface From the, 10000, points (that were testable), , 200, and performing the entire calculation in Maple, using some of its numerical integration routines. In order to of them were close to the boundary. obtain a fair comparison, particular care was taken to [200, 10000] use methods of the same order and adjusting parame- ters to produce solutions with the same precision. The tf :=170.560 following procedure was used: for a given set of initial Inits turn,the commandFdimensioncalculatesthe conditions,Maple’s built-inhigh-precisionTaylorSeries fractaldimensionoftheboundary,bypickingupagiven integratorwasusedtointegratetheLorenzsysteminthe number of distinct values of the perturbation paraneter interval 0 ≤ t ≤ 11, until convergence was obtained to withinauser-definedrange,applyingBoxcountforeach an accuracy of 13 decimal places; subsequently Maple’s case. global variable Digits was set equal to 13 (higher val- > epsilon_range := 0.0000002..0.000001; ues of Digits seemed to cause problems with Maple’s > n_epsilons := 5; integrator),andMaple’sinbuilt5th-orderRunge-Kutta- > t0 := time(): Fehlbergintegrator,rkf45,wasuseduptot=11. This > Fdimension(epsilon_range, final_time, n_epsilons, integrationwasfoundtobeaccurateto4decimalplaces. > method=[rk5C,integ_step]); > tf := time()-t0; ThestepsizeintheC routinewasthenadjustedtogive the same3 precision, resulting in a step size of 0.002. (...some deleted output...) Having matched the precision of both results, the aver- ages of computation times for both methods was then Fractal dimension = ,2.213198116174276, taken for 200 integrations. statistical error = 1.868128109494962, % 3infact,theCroutinewasslightlymoreprecise Vol. ?, No. ?, 2008 5 TheresultsbelowwereobtainedwithMapleV.4run- much comfortable by the interactive user-interface of ning in Windows 98 on an AMD-K6 266 with 64Mb of Maple. (Changing parameters and checking out results SDRAM. The C compiler used was Delorie’s implemen- is faster and easier.) tation of GNU’s gcc 4, with level 3 optimization. In one aspect, the question is analogue to “Why us- ing a high-level language instead of Assembly ?” No Integration C-interface Maple matter how fast Assembly programs may be, the kind Method rk5C rkf45 of details involved in their construction (most of them Seconds per Trajectory 0.1 7.0 totally unrelated to the problem at hand) certainly dis- Ratio to the Fastest Case 1 70 courage its use. The more a given language allows its programmer to focus on “problem-related” details and Table 1: Comparative performances of Maple’s inbuilt ignore the rest,the most suitable the languagebecomes numerical integrators and Ndynamics C interface, for to find a solution to the problem. The very nature the Lorenz system. of ever-evolvingproblems in scientificalresearchrecom- mends the use of “higher-level” languages. It would be highly desirable to combine the features ofsymbolicandnumericlanguages,forthetaskinview; Programming and Design thatwasoneofthe guidelinestotheconstructionofour Considerations package. “High-level”tasks,sotospeak,arehandledby code written in Maple, whereas numerical calculations Building computer programs demands methodical ap- maybe(optionally)performedbyapieceofcodewritten proach,iftimeandeffortofconstructionaretobesaved, in some other language. The present implementation of and coherence to be kept. Furthermore, debugging and the program contains an extension written in C; future modificationofaprogramrelatesdirectlytohowappar- versions will allow the user to simply “plug” his own entthepurposeofeachpieceofcodeturnsout. Software (numerical) code. The implementation of these ideas design is, in itself, a rich subject and field of research, in Maple was achieved through the utilization of the barelytouchedhere. Yet,wehopethereadermayprofit standard command system 5 — which allows one to from reading our present considerations. sendcommandsdirectlytotheoperationalsystem—as Interface with Compiled Languages well as the possibility of exchanging data through files. In the current implementation of Ndynamics, the The numerical integration of a system of differential command system is used for: equationsexemplifiesatipicalsituationinvolvingexten- sive numericalcalculations. As far as the efficiency (ba- • compiling 6 two source code files: derivs.c, con- sically,memoryusageandprocessingtime)ofnumerical taining the definition of the dynamical system; algorithmsis concerned,general-purposesymbolic com- and rk5.c, containing the code for the 5-th order puting systems (based on interpreted languages) gener- Runge-Kuttamethod. Theexecutablefilerk5.exe ally offer less attractive means of implementation than is then produced. non-symboliccompiledlanguagessuchasC,FORTRAN, and PASCAL. The long history of non-symbolic lan- • executing rk5.exe to perform calculations. The guages has already produced a large collection of effi- filesrk5.inandrk5.outare,respectively,the in- cient programs for a wide variety of specific problems put and output files for rk5.exe. — well-known examples are the NAG library of FOR- All these operations are performed automatically, en- TRAN programs, and the collection of C programs in tirely from within Maple. The user needs not to be [7]. Using a symbolic environment for numerical calcu- aware of any such processes. lations,discardingexistingsolutions(basedoncompiled The attentive Maple programmer will notice that languages)mightsoundlikeanattemptto“reinventthe the utilization ofrk5.exe—assumingthatrk5.inand wheel”. rk5.out have the proper formats — does not depend Thepointisthatsymboliclanguagesprovideflexibil- whether its original source code was in C or any other ity and interactivity which lacks in “numeric-oriented” language. This is an example of a “ black-box”, a con- languages. In other words, symbolic code and data cept to be explored in what follows. structures tend to be more friendly and versatile than numeric ones. For instance, in our specific case, the 5PleaserefertotheMapleon-linehelp,bytyping ?system. 6Currently,theDJGPP-32GNUcompilerisused. Pleaserefer identification of chaotic regions in phase space is made toNdynamics on-linehelpformoredetails. 4http://www.delorie.com 6 MapleTech Black-Boxes andParameter PassingTech- > member(x,[y,y,x,y],’pos’); niques > # pos is an output parameter, to be > # assigned to the position of the Awell-knowconceptinsoftwaredesignisthatofablack- > # first occurence of x in [y,y,x,y] box [5]. For our present purposes, it can be pictured as a Maple procedure or an executable file which can true be used without any assumption on its internal logic: all we need to know relates either to input and output data (meaning, form, values) or to what the procedure > pos; does (rather than how it is done). A good example of 3 a black-boxis the standardMaple function sin: allone needs to know to use sin is that it accepts a single Anotherexampleisthecommandirem,similartoiquo. input argument (a valid algebraic expression, assumed Let us make our point clear with the help of a “toy to be expressed in radians) and that its output is, also, procedure” f: an algebraic expression. Using the function sin does > f := proc(a::posint,sm_,pr_) not require the knowledge of details concerning actual > local i; computations. > sm_ := convert([seq(i,i=1..a)],‘+‘); Ideal packages, made out of black-box-like proce- > pr_ := convert([seq(i,i=1..a)],‘*‘); > NULL; dures,wouldbemosteasilyunderstood,andhencemost > end: easily tested, debugged and modified. Given a positive integer a, we compute the sum (1+ Exchange of data among procedures is a crucial as- 2+...+ a) and the product (1∗2∗... ∗ a), which are pect in the construction of a package. A Maple proce- assigned to the parameters sm and pr , respectively. dure may exchange data by An example of usage is • using global or environment variables (input and > f(5,’s,p’); # null output output); > s,p; 15, 120 • using the result of its last executed line (output); Now compare the procedure f to a slightly (but signifi- • using the RETURN command (output); cantly)modifiedversiong,whereoutputparametersare not used: • reading from or writing to a file (input and out- put); > g := proc(a::posint) > local i, s, p; • usingitsparametersorarguments(inputandout- > s := convert([seq(i,i=1..a)],‘+‘); > p := convert([seq(i,i=1..a)],‘*‘); put). > s,p; > end: Ofalltheseways,thelastoneappearstousasthemost Thisversionemploysthe“lastexecutedline”technique. interesting, as far the implementation of black-boxes is It would run as concerned. Using arguments of a procedure as a means of conveying input data is a common practice, needing > g(5); nofurthercomments. Wewouldliketoinvitethereader 15, 120 toattendmorecloselytothepossibilityofpassingoutput What is the practical difference between the two proce- data through the arguments of a procedure — which is dures? The reader should notice that, in order to inter- also a knowntechnique [6, ?] found, for instance, in the pret(andevaluatethecorrectnessof)theoutputofg,he standard commands iquo and member: mustholdtheextrainformationthatthefirstoperandof > iquo(11,2,’r’); theoutputsequencecorrespondsto1+2+3+4+5,and > # r is an output parameter, to be the second one correspondsto 1∗2∗3∗4∗5 — i.e., the > # internally assigned to the > # remainder of the integer division interpretation of the output depends on its particular > # 11/2 (and arbitrary) form. In this example, it is a sequence, 5 but it might as well be a list, or even a table. Were it a sequence or a list, the first operand might be the prod- > r; uct, instead of the sum ... Well, whatever the choice 1 as to the output form— which has to be made —, it wouldcertainlyhavelittletodowiththeactualpurpose Vol. ?, No. ?, 2008 7 of the procedure (i.e., calculating sums and products), ComputationalPhysicsanditsrelationtotheteach- andthus wouldbe superfluous detail. A procedurecall- ing of Physics. ing g (and its poor programmer) would have to know • L.G.S.Duarte is currently a member of staff at all about these details, though; it (or he, or she) would theUniversidadeEstadualdoRiodeJaneiro(UERJ). be free from such concern, if f were used instead. The He obtained his PhD in Physics at the Universi- procedurefcanbeusedasablack-box,whereasgcan’t. dade Federal do Rio de Janeiro, in 1997. His in- When it comes to developing a large number of in- terests concentrate on mathematical physics and tegrated Maple procedures, the black-box is a valuable hehasrecentlyparticipatedonaprojectthatlead concept to keep in mind, and so is the “output param- to the creation of a differential equation solver, eter” technique. That doesn’t mean that all procedures writen on Maple, that was finally introduced on should be written in that way, though. The “last line” thecomercialreleasenumber5ofsuchmathemat- and “RETURN” techniques, for instance, seem to be ical package. the mostsuitable touser-levelprocedures. The “output parameter” technique, in its turn, fits best on internal • L.A.C.P.da Motais currentlya member ofstaff procedures, where all the “hard work” is carried out. at the Universidade Estadual do Rio de Janeiro (UERJ). He obtained his PhD in Physics at the Conclusion University of Oxford, U.K, in 1993. He then held ThepowerfulcombinationofMapleflexibilityandinter- anoneyearpositionasavisitingresearcheratthe activity with the high speed of numeric languages has same University. His interests were then Elemen- been used in the implementation of Ndynamics,a pack- tary Particle Phenomenology. Most recently, his age for the numerical study of (chaotic) behaviour in work has concentrated on mathematical physics dynamical systems. A more detailed description of the and participated on the same project (mentioned functionsandphysicalapplicationsofNdynamicscanbe on the biography above). found on [8]. • J.E.F.SkeagraduatedfromtheUniversityofGlas- We have also presented some of the programming gow with a joint honours degree in Physics and hints and strategies used in its construction, hoping to Astronomy. He first worked with computer alge- have shown that there can be a a stronger link between bra as a research tool at the University of Sussex users (and programmers) of two kinds: those who are where, under the supervision of Roger Tayler and interested in heavy numerical calculations, and those JohnBarrow,he completedhis Ph.D. inthe areas whose interest lies in symbolic computations. of general relativity and cosmology. Subsequently PartofthecurrentimplementationofNdynamicshas he worked for 3 years as a postdoc at the School been written in C and has been “plugged”, so to speak, of Mathematical Sciences of Queen Mary College into the main package. Currently, the user himself can London with Malcolm MacCallum, mainly on the write and use his own integration routine in C, as long CAsystemsSHEEPandREDUCE.Heleftscience asthesameformofinputandoutputdataiskept7. Fu- foracoupleofyearstoworkinSciencePolicywith ture versions of Ndynamics will allow the user to “plug Ben Martin at SPRU in the University of Sussex, and play” his own numerical piece of code and run the on the analysis of performance indicators, but re- compiler corresponding to the language of his prefer- turned to physics for his third postdoc, this time ence, provided that the input and output data follow at CBPF (Brazilian Centre for Physics Research) the proper conventions. in Rio. He moved back to Scotland when he fi- nallygotateachingpositionintheDepartmentof Biographies MathematicsoftheUniversityofAberdeen,where • E.V.CorrˆeaSilvaiscurrentlyaPh.D.studentof heinitiatedacourseonthetheoryofcomputeral- Physics (Quantum Field Theories) at the Centro gebra, using Maple in practical sessions. In 1996 Brasileiro de Pesquisas F´ısicas, in Rio de Janeiro, he moved to the Theoretical Physics department Brazil. He obtained his Master degree in Physics ofUERJ(RioStateUniversity)whereheseemsto at the Universidade Federal do Rio de Janeiro, in have settled down ... for now. 1994. His research interests include the Quantum Hall Effect, Quantum Field Theory and Chaos, References as well as System Design, Artificial Intelligence, [1] B.B.Mandelbrot,TheFractalGeometryofNature. 7Formoredetailedinstructions,pleaserefertotheon-linedoc- Freeman, San Francisco, 1982. umentation. 8 MapleTech [2] F.Hausdorff,Dimension unda¨usseres Mass,Math. Annalen 79, 157 (1918). [3] E. N. Lorenz, Deterministic Nonperiodic Flow, J. Atmos. Sci. 20, 130 (1963). [4] E. Ott, Chaos in Dynamical Systems, Cambridge University Press, 1997. [5] Yourdon, E. and Constantine, L.: Structured De- sign. Yourdon Press, 2nd ed. New York, 1978. [6] Heck, A.: Introduction to Maple. Springer-Verlag, New York, 1993. [7] Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery,B.P.,NumericalRecipesinC,Cambridge University Press, second edition. [8] L. G. S. Duarte, L. A. C. P. da Mota, H. P. de Oliveira, R. O. Ramos and J. E. F. Skea: Numeri- cal Analysis of Dynamical Systems and the Fractal Dimension of Boundaries. Submitted to Computer Physics Communications, chao-dyn/9812029. Vol. ?, No. ?, 2008 9

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.