Solving systems of eqs involving Integrations over product of

• To: mathgroup at smc.vnet.net
• Subject: [mg93118] Solving systems of eqs involving Integrations over product of
• From: er <erwann.rogard at gmail.com>
• Date: Mon, 27 Oct 2008 03:12:39 -0500 (EST)

```hi,

here's my integration function:

IntegrateOverIndependentDistributions/:
IntegrateOverIndependentDistributions::usage="IntegrateOverIndependentDistributions[fun,
{d1,d2,...},method:NIntegrate]
returns method[fun[x[1],x[2],...]PDF[d1,x1]PDF[d2,x2]...,{x1,-inf,inf},
{x2,-inf,inf}]";

IntegrateOverIndependentDistributions[expr_, dists_,method_:
NIntegrate] :=
With[{len = Length[dists]},
Module[{x},
With[{vars = x /@ Range[1, len]},
With[{integrand =
Times[expr @@ vars, Times @@ MapThread[PDF, {dists,
vars}]],
ranges= With[{lst={#, -\[Infinity], \[Infinity]} & /@
vars},Sequence @@ lst]
},
method[integrand, ranges]
]
]
]
];

I now have an integrand of the form say f[g1_][x1_,x2_]=...

So I define F[g1_]:=IntegrateOverIndependentDistributions[f[g1],
{NormalDistribution[0,1],NormalDistribution[0,1]}];

and do

FindRoot[
{
F[g1] == 0.0
},
{{g1, -10, 10}}
] ;

but i get the error message:

FindRoot::"nlnum"
"The function value {NIntegrate[...],{(\$\$24632, \$\$24657, \$
\$24658\)}] is not a list of numbers with dimensions {1} at {\[Gamma]1}
= {10.}.

It seems that \$\$24632 is not what I should have, I should have g1...

By the way evaluation f[g1] on a grid works...