MathGroup Archive 2005

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

Search the Archive

Re: Converting a 3F2 to elementary functions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg58200] Re: Converting a 3F2 to elementary functions
  • From: carlos at colorado.edu
  • 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