2.5.11 Defining Numerical Values

If you make a definition such as f[x_] := value, Mathematica will use the value you give for any f function it encounters. In some cases, however, you may want to define a value that is to be used specifically when you ask for numerical values.

 expr = value define a value to be used whenever possible N[expr] = value define a value to be used for numerical approximation

Defining ordinary and numerical values.
This defines a numerical value for the function f.
 In[1]:=  N[f[x_]] := Sum[x^-i/i^2, {i, 20}]
Defining the numerical value does not tell Mathematica anything about the ordinary value of f.
 In[2]:=  f[2] + f[5]
 Out[2]=
If you ask for a numerical approximation, however, Mathematica uses the numerical values you have defined.
 In[3]:=  N[%]
 Out[3]=

You can define numerical values for both functions and symbols. The numerical values are used by all numerical Mathematica functions, including NIntegrate, FindRoot and so on.

 N[expr] = value define a numerical value to be used when default numerical precision is requested N[expr, {n, Infinity}] = value define a numerical value to be used when n-digit precision and any accuracy is requested

Defining numerical values that depend on numerical precision.
This defines a numerical value for the symbol const, using 4n + 5 terms in the product for n-digit precision.
 In[4]:=  N[const, {n_, Infinity}] := Product[1 - 2^-i, {i, 2, 4n + 5}]
Here is the value of const, computed to 30-digit precision using the value you specified.
 In[5]:=  N[const, 30]
 Out[5]=

Mathematica treats numerical values essentially like upvalues. When you define a numerical value for f, Mathematica effectively enters your definition as an upvalue for f with respect to the numerical evaluation operation N.

THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.