mathematica comes of age as a scientific simulation tool.
- To: mathgroup at smc.vnet.net
- Subject: [mg8226] mathematica comes of age as a scientific simulation tool.
- From: gaylord at ux1.cso.uiuc.edu (richard j. gaylord)
- Date: Tue, 19 Aug 1997 21:12:06 -0400
- Organization: university of illinois
- Sender: owner-wri-mathgroup at wolfram.com
hi:
i just found that one big change between 2.2 and 3.0 is the memory useage
for Nest and NestList [this is very important for doing simulations.
the following program is used to model the social behavior of a society of
good and bad guys [for setails see the forthcoming book "Simulating
Society: A Mathematica Toolkit for Modeling Socioeconomic Behavior" to be
published by TELOS/Springer-Verlay.
the lattice is 50 by 50 [that's a matrix with 2500 values. 20% of the
elements are simply zero [representing empty sites] and 80% of the
elements are nested lists of the form {a, b, c, {list of 2000 numbers},
d}.
all of the elements (sites) this matrix (lattice) are updated
simulatnaeously (it's a cellular automata) over 1000 tiume steps.
the following results were obtained on an apple powerbook 3400/240 [a
phenomenal machine - may apple survive and thrive]
================
(* kernel quit and re-started here *)
the program using NestList is entered here:
MemoryInUse[]
845,848
SeedRandom[6]
Timing[dog = name[50, 0.8, {0.1, 0.2, 0.3, 0.4}, {4, 3, 1, 5}, 1000];]
{852.45 Second,Null}
(* this took < 15 minutes. that's pretty good speed. note: this was done
on a 603e chip running at 240 MHtz. - imagine the speed on the new 604e
chip running at 350 MHtz. *)
MemoryInUse[]
69,663,584
MaxMemoryUsed[]
70,019,824 [70 Mb RAM needed to do calculation]
69663584 - 845848
68,817,736 [69 Mb RAM consumed by calculation]
(* kernel quit and re-started here *)
the program using Nest is entered
MemoryInUse[]
845,832
SeedRandom[6]
Timing[cat = tit4tatNest[50, 0.8, {0.1, 0.2, 0.3, 0.4},
{4, 3, 1, 5}, 1000];]
{859.117 Second,Null}
MemoryInUse[]
1,196,008
MaxMemoryUsed[]
23,406,440 [24 Mb RAM needed to do calculation]
1196008 - 845832
350,176 [350 K RAM consumed by calculation]
68817736/350176.
196.5
WOW!!!
another note: you can now watch 2-d simulations graphics evolve within
the 3.0 notebook while the program is running [details are in the book
mentioned above]. this is REALLY useful [even essential] for simulation
epxeriments.
conclusion: 3.0.(.1.1) is an incredible improvement of mathematica for use
in computer simulations. i predict that within 5 years [maybe as soon as 1
year], it will be impossible [at least stupid] to use any other computer
environment to do this kind of stuff. mathematica is no longer useful for
only prototyping simulations that then have to be complelety re-written
and run in other [procedural, low-level language.
i've been working with mathematica since 1987, waiting [and hoping] it
would eventually mature into a system for real [as opposed to
'toy']simulations.. it's finally reached early adulthood [post-teen].
part of this is of course the software and part of it is the hardware.
--
richard j. gaylord, university of illinois, gaylord at uiuc.edu
"What I cannot create, I do not understand"
-Richard P. Feynman-