       Re: derivative of a well-behaved function

• To: mathgroup at smc.vnet.net
• Subject: [mg99529] Re: [mg99466] derivative of a well-behaved function
• From: Daniel Lichtblau <danl at wolfram.com>
• Date: Thu, 7 May 2009 06:36:13 -0400 (EDT)
• References: <200905060924.FAA01756@smc.vnet.net>

```Ricardo Samad wrote:
> Dear all,
>
> the following ZS function is an analytical description of the transmittance
> of a laser beam through an Iris after propagating inside a nonlinear sample
> (Z-Scan curve):
>
> \[Gamma][z_, z0_] := 1/2 (I/z0 (z + (z^2 + z0^2)/(DD - z)) + 1);
>
> ZS[z_, z0_, \[Phi]_] :=
>   Abs[\[Gamma][z, z0] Gamma[\[Gamma][z, z0], 0,
>      I \[Phi]/(1 + (z/z0)^2)] /(I \[Phi]/(1 + (z/z0)^2))^\[Gamma][z,
>      z0]]^2;
>
> Altough the function has imaginary arguments and is defined in terms of the
> incomplete Gamma function, it is well-behaved and Mathematica calculates an=
> d
> plots it without problems:
>
> DD = 300;
> Plot[ZS[z, 1, 0.5], {z, -4, 4}]
>
> The problem is that when I calculate its derivative in z, the result is
> given in terms of infinite quantities and DirectInfinity functions, and it
> is not possible to get numerical values of it neither plot its graph:
>
> dZS = D[ZS[z, 1, 0.5], z];
> dZS /. z -> 1
> N[%]
> Plot[dZS[z, 1, 0.5], {z, -4, 4}]
>
> Since the ZS function is well-behaved and has no discontinuities, its
> derivative should be easily evaluated to numerical values and also plotted.
> Does anybody has any idea on how to obtain the values? (I could easily writ=
> e
> a function to numerically calculate the derivative, but that=B4s not really
> what I want).
>
> Thank you,
>
> Ricardo
>
> --
> ____________________________________
> [...]

Derivative (and D) really require analytic finctions in complex
variables to do their work. In your example I think D gets thwarted by
presence of Abs. One way around this would be to take explicit numeric
differences, as below.

eps = 10^(-6);
dZS[z_Real] := Re[(ZS[z + eps, 1, 1/2] - ZS[z - eps, 1, 1/2])/(2*eps)]

Plot[dZS[z], {z, -4., 4.}]

Alternatively, you could load the numerical calc package:

Needs["NumericalCalculus`"]

and then use ND.

Daniel Lichtblau
Wolfram Research

```

• Prev by Date: Re: Picking Off Lists That Have No Numbers
• Next by Date: Re: Functions in partial differential equations with different number
• Previous by thread: derivative of a well-behaved function
• Next by thread: Re: derivative of a well-behaved function