Re: Converting a 3F2 to elementary functions

• To: mathgroup at smc.vnet.net
• Subject: [mg58200] Re: Converting a 3F2 to elementary functions
• Date: Wed, 22 Jun 2005 01:55:42 -0400 (EDT)
• References: <d9632c\$q2i\$1@smc.vnet.net><d98q4r\$epb\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Hi Paul:    I  followed a variation of your recommendation, using
series matching and avoiding any built-ins:

H3F2ElementaryForm[m_,x_]:= Module[{g32m,P,Q,PQ,mp,mneg,cs,c,cgs,v,eqs,
sol,Pm,Qm,PmN,PmD,QmN,QmD,PQm},
g32m[mm_,xx_]:= xx*HypergeometricPFQ[{1,2*mm-1,1},{mm+1/2,2},xx];

P[mm_,xx_]:=Sum[p[j]*xx^(2*j-2),{j,1,2*mm-3}]/((1-xx^2)^(mm-2)*(xx^2)^(mm-2));

Q[mm_,xx_]:=Sum[q[j]*xx^(2*j-2),{j,1,2*mm-2}]/(xx*(1-xx^2)^(mm-2+1/2)*(xx^2)^(mm-2));
mp=6*m-8; mneg=2*m-4;
PQ=P[m,x]+Q[m,x]*ArcSin[x]; PQ=Simplify[PQ];
cs=Normal[Series[PQ,{x,0,mp}]]; c=CoefficientList[x^mneg*cs,x];
cgs=Normal[Series[g32m[m,x^2],{x,0,mp}]];
cg=CoefficientList[x^mneg*cgs,x];
v=Flatten[Join[{Table[p[j],{j,1,2*m-3}],Table[q[j],{j,1,2*m-2}]}]];
eqs={}; For[i=1,i<=Length[cg],i++,
If [c[[i]]==cg[[i]],Continue[]]; AppendTo[eqs,c[[i]]==cg[[i]]] ];
Print["no of eqs & vars=",{Length[eqs],Length[v]}];
sol=Solve[eqs,v]; (*Print[sol];*)
Pm=P[m,x]/.sol[[1]]; Qm=Q[m,x]/.sol[[1]];
PmN=Numerator[Pm]; QmN=Numerator[Qm]; PmD=Denominator[Pm];
QmD=Denominator[Qm];
PQm=(Factor[PmN]/PmD)+(Factor[QmN]/QmD)*ArcSin[x];
Return[PQm]];

ClearAll[p,q,m,x,y];  mmax=12;
g32tab=Table[0,{mmax}]; g32tab[[1]]=ArcSin[x]^2;
For [m=2,m<=mmax,m++,
PQm=H3F2ElementaryForm[m,x]; g32tab[[m]]=PQm;
g32tab[[m]]=PQm
];
Print[g32tab];

This is reasonably fast. On a mac G4 laptop I timed it at

0.15, 0.72, 0.68, 02.28, 1.65, 5.27, 3.48, 12.16, 25.02, 12.0 sec
for m=2,3,...12

I projected the original method at  10^34 years for m=12.  Cant
wait that long, paper is due next month.

Many thanks.

```

• Prev by Date: Re: Real time analysis of data.
• Next by Date: Re: plot
• Previous by thread: Re: Converting a 3F2 to elementary functions
• Next by thread: Weird Graphics Behaviour-Mathematica 4.2