MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: What is the point of having Initializations in DynamicModule and Manipulate?

  • To: mathgroup at
  • Subject: [mg123168] Re: What is the point of having Initializations in DynamicModule and Manipulate?
  • From: "David Park" <djmpark at>
  • Date: Fri, 25 Nov 2011 04:55:35 -0500 (EST)
  • Delivered-to:
  • References: <14013627.124291.1322135502185.JavaMail.root@m06>

It is actually easier, more natural and intuitive. Writing literate
notebooks with textual discussion and multiple presentations allows better
understanding of mathematical and technical concepts.

In "Visual Explanations, Introduction" Edward Tufte writes: "Those who
discover an explanation are often those who construct its representation."
And students who come to understand a principle are often those who do the

I agree that one can do many nice things with the Manipulate expression, and
many nice things have been done. But it has inherent limitations that, for
all practical purposes, severely restrict the range of presentations that
are possible and useful.

For one thing, the main division of the Manipulate statement is between the
displayed information (first argument) and the controls (remaining
arguments). This means these things are forever segregated in the final
display. Often, a more intimate interweaving of controls and displayed
results will better illustrate a point.

Methods to perform initializations and to calculate and use secondary
dynamic variables, which depend on primary controlled variables, are not
apparent in the basic construction of the Manipulate expression. Rather,
they are relegated to options or to the second argument in a controlled
Dynamic. And if you think the use of the Initialization option is simple,
just follow the extended discussion the last few days between ADVANCED USERS
OF MATHEMATICA, which also hides much more discussion from WRI help
personnel. With a DynamicModule these things are trivial and intuitive.

Serious topics require multiple presentations, original thinking to take
advantage of the new active and dynamic feature of Mathematica, and extended
textual discussion. 

David Park
djmpark at  

From: Helen Read [mailto:readhpr at] 

On 11/23/2011 7:08 AM, Andrzej Kozlowski wrote:
> On 22 Nov 2011, at 11:32, David Park wrote:
>> But isn't it all very complicated and unintuitive? This basically arises
>> because WRI wanted a set-piece Manipulate statement that would do just
>> everything for standalone dynamic displays. I just about never use the
>> Manipulate statement. It takes more than a Manipulate statement to
present a
>> significant idea. One has the feeling that the Initialization option was
>> added as an afterthought to make Manipulate work on some additional
>> Then this was carried over to DynamicModule.
> Let me just say that I entirely disagree. I only use Manipulate and
> it  allows me to illustrate all kinds of advanced mathematics, including
> genuinely "bleeding edge" research (look at the Wolfram Demosntrations
> site and you will see some of it). I think it involves a lot of
> "significant ideas" and yet I have never come across any situation where
> I would want to use Dynamic (and DynamicModule). Furthermore, we have
> started teaching Mathematica here both in the context of general
> computer algebra and also for specific applications (including quite
> advanced applications in mathematical finance). We tell the students
> about Dynamic and show them a fee examples but then we only use
> Manipulate. If they want to know about Dynamic they are told to learn
> more by themselves. We have really top class students here, both in math
> and computer science but so far I have not yet met anyone who would find
> Manipulate insufficient - and they have created some quite spectacular
> projects with it.

And at the other end of the spectrum, my first year calculus students 
use Manipulate in meaningful ways. Having to build everything from the 
ground up with DynamicModule would be a nightmare for them.

Helen Read
University of Vermont

  • Prev by Date: Re: Using Equal with Real Numbers
  • Next by Date: Re: CDF examples
  • Previous by thread: Re: What is the point of having Initializations in DynamicModule and Manipulate?
  • Next by thread: Re: What is the point of having Initializations in DynamicModule and Manipulate?