Asymptotics Solvers

Adam Strzebonski and Devendra Kapadia, 
Wolfram Research, Inc.

Join the Conversation #WolframTechConf

Plan for the Talk

AsymptoticSolve

AsymptoticRSolveValue

AsymptoticSum

AsymptoticSolve

Solve the equation (y^5)-x y+(x^2)==0 for y as a function of x.

Global algebraic solutions

All complex solutions:

Solve[y^5-x y+x^2==0,y]

Real solutions:

rs1=Solve[y^5-x y+x^2==0,y,Reals]

Local asymptotic solutions

All complex solutions near x=0:

AsymptoticSolve[y^5-x y+x^2==0,y,{x,0,3}]

Real solutions for positive x near zero:

rs2=AsymptoticSolve[y^5-x y+x^2==0,y,{x,0,3},Reals]

exact=y/.rs1;
asympt=y/.rs2;
Plot[Evaluate@Transpose@{asympt,exact},{x,0,1},PlotStyle->{Dashed,DotDashed}]

Non-singular Points of Systems of Analytic Equations

Analytic implicit function theorem: 
Let K be ℝ or ℂ, and let f:(K^(n+m))∋(x,y)⟶f(x,y)∈(K^m) be an analytic mapping in a neigbourhood of (a,b)∈(K^(n+m))  and suppose f(a,b)==0∈(K^m). If ((∂f)/(∂y))(a,b)∈(K^(m×m)) is invertible then there exists open neighbourhoods U of a and V of b and an analytic mapping g:U⟶(K^m) such that (f^(-1))(0)⋂(U×V)=={(x,g(x)):x∈U}.

Example with n==m==1

f=Erf[x+y]-Log[1+Sin[x y]];

{f,(∂_y)f}/. {x->0,y->0}

AsymptoticSolve[f==0,{y,0},{x,0,7}]

asympt=First[y/.%];
exact=.;exact[x_]:=y/.FindRoot[f,{y,asympt}];
Plot[{asympt,exact[x]},{x,-0.4,0.4},PlotStyle->{Dashed,DotDashed}]

Example with n==3 and m==2

{f,g}={Sin[u+x]+Cos[y+z]-v-1,Log[1+x+y-z]-u -Sin[u v z]};

{{f,g},Det[D[{f,g},{{u,v}}]]}/.{x->0,y->0,z->0,u->0,v->0}

AsymptoticSolve[f==0∧g==0,{{u,v},{0,0}},{{x,y,z},{0,0,0},3}]

Series[{f,g}/.%/.{x->t x,y->t y,z->t z},{t,0,2}]

Singular Points of Analytic Equations

Theorem (Weierstrass preparation theorem + Puiseux theorem):
Let f:(ℂ^2)∋(x,y)⟶f(x,y)∈ℂ be an analytic mapping in a neigbourhood of (a,b)∈(ℂ^2)  and suppose f(a,b)==0. If ((∂f)/(∂y))(a,b)==...==(((∂^(k-1))f)/(∂(y^(k-1))))(a,b)==0  and (((∂^k)f)/(∂(y^k)))(a,b)≠0 then there exists open neighbourhoods U of a and V of b and Puiseux series (Subscript[g, 1]),..., (Subscript[g, k]) convergent in U such that (f^(-1))(0)⋂(U×V)=={(x,(Subscript[g, i])(x)):x∈U∧1≤i≤k}.

Example

f=(E^(x+y))-(1/6) (E^(Tan[x])) (6+y (6+y (3+y)));

{f,(∂_y)f,(∂_({y,2}))f,(∂_({y,3}))f,(∂_({y,4}))f}/. {x->0,y->0}

AsymptoticSolve[f==0,{y,0},{x,0,2}]

Real solutions (for x->(SuperPlus[0])).

AsymptoticSolve[f==0,{y,0},{x,0,2},Reals]

{as1,as2}=y/.%;
ex1[x_]:=y/.FindRoot[f,{y,as1}];
ex2[x_]:=y/.FindRoot[f,{y,as2}];
Plot[{as1,ex1[x],as2,ex2[x]},{x,-0.4,0.4},PlotStyle->{Dashed,DotDashed}]

Singular Points of Algebraic Curves

Theorem (Rational Univariate Representation + Puiseux theorem):
Let f:(ℂ^n)=ℂ×(ℂ^(n-1))∋(x,y)⟶f(x,y)∈(ℂ^(n-1)) be a polynomial mapping in a neigbourhood of (a,b)∈(ℂ^n)  and suppose f(a,b)==0. If f(a,y)  has finitely many solutions then there exists open neighbourhoods U of a and V of b and (n-1)-tuples (Subscript[g, 1]),..., (Subscript[g, k]) of Puiseux series convergent in U such that (f^(-1))(0)⋂(U×V)=={(x,(Subscript[g, i])(x)):x∈U∧1≤i≤k}.

Example with n==2

f=((x^3)-3 x (y^2))+((((x^2)+(y^2)))^2);

Real solutions (for x->(SuperPlus[0])).

rs=AsymptoticSolve[f==0,{y,0},{x,0,3},Reals]

Real solutions (for x->(SuperMinus[0])).

ls=AsymptoticSolve[f==0,{y,0},{x,0,3},Reals,Direction->"FromBelow"]

lp=ParametricPlot[Evaluate[{x,y}/.ls],{x,-1,0},PlotStyle->{{Red,Dashed}}];
rp=ParametricPlot[Evaluate[{x,y}/.rs],{x,0,1},PlotStyle->{{Red,Dashed}}];
ep=ContourPlot[f==0,{x,-1,1},{y,-1,1},PlotPoints->100];
Show[{ep,lp,rp}]

Example with n==4

{f,g,h}={(y^2)-t x-y z,(x^2)-x-t y z,(z^2)-t y-x+t};

AsymptoticSolve[f==0∧g==0∧h==0,{{x,y,z},{0,0,0}},{t,0,3}]

Series[{f,g,h}/.%,{t,0,2}]

Asymptotic Solutions near a Given Value of the Independent Variable

This requires the equations to be polynomial in the dependent variables.

One equation

f=(y^3)-Cos[x] (y^2)-Sin[x] y+(E^x)-1;
AsymptoticSolve[f==0,y,{x,0,3}]

Series[f/. %,{x,0,2}]

System of three equations

{f,g,h}={(y^2)-t x-y z,(x^3)-t y z,(z^2)-t y-x+t};

AsymptoticSolve[f==0∧g==0∧h==0,{x,y,z},{t,0,3}]

Series[{f,g,h}/.%,{t,0,2}]

Asymptotic Solutions at Singular Points of Equations

Polynomial equations with exp-log coefficients

Solution of a polynomial equation with exp-log coefficients at infinity.

f=(y^3)-(E^x) (y^2)+Log[(x^2)] y-Log[Log[x]];
AsymptoticSolve[f==0,y,{x,∞,2}]

The real solution.

AsymptoticSolve[f==0,y,{x,∞,2},(Reals)]

asympt=First[y/. %];
exact[x_]:=First[y/. NSolve[f==0,y,(Reals)]]
Plot[{asympt,exact[x]},{x,1,5},PlotStyle->{Dashed,DotDashed}]

Discrete Asymptotics

Version 11. 3 - Continuous Asymptotics

AsymptoticDSolveValue - differential equations

AsymptoticIntegrate - indefinite and definite integrals

Version 12.0 - Discrete Asymptotics

AsymptoticRSolveValue - difference equations

AsymptoticSum - indefinite and definite sums

Ordinary Points for Difference Equations

Consider a sequence defined by the following recurrence:

eqn=y[n+1]==(1+(1/(n^3))) y[n];

Find a Taylor series solution for this ODE:

AsymptoticRSolveValue[eqn,y[n],{n,∞,5}]

DiscretePlot[%/. {(C[1])->2.4},{n,2,30},PlotStyle->Red]

Compare with the exact solution:

RSolveValue[eqn,y[n],n]

Regular Singular Points

Frobenius series solution for a linear ODE with a regular singular point:

AsymptoticRSolveValue[y[n+1]==(((2 n+1) y[n])/(2 n)),y[n],{n,∞,3}]

Plot the solution:

DiscretePlot[%/. {(C[1])->1},{n,1,60},PlotStyle->Red]

Irregular Singular Points

Asymptotic series solution for a linear ODE with a irregular singular point:

AsymptoticRSolveValue[y[n+1]==(n+1) y[n],y[n],{n,∞,1}]

Plot the solution:

DiscretePlot[%/. {(C[1])->1},{n,10,50},ScalingFunctions->"Log",PlotStyle->Red]

Initial Value Problems

Find an asymptotic approximation for the sequence of involutions:

seq ={1,2,4,10,26,76,232,764,2620,9496,35696,140152,568504};

FindSequenceFunction[seq][[1]][y,n]

Obtain the leading asymptotic term:

rec={y[n+1]==y[n]+n y[n-1],y[1]==1,y[2]==2.};

AsymptoticRSolveValue[rec,y[n],{n,∞,1}]

Compare the approximate and actual values:

%/.{n-> 1000}

RSolveValue[rec,y[1000],n]

Perturbation Problems

Find an asymptotic expansion for a perturbation problem:

AsymptoticRSolveValue[{y[n+1]-((21 y[n])/23)-ϵ ((y[n])^2)==0,y[1]==1},y[n],n,{ϵ,0,2}]

Plot the solution:

DiscretePlot[Evaluate[Table[%,{ϵ,{(1/3.),(1/4.),(1/5.)}}]],{n,1,100},PlotRange->All]

Indefinite Sums

Compute an asymptotic expansion for an indefinite rational sum:

AsymptoticSum[(1/((k^2)+1)),k,{k,∞,8}]

Compare with the result given by Sum:

(∑_k)(1/((k^2)+1))

Normal[Series[%,{k,∞,8}]]

Finite Sums

Compute an approximation for a finite q-rational sum:

AsymptoticSum[(1/((2^k)+1)),{k,0,n},{n,∞,1}]

This relies on using the Euler-Maclaurin formula.

Compare the numerical approximation and  exact results for increasing values of n:

Table[%,{n,{5,20,50,500}}]//N//Chop

Table[Sum[(1/((2^k)+1)),{k,0,n}],{n,{5,10,50,500}}]//N

Infinite Sums

Asymptotic expansion for an infinite harmonic sum:

AsymptoticSum[(((-1))^k) k (E^(-(k^2) x)),{k,1,∞},{x,0,3}]

This relies on a Mellin transform computation.

Compare with a numerical approximation:

%/. x->0.07

NSum[(((-1))^k) k (E^(-(k^2) 0.07)),{k,1,∞}]

Final Remarks

Version 12.0 provides new functions for Discrete Asymptotics and Algebraic Equations.

We plan to implement general Asymptotics functions in Version 12.1.