Digi Area Group - Math Tools for Professionals
   Maple and Mathematica packages - math tools for professionals

LdeApprox™  - analytical approximation methods for Maple™

> Features List & Examples
> Screenshots
> Documentation & Downloads
> License & Pricing
> Buy Online

 
 
 
 
Google

Description  |  Features List & Examples  |  Introduction  |  Analitical approximations  |  Ref. Manual PDF (2M)

LdeApprox[Normalize]  - gives normalized form of an expression over given interval

Calling Sequence:

     Normalize(expr, x = a..b)

Parameters:

     expr - any expression

     x = a..b - interval of the normalization (a, b can be symbolic or numeric)

Description:

  • Normalize  procedure gives normalized form of an expression over given interval. It means that for any f(x)  one gets
                                                    Normalize:
      proc (f) options operator, arrow; f/sqrt(Int(f^2,x = a .. b)) end proc   
  • Normalize makes effect only on such parts of expression which depend on x. The procedure is normally used to get "normalized" approximate solution of a BVP or IVP in some cases (especially in a case of homogeneous BVP).

Examples:

This loads the package.
restart:
with(LdeApprox):

This is a simple homogeneous BVP.
bvp:={diff(y(x),x,x)+lambda*y(x)=0,y(0)=0,y(Pi)=0};

bvp := {y(0) = 0, diff(y(x),`$`(x,2))+lambda*y(x) = 0, y(Pi) = 0}

Using ApproxSol procedure to find polynomial approximation of solutions of the BVP. As corresponding eigen value variable is not specified then it is determined automatically.
apr:=ApproxSol(bvp,y(x),x=0..Pi,5,exact=false);


Warning, No eigenvalue variable specified. Trying to determine ...



Warning, lambda - is the eigenvalue variable.


apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....
apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....
apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....
apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....
apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....
apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....
apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....
apr := [[lambda = .9999976748, y(x) = _C1*(-.4035965587e-3-.6924624700*x-.3414822225e-1*x^2+.1620616675*x^3-.2579291545e-1*x^4-.1966521685e-11*x^5)], [lambda = 4.000401299, y(x) = _C1*(.1382008172e-2+....

Normalizing the result to compare it with the exact solution.
apr1:=Normalize(apr,x = 0..Pi);

apr1 := [[lambda = .9999976748, y(x) = -.4588995717e-3-.7873474737*x-.3882739886e-1*x^2+.1842682456*x^3-.2932720212e-1*x^4-.2235985267e-11*x^5], [lambda = 4.000401299, y(x) = .4856832523e-2+1.444420230...
apr1 := [[lambda = .9999976748, y(x) = -.4588995717e-3-.7873474737*x-.3882739886e-1*x^2+.1842682456*x^3-.2932720212e-1*x^4-.2235985267e-11*x^5], [lambda = 4.000401299, y(x) = .4856832523e-2+1.444420230...
apr1 := [[lambda = .9999976748, y(x) = -.4588995717e-3-.7873474737*x-.3882739886e-1*x^2+.1842682456*x^3-.2932720212e-1*x^4-.2235985267e-11*x^5], [lambda = 4.000401299, y(x) = .4856832523e-2+1.444420230...
apr1 := [[lambda = .9999976748, y(x) = -.4588995717e-3-.7873474737*x-.3882739886e-1*x^2+.1842682456*x^3-.2932720212e-1*x^4-.2235985267e-11*x^5], [lambda = 4.000401299, y(x) = .4856832523e-2+1.444420230...
apr1 := [[lambda = .9999976748, y(x) = -.4588995717e-3-.7873474737*x-.3882739886e-1*x^2+.1842682456*x^3-.2932720212e-1*x^4-.2235985267e-11*x^5], [lambda = 4.000401299, y(x) = .4856832523e-2+1.444420230...
apr1 := [[lambda = .9999976748, y(x) = -.4588995717e-3-.7873474737*x-.3882739886e-1*x^2+.1842682456*x^3-.2932720212e-1*x^4-.2235985267e-11*x^5], [lambda = 4.000401299, y(x) = .4856832523e-2+1.444420230...
apr1 := [[lambda = .9999976748, y(x) = -.4588995717e-3-.7873474737*x-.3882739886e-1*x^2+.1842682456*x^3-.2932720212e-1*x^4-.2235985267e-11*x^5], [lambda = 4.000401299, y(x) = .4856832523e-2+1.444420230...

The exact solution is as fillows:
sol:=dsolve({diff(y(x),x,x)+lambda*y(x)=0,y(0)=0},y(x));

sol := y(x) = _C1*sin(lambda^(1/2)*x)

This is the normalized exact solution.
sol1:=radsimp(Normalize(sol,x = 0..Pi));

sol1 := y(x) = 2/(-(2*cos(Pi*lambda^(1/2))*sin(Pi*lambda^(1/2))-2*Pi*lambda^(1/2))/lambda^(1/2))^(1/2)*sin(lambda^(1/2)*x)

Now one can compare the results.

 For lambda = 1
plot(subs({lambda=1},subs(sol1,y(x))+subs(apr1[1],y(x))),x=0..Pi);

[Maple Plot]

delta[lambda]=1-subs(apr1[1],lambda);

delta[lambda] = .23252e-5

For lambda = 4
plot(subs({lambda=4},subs(sol1,y(x))-subs(apr1[2],y(x))),x=0..Pi);

[Maple Plot]

delta[lambda]=4-subs(apr1[2],lambda);

delta[lambda] = -.401299e-3

See Also:

LdeApprox