Re: Problems with functions of a Complex Variable
- To: mathgroup at smc.vnet.net
- Subject: [mg102820] Re: Problems with functions of a Complex Variable
- From: pfalloon <pfalloon at gmail.com>
- Date: Fri, 28 Aug 2009 00:45:43 -0400 (EDT)
- References: <h75nn9$pgc$1@smc.vnet.net>
On Aug 27, 8:38 pm, Sergio Miguel Terrazas Porras <sterr... at uacj.mx>
wrote:
> Dear Group:
>
> I am trying to illustrate with Mathematica 7.0.1 some of the concepts of Quantum Mechanics.
>
> In particular, for the particle in an Infinite Square Well, I define the time dependent Wave Function (Sum of Sines times Complex Exponentials ) Ok.
>
> Using only the first 3 terms of the series, I run into the following:
>
> If I use ComplexExpand[ ] I get things of the form a + I b, which, I would assume means to Mathematica that a and b are Real.
>
> I then ask for the Conjugate of the preceding expresi=F3n, and I get things like Conjugate[a] - I*Conjugate[b]. (??)
>
> If I plot the Probability Density Function, things are Ok. (Its Real)
>
> If I try to calculate the (time dependent) expected value of x, Assuming[Element[{x,t},Reals],Integrate[x*psi*Congugate[psi],{x,0,a}]
>
> Matem=E1tica hangs forever even though its only nine integrals.
>
> Any help will be very much appreciated.
>
> Sergio Terrazas
Hi there,
When you use ComplexExpand, Mathematica does indeed expand the
expression assuming that all variables (in this case a and b) are
real. However, this assumption only applies within that function call,
so in the subsequent call to Conjugate a and b are once again assumed
to be completely arbitrary complex quantities.
There are a few ways to do the conjugation in the way you are looking
for. One which I have occasionally found useful is to change the sign
of explicit complex numbers using something like
expr /. Complex[x_,y_] :> Complex[x,y]
Alternatively, using Simplify with appropriate Assumptions will also
work:
Conjugate[a+I*b] // Simplify[#, Element[{a,b}, Reals]]&
It can be something of a minefield trying to evaluate integrals etc
with symbolic quantities that are possibly complex. It's generally
simplest if you can express things in terms of real-valued symbols,
apply Simplify etc to get the integrand in explicit form (i.e. free of
Conjugate), and then carry out integrals.
Here is a simple example related to your case (i've suppressed
output):
ClearAll["Global`"]
(* basis function *)
psi[n_,x_,t_] = Sqrt[2]*Exp[-I*n^2*t]*Sin[n*Pi*x];
(* some linear combination which will have non-trivial time-dependence
*)
f[x_,t_] = psi[1,x,t] + I*psi[2,x,t];
(* visualize the functions over the box 0<x<1 *)
Plot[Evaluate[Table[psi[n,x,0],{n,3}]],{x,0,1}]
(* carry out integrals of individual basis functions to show
orthonormality *)
Table[Integrate[psi[m,x,0]*Conjugate@psi[n,x,0], {x,0,1}], {m,3}, {n,
3}] // MatrixForm
(* some linear combination which will have non-trivial time-
dependence, with REAL coefficients a[n] *)
f[x_,t_] = Sum[a[n]*psi[n,x,t], {n,3}]
(* get the probability density using Conjugate and ComplexExpand
(assumes a[n], x, t are all real) *)
absSq[x_,t_] = f[x,t]*Conjugate@f[x,t] // ComplexExpand
(* now do the integral *)
Integrate[absSq[x,t], {x,0,1}]
Hope this helps and good luck!
Cheers,
Peter.