Integrate with If and Which

• To: mathgroup at smc.vnet.net
• Subject: [mg20167] Integrate with If and Which
• From: "L. Dwynn Lafleur" <lafleur at usl.edu>
• Date: Sun, 3 Oct 1999 21:07:36 -0400
• Organization: University of Louisiana at Lafayette
• Sender: owner-wri-mathgroup at wolfram.com

```It has been pointed out before in this newsgroup that Mathematica integrates
some conditional functions but not others.  For example, consider the
following text translation of a notebook from version 4:

In[1]:= f[u_] := If[u < 0, u, u^2];
g[u_] := Which[u < 0, u, u >= 0, u^2];

In[3]:= Integrate[f[u], {u, -1, 1}]

Out[3]= -(1/6)

In[4]:= Integrate[g[u], {u, -1, 1}]

Out[4]= Integrate[Which[u < 0, u, u >= 0, u^2], {u, -1, 1}]

Functions f[u] and g[u] are mathematically identical integrands, but
Mathematica integrates only the former.  You can force numerical evaluation
of the latter by wrapping it in N[].

My question is, "What is the fundamental difference between If and Which
that makes Mathematica treat them differently?"  As I said above, this
Mathematica "feature" has been pointed out before and ways to avoid it have
been described, but I don't recall a post giving the reason for the
behavior.  I guess I am just curious to know if there is a logical principle
involved.

Dwynn

--

==========================================
L. Dwynn Lafleur
Professor of Physics
University of Louisiana at Lafayette
lafleur at usl.edu
==========================================

```

• Prev by Date: Syntax error on opening notebook
• Next by Date: NonlinearRegress and numerical function
• Previous by thread: Syntax error on opening notebook
• Next by thread: Re: Integrate with If and Which