Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

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

Search the Archive

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[1]:= Abs[-1 - 2 E - E^2 + (1 + E)^2]
Update[]
Evaluate[%%]

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

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

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

Out[3]= 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