Need help with integration.

• To: mathgroup at smc.vnet.net
• Subject: [mg23785] Need help with integration.
• From: Madhusudan Singh <chhabra at eecs.umich.edu>
• Date: Sat, 10 Jun 2000 02:59:30 -0400 (EDT)
• Organization: EECS Dept. Univ. of Michigan
• Sender: owner-wri-mathgroup at wolfram.com

```Hi
I am trying to do a difficult calculation using Mathematica in hopes
that its optimised algorithms would get me a quick answer.

The calculation essentially is :

f[e1_,e2_,t_]:=1/(1+Exp[m (e1-e2)/t]);
(*m, gr's are all predefined constants*)
lns[e1_,e2_]:=1/(1+((e1-e2)/gr0)^2);
d3[m1_,e1_,e2_]:=
If[e1<=e2,0.0, m1 Sqrt[(e1-e2)]];
ar[x_]:=Round[x/gr]+1;
gf[e1_,e2_]:=If[e1<=e2,0.0, gr2 Sqrt[Abs[e1-e2] ]];
ker[y_,et_,el_]:=gf[ep[ar[y]]+et,el];
(*ep[] is an array of numbers*)
em[et_,el_]:=et+el;
fc[cr_,ker_]:=
Module[{},
tn[et_]:=
Exp[-2 Integrate[ker[y,et,enl],{y,a,b}]];
(* a and b are predefined constants *)
n1[el_]:=
Integrate[
f[e[eml,emt],efm,t]
d3[em[eml,emt],efm] tn[emt], {emt, 0,
dummyinfinity}];
(* dummyinfinity was earlier defined to be 0.25 *)
n2[n_,ewnl_]:=
Integrate[
Integrate[
n1[eml] lns[eml,ewnl],{eml,
ewnl- dummyinfinity/2,ewnl+dummyinfinity/2}] (
1-f[em[ewnl,ewnt],efs,t])  gr3 n],{
ewnt,0, dummyinfinity}];
cr:=gr4 Sum[Sqrt[gr5 se[n]] n2[n,se[n]],{n,nmax}];];
(* se is an array *)
fc[cr,ker];
Print[fc];
--------------------------------

Quite complicated, I admit. Quite obviously, I do not expect an
analytical answer. I do expect a numerical value at the end of it all,
however as all the free variables have been integrated/summed over.
However, it does two things :
1. Does not complete even after one to two hours of running.
2. Spews out some rather unintelligible error messages. One set of error
messages appears in the notebook (Section 1). The other in a separate
Message Box Window (Section 2). See end of the posting.

Any ideas about what is going on ?

(I would really appreciate it if you could email me a copy of your
response.)

=======================================

(* Any occurrences of Skeleton, etc. are merely a result of the copy and
paste process *)

Section 1:

InverseFunction::"ifun":
"Warning: Inverse functions are being used. Values may be lost for \

multivalued inverses."
InverseFunction::"ifun":
"Warning: Inverse functions are being used. Values may be lost for \

multivalued inverses."
InverseFunction::"ifun":
"Warning: Inverse functions are being used. Values may be lost for \

multivalued inverses."
General::"stop":
"Further output of \!\(InverseFunction :: \"ifun\"\) will be
suppressed \
during this calculation."
\$RecursionLimit::"reclim": "Recursion depth of \!\(256\) exceeded."
\$RecursionLimit::"reclim": "Recursion depth of \!\(256\) exceeded."
\$RecursionLimit::"reclim": "Recursion depth of \!\(256\) exceeded."
General::"stop":
"Further output of \!\(\$RecursionLimit :: \"reclim\"\) will be
suppressed \
during this calculation."
Hold[List[Hold[MakeBoxes[Union,StandardForm]],::,

Hold[Short[HoldForm[List]]],) (,Hold[Short[HoldForm[2]]],) (,
Hold[Short[HoldForm[1]]],)]
"Heads \!\(Hold\) and \!\(List\) at positions \!\(3\) and \!\(1\)
are \
expected to be the same."
"Heads \!\(Hold\) and \!\(List\) at positions \!\(4\) and \!\(1\)
are \
expected to be the same."
General::"stop":
"Further output of \!\(Union :: \"heads\"\) will be suppressed
during \
this calculation."
Union::"normal":
"Nonatomic expression expected at position \!\(1\) in \
\!\(\\[LeftSkeleton] 1 \\[RightSkeleton]\)."
Union::"normal":
"Nonatomic expression expected at position \!\(1\) in \
\!\(\\[LeftSkeleton] 1 \\[RightSkeleton]\)."
Union::"normal":
"Nonatomic expression expected at position \!\(1\) in \
\!\(\\[LeftSkeleton] 1 \\[RightSkeleton]\)."
General::"stop":
"Further output of \!\(Union :: \"normal\"\) will be suppressed
during \
this calculation."

Section 2:

A RowBox with an invalid first argument was encountered. The first
argument to RowBox must be a list.
An unknown box name (Hold) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (List) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (Hold) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (MakeBoxes) was sent as the BoxForm for the
expression. Check the format rules for the expression.
An unknown box name (Hold) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (MakeBoxes) was sent as the BoxForm for the
expression. Check the format rules for the expression.
An unknown box name (List) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (Hold) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (Short) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (HoldForm) was sent as the BoxForm for the
expression. Check the format rules for the expression.
An unknown box name (Hold) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (Short) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (HoldForm) was sent as the BoxForm for the
expression. Check the format rules for the expression.
An unknown box name (Hold) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (Short) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (HoldForm) was sent as the BoxForm for the
expression. Check the format rules for the expression.
An unknown box name (Hold) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (Short) was sent as the BoxForm for the expression.
Check the format rules for the expression.
An unknown box name (HoldForm) was sent as the BoxForm for the
expression. Check the format rules for the expression.

```