Re: Problem with conditional definitions
- To: mathgroup at smc.vnet.net
- Subject: [mg19529] Re: Problem with conditional definitions
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sun, 29 Aug 1999 17:21:26 -0400
- Organization: Universitaet Leipzig
- References: <7q9dr3$npc@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Kevin,
when you give a numeric argument to f'[] Mathematica try to
calculate the derivative numerical (because you give not a
value for f'[x]). The numerical algorirthm require the the function
has continuos derivatives and this is not the case in your example.
You should set the derivatives of you f[] explicit to avoid the problem.
Hope that helps
Jens
"Kevin J. McCann" wrote:
>
> I have recently uncovered a problem with conditional definitions of
> functions. The following is a simple example
>
> Remove[f]
>
> f[x_ /; x <= 0] := x^2
> f[x_ /; 0 < x < 1] := x^3
> f[x_ /; x >= 1] := x^4
> {f[1.], f'[1.],f''[1.]}
> {1.,3.54208,18.8746}
> Clearly incorrect. Or
> {f[1.1],f'[1.1],f''[1.1]}
>
> {1.4641, 5.28974, 8.77428}
> Correct: {1.4641, 5.324, 14.52}
> So it is not that the function was evaluated at a boundary.
> Also, if I use exact arguments:
> {f[1],f'[1],f''[1]}
> {1,f'[1],f''[1]}
>
> None of the function definitions lead to the answers I got. Did I miss
> something?