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

MathGroup Archive 1999

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

Search the Archive

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