Keeping it real

• To: mathgroup at smc.vnet.net
• Subject: [mg120246] Keeping it real
• From: amannuc <amannuc at yahoo.com>
• Date: Thu, 14 Jul 2011 21:20:08 -0400 (EDT)

```I am facing perhaps the "age-old" question of limiting the indefinite
integrals that Mathematica returns. In particular, I am trying to
avoid complex numbers. I have tried using "Assumptions" in the Integrate
command to no avail.

The specific integral is:

SetAttributes[{c0, d0}, {Constant}] (* Probably redundant. See Block
function *)
Simplify[Block[{a, c0, d0},
2.0 * a *
Integrate[
((-d0/z^2)/(c0 + d0/z))/Sqrt[-a^2 + z^2 (c0 + d0/z)^2],
z,
Assumptions -> {z \[Element] Reals, a \[Element] Reals,
c0 \[Element] Reals, d0 \[Element] Reals}]]]

numbers. I verified the answer is correct by taking its derivative.
(0. - 2. I) Log[-((2 d0 (-I a + Sqrt[-a^2 + (d0 + c0 z)^2]))/(
d0 + c0 z))] + ((0. + 2. I) a Log[(
2 d0 ((I (-a^2 + d0 (d0 + c0 z)))/Sqrt[a^2 - d0^2] +
Sqrt[-a^2 + (d0 + c0 z)^2]))/z])/Sqrt[a^2 - d0^2]

Note all the "I"s. This is a fairly simple answer returned. I doubt
that is the only solution. When I evaluate it for cases of interest, I get
complex numbers, which can't be right in my particular case which is
based on a physical problem.

Thanks for any insights.

--
Tony Mannucci

```

• Prev by Date: Compile and Total
• Next by Date: Re: Numerical accuracy/precision - this is a bug or a feature?
• Previous by thread: Re: Compile and Total
• Next by thread: Re: Keeping it real