MathGroup Archive 1998

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

Search the Archive

Re: Abs and derivative problems

  • To: mathgroup at
  • Subject: [mg14651] Re: [mg14639] Abs and derivative problems
  • From: Jurgen Tischer <jtischer at>
  • Date: Sat, 7 Nov 1998 02:10:00 -0500
  • Organization: Universidad del Valle
  • Sender: owner-wri-mathgroup at

Hi Sylvan,
playing around for five minutes I came up with the following.

In[1]:= Sqrt[(a + I*b)/(c + I*d)*Conjugate[(a + I*b)/(c + I*d)]]

Out[1]=  Sqrt[((a + I*b)*Conjugate[a + I*b])/
   ((c + I*d)*Conjugate[c + I*d])]

Now if you apply ComplexExpand separately to both denominator and
numerator you end up with the correct answer. This does not mean I
can't understand your complain, but given the intents in this direction
(package ReIm, a similar package in Mathsource), it looks like there is
a serious problem behind. To give you an idea of what things can
happen, have a look at the following example:

In[1]:= FullSimplify[D[EllipticE[x, 1], x]]

Out[1]= Sqrt[Cos[x]^2]

In[2]:= Integrate[Sqrt[Cos[x]^2], x]

Out[2]= Sqrt[Cos[x]^2]*Tan[x]

I suggest you plot the two functions (EllipticE[x,1] and
Sqrt[Cos[x]^2]*Tan[x]) and compare them closely.

As to your second problem, there is an intuitive answer to it. You want
to replace z and not z[t]. Maybe you remember your Calculus teacher
saying (I admit not all say it) you have to distinguish between a
function f and its value at x, f[x]? So use /. z->#^2& or

By the way humans are typically not very consistent with respect to this
rule, see what I wrote above, its just we are still a bit more
(context) sensitive.


sylvan wrote:
> I could not calculate the modulus of  a complex expression containing
> imaginary parts in both denominator and numerator with Mathematica. An
> Example:
> (a + I b) / (c + I d)
> a,b,c,d (real) symbolic variables.
> In pratice, this should be absolutely trivial. ComplexExpand is not
> effective.
> How do you "tell" mathematica that your variables are real ??  I
> included an example below (cell format, you can cut and paste).
> Also,  replacement rules like  //. z[t_] -> t^2 do not work well on
> expressions like  z'[t] + b z[t]. the result  is  z'[t] + b t^2... I
> could not force it to Evaluate z'[t] or D[z[t], t].
> Could you help ?? I am sure there is a non-intuitive solution to that.
> Cell[OutputFormData["\<\
> Abs[(b0*\\[CapitalDelta]z*
>      (Es - I*\\[Eta]*\\[Omega]))/
>    (-I*m*\\[Gamma]*\\[Omega] +
>      m*\\[Omega] +
>      b0*(Es - I*\\[Eta]*\\[Omega]) -
>      m*\\[Omega]^2)]\
> \>", "\<\
> Abs[(b0 \[CapitalDelta]z (Es - I \[Eta] \[Omega])) /
>                    2
>     (-I m \[Gamma] \[Omega] + m \[Omega]  + b0 (Es - I \[Eta] \[Omega])
> -
>           2
>       m \[Omega]0 )]\
> \>"], "Output",
>   CellLabel->"Out[110]//TextForm=",
>   LineSpacing->{1, 0}]

  • Prev by Date: Re: Protecting from evaluation
  • Next by Date: using Upset for defining positive real values (Re: Can I get ComplexExpand to really work?)
  • Previous by thread: Re: Abs and derivative problems
  • Next by thread: Re: Abs and derivative problems