Re: Question regarding Compile

• To: mathgroup at smc.vnet.net
• Subject: [mg33752] Re: Question regarding Compile
• From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
• Date: Thu, 11 Apr 2002 02:14:06 -0400 (EDT)
• Organization: Universitaet Leipzig
• References: <a8m33c\$oaq\$1@smc.vnet.net> <a8tt4m\$fmg\$1@smc.vnet.net> <a90hj5\$kfv\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Madhusudan Singh wrote:
>
>
> >
> > 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.

You can't symbolical integrate a compiled function !  and you can't pass
a
symbol like y (without a value) to a compiled function where you
declared
the argument as Real

>
> 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 ?

Use NIntegrate[] instead of Integrate[]. There is no need to compile the
argument of NIntegrate[] because Mathematica will do it by default.

Regards
Jens

```

• Prev by Date: Re: How to Return from within a Table[]-Command?
• Next by Date: Re: Trouble with inverting matrices
• Previous by thread: Re: Question regarding Compile
• Next by thread: Re: Question regarding Compile