       Re: Evaluation question

• To: mathgroup at smc.vnet.net
• Subject: [mg80362] Re: Evaluation question
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Sun, 19 Aug 2007 01:30:16 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <fa13jg\$nua\$1@smc.vnet.net> <fa6eor\$dk1\$1@smc.vnet.net>

```David Bailey wrote:

> Yaroslav Bulatov wrote:
>> Abs[-1 - 2 E - E ^2 + (1 + E)^2]
>> Evaluate[%]
>>
>> Why is the "N::meprec" message only printed once?
>>
>>
> Although Mathematica appears to evaluate expressions from scratch, for
> performance reasons, it keeps information that lets it know that an
> expression cannot change by further evaluation. This information is
> quite subtle, because if an expression contains a variable, it
> recognises that it needs to re-evaluate if the variable is given a value.

Just an additional thought to David's explanations: if one wants to
force the (re)evaluation of an expression, one can use *Update*. For
instance, the following produces two warning message because the first
expression is evaluated again (Mathematica behaves like if something has
changed that could altered the value of the first expression).

In:= Abs[-1 - 2 E - E^2 + (1 + E)^2]
Update[]
Evaluate[%%]

During evaluation of In:= N::meprec: Internal precision limit \
\$MaxExtraPrecision = 50.` reached while evaluating -1-2 \
\[ExponentialE]-\[ExponentialE]^2+(1+\[ExponentialE])^2. >>

Out= Abs[-1 -
2 \[ExponentialE] - \[ExponentialE]^2 + (1 + \[ExponentialE])^2]

During evaluation of In:= N::meprec: Internal precision limit \
\$MaxExtraPrecision = 50.` reached while evaluating -1-2 \
\[ExponentialE]-\[ExponentialE]^2+(1+\[ExponentialE])^2. >>

Out= Abs[-1 -
2 \[ExponentialE] - \[ExponentialE]^2 + (1 + \[ExponentialE])^2]

--
Jean-Marc

```

• Prev by Date: Re: Is there a way to rewrite Roots[#n] result in easier to read form?
• Next by Date: Mathematica 6 "save as PDF" page size issues
• Previous by thread: Re: Evaluation question
• Next by thread: Re: Evaluation question