MathGroup Archive 2002

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

Search the Archive

Re: Question regarding Compile

  • To: mathgroup at smc.vnet.net
  • Subject: [mg33741] Re: Question regarding Compile
  • From: Madhusudan Singh <ar at sc.hc.de>
  • Date: Wed, 10 Apr 2002 00:50:05 -0400 (EDT)
  • Organization: University of Michigan Electrical Engineering and Computer Science
  • References: <a8m33c$oaq$1@smc.vnet.net> <a8tt4m$fmg$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Thanks for your response.

>
> You can not do *what* ? and what may
>
> f5 = Compile[{{x, _Real}}, Sin[x]]
>
> f[x_] := x^2
>
> Plot[f[f5[x]], {x, 0, Pi}]
>
> do ?

This works. I was using a syntax like :
Compile[{x}, expression] as the help stated that _Real was the default.
However, it seems that I need to write it as ;
Compile[{x,_Real},expression].

That said, the expressions that I am working with, are :

integrand := Compile[{{y, _Real}, {x1, _Real}, {x2, _Real}}, f1[pl[argument[y]] + x1, x2, c]];

pl[] is an array, f1 and argument are functions (fairly simple functions).
c is a constant.

answer1[x1_, x2_] := Exp[-2 Integrate[integrand[y, x1, x2], {y, a, b}]];

a=0, b~1e-8


I get an error :

CompiledFunction::cfsa: Argument y at position should be a machine-size
real number.

when I try to use answer1 with

jt3=q NIntegrate[v[x1, 50, 0.2] g3[0.2, x1, 50] partjt3[x1]
answer1[0.0, x1], {x1, 50, maxpl + dummyinfinity}, Method -> MonteCarlo, MaxPoints -> 10000];

v, g3, partjt3 are simple functions.

As you can see, this is quite complicated. However, since a and b are
fixed numbers, and nowhere near machine precision, I do not not understand
the error above.

This is leading to other errors later.

Any ideas ?

Thanks again.





  • Prev by Date: RE: Different Methods inside one package
  • Next by Date: Re: Re: Need Help on Plotting 3D Using a Scalar Function
  • Previous by thread: Re: Question regarding Compile
  • Next by thread: Re: Question regarding Compile