MathGroup Archive 2002

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

Search the Archive

Re: L2 inner product. Integrate and Conjugate?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg36340] Re: [mg36308] L2 inner product. Integrate and Conjugate?
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Mon, 2 Sep 2002 04:08:50 -0400 (EDT)
  • References: <200208310525.BAA28653@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Andreas Dietrich wrote:
> 
> Hello.
> 
> I am trying to implement the inner product in the space of
> complex-valued, square integrable functions over [-1/2,1/2], which can
> be expressed in Mathematica code as
> 
> inner[f_Function,g_function]:=Integrate[Conjugate[f[x]]*g[x],{x,-1/2,1/2}]
> 
> This is simple enough. Problem is, Mathematica seamingly cannot
> evaluate the Integral for even the simplest of functions:
> In[10]:=inner[#&,#&]
> 
> Out[10]:=\!\(\[Integral]\_\(-\(1\/2\)\)\%\(1\/2\)\(x\ Conjugate[
>           x]\) \[DifferentialD]x\)
> 
> As you see, the Integrate returns unevaluated. It works fine if I
> remove the Conjugate. Unfortunately the Conjugate is needed for
> positive definiteness.
> 
> Various variants with Composition, Re and Im etc. don't work either.
> 
> This should be a So how do I get Integrate to work with Conjugate?
> 
> I use Mathematica 4.1.2.0 on Linux/i386.
> 
> Thank you,
> Andreas
> 
> --
> True Pleasure in this society is more dangerous than bank robbery.

The deficiency has been addressed in our development version, at least
to the extent that it works on the simple example given above. For a
work-around in version 4 one might do as below.

inner2[f_Function, g_Function] := 
  Integrate[(Re[f[x]] - I*Im[f[x]])*g[x], {x, -1/2, 1/2}]	        

In[2]:=  inner2[# &, # &]  

        1
Out[2]= --
        12

Daniel Lichtblau
Wolfram Research


  • Prev by Date: Re: How to ...?
  • Next by Date: Program fails to run if uid=0 and shell is /bin/tcsh
  • Previous by thread: RE: L2 inner product. Integrate and Conjugate?
  • Next by thread: Bug in Times?! - Nonzero 0*SeriesData[..]