tomleslie

13428 Reputation

19 Badges

13 years, 44 days

MaplePrimes Activity


These are replies submitted by tomleslie

@MANUTTM 

op(4, s2)[][];

 

'g2' does not contain the name 'q', and so is entirely independent of it.

The expression TC contains the variable names

{Cd, D, O1, O2, P, beta, h1, h2, i, q, r, t1, t2, theta1, theta2}.

However when you differentiate this expression with respect to t2, the result contains only the variables

{Cd, D, O2, beta, h2, i, t2, theta2},

so

{O1, h1, q, t1, theta1}

have been eliminated

is a numerical solver. Thus every quantity in your equation(s), other than the variable(s) you want fsolve() to compute has to have a numeric value.

I notice that you sayyou are trying to  "solve a system of differential equations" for which I would have expected you to be using dsolve(), with, or without the numeric option.

This would be so much easier to diagnose/fix if you uploaded your worksheet using the big green up-arrow in the Mapleprimes toolbar

just use the built-in help which comes with your Maple release?

As in

Help->What's new

from the menus in the standard GUI

Maple 2017 produces "correct" answer. All subsequent Maple releases produce weird answer.

Using lists rather than expressions sequences appears to make the problem go away in later releases (Maple 2018 - Maple2023)

This is a bug, and it is a bad one.

If one uses sequences of names rather than integers, then one can see the difference in the calculations being performed depending on whether the Units() package is loaded or not. The second calculation in the attached makes sense: the first one makes no sense at all.

restart;

interface(version);
with(Units):

`Standard Worksheet Interface, Maple 2023.0, Windows 7, March 6 2023 Build ID 1689885`

 

Automatically loading the Units[Simple] subpackage
 

 

A:=a__1, a__2, a__3;
B:=b__1, b__2, b__3;
B-A

a__1, a__2, a__3

 

b__1, b__2, b__3

 

b__1+b__2+b__3+a__1-a__2-a__3

(1)

restart;

A:=a__1, a__2, a__3;
B:=b__1, b__2, b__3;
B-A

a__1, a__2, a__3

 

b__1, b__2, b__3

 

b__1-a__1, b__2-a__2, b__3-a__3

(2)

 

Download badBug.mw

@delvin 

  1. Pretty unlikely that you will be able to solve analytically
  2. Given some additional information, you may be able to solve numerically

 

@MANUTTM 

the error message which you are receiving?

Error, (in Optimization:-NLPSolve) could not store 3233180.16916754-HFloat(infinity)*I in a floating-point rtable

I warned you before that generating complex numbers in an optization problem was a  very bad idea - so what do think is going to happen when you generate a complex number with an INFINITE imaginary part?

is a particularly unfortunate example because, by default, Maple will interpret this as the differential operator, rather than the simple literal 'D'. In consequence it will appear upright rather than in italic, unless you force italic, as in the attached

  restart:
  with(Units):
  plot( x,
        x=0..1,
        labels=[ typeset(D*Unit(kg/m^3)),
                 typeset(A*Unit(m) )
               ],
        labelfont=[times, bolditalic, 14]
      );

Automatically loading the Units[Simple] subpackage
 

 

 

 

Download labs2.mw

Again the appearance of the figure on this site is misleading - the way it appears in a worksheet is shown below

 

appears in a Maple worksheet

 

@lemelinm 

muh of a difference - see the attached

  restart;
  int(sin(m*Pi*y/a), y = 0 .. a);

-a*(cos(m*Pi)-1)/(Pi*m)

(1)

 

Download simpleInt2.mw

@KIRAN SAJJAN 

a code writing service. You are expected to do most of the work!

See the attached two files which produce very similar results using Maple's buil-in numeric solvers, and the HPM method

restart

kp := .3Pr := 7.2; N := .5; g := .5; A := 1; B := 0; lambda := .5; Ec := .5``

rf := 997.1; kf := .613; cpf := 4179; `σf` := 0.5e-1

p1 := 0.1e-1; sigma1 := 2380000; rs1 := 4250; ks1 := 8.9538; cps1 := 686.2

p2 := 0.5e-1; sigma2 := 3500000; rs2 := 10500; ks2 := 429; cps2 := 235

a1 := (1-p1)^2.5*(1-p2)^2.5

a2 := (1-p2)*(1-p1+p1*rs1/rf)+p2*rs2/rf

a3 := 1+3*((p1*sigma1+p2*sigma2)/`σf`-p1-p2)/(2+(p1*sigma1+p2*sigma2)/((p1+p2)*`σf`)-((p1*sigma1+p2*sigma2)/`σf`-p1-p2))

a4 := (1-p2)*(1-p1+p1*rs1*cps1/(rf*cpf))+p2*rs2*cps2/(rf*cpf)

a5 := (ks1+2*kf-2*p1*(kf-ks1))*(ks2+2*kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-2*p2*(kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-ks2))/((ks1+2*kf+p1*(kf-ks1))*(ks2+2*kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))+2*p2*(kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-ks2)))

  OdeSys:= diff(U(Y), Y, Y)/(a1*a2) + Theta(Y) + N*Theta(Y)*Theta(Y) - a3*M*M*U(Y)/a2 - kp*kp*U(Y)/(a1*a2),
           a5*diff(Theta(Y), Y, Y)/a4 + Pr*Ec*(diff(U(Y), Y)^2 + U(Y)^2*kp*kp)/(a1*a2);

  MVals:= [0.5, 1.0, 1.5];
  Cond := U(0) = lambda*D(U)(0), Theta(0) = A + g*D(Theta)(0),
          U(1) = 0, Theta(1) = B;

  for j to numelems(MVals) do
      Ans[j]:= dsolve( eval([OdeSys, Cond], M = MVals[j]),
                       numeric,
                       output = listprocedure
                    );
      Theta_b[j]:= evalf( Int(eval(U(Y), Ans[j])(Y)*eval(Theta(Y), Ans[j])(Y), Y = 0 .. 1)
                          /
                          Int(eval(U(Y), Ans[j])(Y), Y = 0 .. 1)
                        );
  end do;

.7732859212*(diff(diff(U(Y), Y), Y))+Theta(Y)+.5*Theta(Y)^2-.7903642147*M^2*U(Y)-0.6959573287e-1*U(Y), 1.281183414*(diff(diff(Theta(Y), Y), Y))+2.783829316*(diff(U(Y), Y))^2+.2505446384*U(Y)^2

 

[.5, 1.0, 1.5]

 

U(0) = .5*(D(U))(0), Theta(0) = 1+.5*(D(Theta))(0), U(1) = 0, Theta(1) = 0

 

[Y = proc (Y) local _res, _dat, _solnproc; option `Copyright (c) 1993 by the University of Waterloo. All rights reserved.`; _dat := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6754928478189068, (1, 2) = -.6490143043621864, (1, 3) = .11617960467182167, (1, 4) = .23235920934364335, (2, 1) = .5856468711278369, (2, 2) = -.6575445994338879, (2, 3) = .1380765848231368, (2, 4) = 0.9112346669442407e-1, (3, 1) = .4938101794585958, (3, 2) = -.6587192068361022, (3, 3) = .14233654860351394, (3, 4) = -0.2576432215022402e-1, (4, 1) = .39976370118806537, (4, 2) = -.6612148982415217, (4, 3) = .13166645537919322, (4, 4) = -.11981674137146853, (5, 1) = .30329787353975285, (5, 2) = -.6695929134344808, (5, 3) = .1088060690135153, (5, 4) = -.19139847262354168, (6, 1) = .20409203966720668, (6, 2) = -.6850508148009188, (6, 3) = 0.7684697589454281e-1, (6, 4) = -.24098102959381212, (7, 1) = .10173581429900458, (7, 2) = -.7062927443227346, (7, 3) = 0.3902076016367802e-1, (7, 4) = -.26949330643892244, (8, 1) = .0, (8, 2) = -.7296535285047998, (8, 3) = .0, (8, 4) = -.27822498083686054}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6490143043621864, (1, 2) = -.11995390565347618, (1, 3) = .23235920934364335, (1, 4) = -1.1284267078745238, (2, 1) = -.6575445994338879, (2, 2) = -0.2177062033666666e-1, (2, 3) = 0.9112346669442407e-1, (2, 4) = -.9314093806821974, (3, 1) = -.6587192068361022, (3, 2) = -0.5404272426440714e-2, (3, 3) = -0.2576432215022402e-1, (3, 4) = -.7470768124078379, (4, 1) = -.6612148982415217, (4, 2) = -0.3458384828348948e-1, (4, 3) = -.11981674137146853, (4, 4) = -.5748063688736372, (5, 1) = -.6695929134344808, (5, 2) = -0.8191426850172873e-1, (5, 3) = -.19139847262354168, (5, 4) = -.41410443519700585, (6, 1) = -.6850508148009188, (6, 2) = -.12733673874252185, (6, 3) = -.24098102959381212, (6, 4) = -.26430886408562326, (7, 1) = -.7062927443227346, (7, 2) = -.15810512196494456, (7, 3) = -.26949330643892244, (7, 4) = -.12477282734696077, (8, 1) = -.7296535285047998, (8, 2) = -.16819905003207278, (8, 3) = -.27822498083686054, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.6071496116013616e-9, (1, 2) = 0.12142993671440174e-8, (1, 3) = 0.11418414322308784e-9, (1, 4) = 0.22836828644617568e-9, (2, 1) = 0.14614538102865486e-8, (2, 2) = -0.5208253092352768e-9, (2, 3) = 0.14727076012819112e-8, (2, 4) = -0.14465726711810131e-8, (3, 1) = 0.12413134727396864e-8, (3, 2) = -0.6808044302381265e-9, (3, 3) = 0.20339775322036158e-8, (3, 4) = -0.28808406483657152e-8, (4, 1) = 0.837015335628922e-9, (4, 2) = -0.7443830907037982e-9, (4, 3) = 0.2003138615286278e-8, (4, 4) = -0.3614205970093338e-8, (5, 1) = 0.5509753282367253e-9, (5, 2) = -0.12409332121182805e-8, (5, 3) = 0.1612101816392045e-8, (5, 4) = -0.37301991329768736e-8, (6, 1) = 0.3897973368411476e-9, (6, 2) = -0.20980251327014127e-8, (6, 3) = 0.1068251434485963e-8, (6, 4) = -0.3518726236357473e-8, (7, 1) = 0.25079679166828285e-9, (7, 2) = -0.30496927733183063e-8, (7, 3) = 0.5023779371115192e-9, (7, 4) = -0.3232554653414978e-8, (8, 1) = .0, (8, 2) = -0.3827797813293276e-8, (8, 3) = .0, (8, 4) = -0.30315125466214478e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097605492, (2) = 36893488148097597788, (3) = 36893488148097597964, (4) = 36893488148097598140, (5) = 36893488148097598316}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); _solnproc := _dat[1]; if member(Y, ["last", 'last']) then _res := _solnproc("last"); if type(_res, 'list') then return _res[1] end if elif type(Y, `=`) and member(lhs(Y), ["initial", 'initial']) then if type(rhs(Y), 'list') then _res := _solnproc("initial" = [0, op(rhs(Y))]) else _res := _solnproc("initial" = [1, rhs(Y)]) end if; if type(_res, 'list') then return _res[1] end if elif Y = "sysvars" then return _dat[3] end if; Y end proc, Theta(Y) = proc (Y) local res, data, solnproc, `Theta(Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6754928478189068, (1, 2) = -.6490143043621864, (1, 3) = .11617960467182167, (1, 4) = .23235920934364335, (2, 1) = .5856468711278369, (2, 2) = -.6575445994338879, (2, 3) = .1380765848231368, (2, 4) = 0.9112346669442407e-1, (3, 1) = .4938101794585958, (3, 2) = -.6587192068361022, (3, 3) = .14233654860351394, (3, 4) = -0.2576432215022402e-1, (4, 1) = .39976370118806537, (4, 2) = -.6612148982415217, (4, 3) = .13166645537919322, (4, 4) = -.11981674137146853, (5, 1) = .30329787353975285, (5, 2) = -.6695929134344808, (5, 3) = .1088060690135153, (5, 4) = -.19139847262354168, (6, 1) = .20409203966720668, (6, 2) = -.6850508148009188, (6, 3) = 0.7684697589454281e-1, (6, 4) = -.24098102959381212, (7, 1) = .10173581429900458, (7, 2) = -.7062927443227346, (7, 3) = 0.3902076016367802e-1, (7, 4) = -.26949330643892244, (8, 1) = .0, (8, 2) = -.7296535285047998, (8, 3) = .0, (8, 4) = -.27822498083686054}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6490143043621864, (1, 2) = -.11995390565347618, (1, 3) = .23235920934364335, (1, 4) = -1.1284267078745238, (2, 1) = -.6575445994338879, (2, 2) = -0.2177062033666666e-1, (2, 3) = 0.9112346669442407e-1, (2, 4) = -.9314093806821974, (3, 1) = -.6587192068361022, (3, 2) = -0.5404272426440714e-2, (3, 3) = -0.2576432215022402e-1, (3, 4) = -.7470768124078379, (4, 1) = -.6612148982415217, (4, 2) = -0.3458384828348948e-1, (4, 3) = -.11981674137146853, (4, 4) = -.5748063688736372, (5, 1) = -.6695929134344808, (5, 2) = -0.8191426850172873e-1, (5, 3) = -.19139847262354168, (5, 4) = -.41410443519700585, (6, 1) = -.6850508148009188, (6, 2) = -.12733673874252185, (6, 3) = -.24098102959381212, (6, 4) = -.26430886408562326, (7, 1) = -.7062927443227346, (7, 2) = -.15810512196494456, (7, 3) = -.26949330643892244, (7, 4) = -.12477282734696077, (8, 1) = -.7296535285047998, (8, 2) = -.16819905003207278, (8, 3) = -.27822498083686054, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.6071496116013616e-9, (1, 2) = 0.12142993671440174e-8, (1, 3) = 0.11418414322308784e-9, (1, 4) = 0.22836828644617568e-9, (2, 1) = 0.14614538102865486e-8, (2, 2) = -0.5208253092352768e-9, (2, 3) = 0.14727076012819112e-8, (2, 4) = -0.14465726711810131e-8, (3, 1) = 0.12413134727396864e-8, (3, 2) = -0.6808044302381265e-9, (3, 3) = 0.20339775322036158e-8, (3, 4) = -0.28808406483657152e-8, (4, 1) = 0.837015335628922e-9, (4, 2) = -0.7443830907037982e-9, (4, 3) = 0.2003138615286278e-8, (4, 4) = -0.3614205970093338e-8, (5, 1) = 0.5509753282367253e-9, (5, 2) = -0.12409332121182805e-8, (5, 3) = 0.1612101816392045e-8, (5, 4) = -0.37301991329768736e-8, (6, 1) = 0.3897973368411476e-9, (6, 2) = -0.20980251327014127e-8, (6, 3) = 0.1068251434485963e-8, (6, 4) = -0.3518726236357473e-8, (7, 1) = 0.25079679166828285e-9, (7, 2) = -0.30496927733183063e-8, (7, 3) = 0.5023779371115192e-9, (7, 4) = -0.3232554653414978e-8, (8, 1) = .0, (8, 2) = -0.3827797813293276e-8, (8, 3) = .0, (8, 4) = -0.30315125466214478e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097605492, (2) = 36893488148097597788, (3) = 36893488148097597964, (4) = 36893488148097598140, (5) = 36893488148097598316}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `Theta(Y)` := pointto(data[2][2]); return ('`Theta(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[2] catch: error  end try end proc, diff(Theta(Y), Y) = proc (Y) local res, data, solnproc, `diff(Theta(Y),Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6754928478189068, (1, 2) = -.6490143043621864, (1, 3) = .11617960467182167, (1, 4) = .23235920934364335, (2, 1) = .5856468711278369, (2, 2) = -.6575445994338879, (2, 3) = .1380765848231368, (2, 4) = 0.9112346669442407e-1, (3, 1) = .4938101794585958, (3, 2) = -.6587192068361022, (3, 3) = .14233654860351394, (3, 4) = -0.2576432215022402e-1, (4, 1) = .39976370118806537, (4, 2) = -.6612148982415217, (4, 3) = .13166645537919322, (4, 4) = -.11981674137146853, (5, 1) = .30329787353975285, (5, 2) = -.6695929134344808, (5, 3) = .1088060690135153, (5, 4) = -.19139847262354168, (6, 1) = .20409203966720668, (6, 2) = -.6850508148009188, (6, 3) = 0.7684697589454281e-1, (6, 4) = -.24098102959381212, (7, 1) = .10173581429900458, (7, 2) = -.7062927443227346, (7, 3) = 0.3902076016367802e-1, (7, 4) = -.26949330643892244, (8, 1) = .0, (8, 2) = -.7296535285047998, (8, 3) = .0, (8, 4) = -.27822498083686054}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6490143043621864, (1, 2) = -.11995390565347618, (1, 3) = .23235920934364335, (1, 4) = -1.1284267078745238, (2, 1) = -.6575445994338879, (2, 2) = -0.2177062033666666e-1, (2, 3) = 0.9112346669442407e-1, (2, 4) = -.9314093806821974, (3, 1) = -.6587192068361022, (3, 2) = -0.5404272426440714e-2, (3, 3) = -0.2576432215022402e-1, (3, 4) = -.7470768124078379, (4, 1) = -.6612148982415217, (4, 2) = -0.3458384828348948e-1, (4, 3) = -.11981674137146853, (4, 4) = -.5748063688736372, (5, 1) = -.6695929134344808, (5, 2) = -0.8191426850172873e-1, (5, 3) = -.19139847262354168, (5, 4) = -.41410443519700585, (6, 1) = -.6850508148009188, (6, 2) = -.12733673874252185, (6, 3) = -.24098102959381212, (6, 4) = -.26430886408562326, (7, 1) = -.7062927443227346, (7, 2) = -.15810512196494456, (7, 3) = -.26949330643892244, (7, 4) = -.12477282734696077, (8, 1) = -.7296535285047998, (8, 2) = -.16819905003207278, (8, 3) = -.27822498083686054, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.6071496116013616e-9, (1, 2) = 0.12142993671440174e-8, (1, 3) = 0.11418414322308784e-9, (1, 4) = 0.22836828644617568e-9, (2, 1) = 0.14614538102865486e-8, (2, 2) = -0.5208253092352768e-9, (2, 3) = 0.14727076012819112e-8, (2, 4) = -0.14465726711810131e-8, (3, 1) = 0.12413134727396864e-8, (3, 2) = -0.6808044302381265e-9, (3, 3) = 0.20339775322036158e-8, (3, 4) = -0.28808406483657152e-8, (4, 1) = 0.837015335628922e-9, (4, 2) = -0.7443830907037982e-9, (4, 3) = 0.2003138615286278e-8, (4, 4) = -0.3614205970093338e-8, (5, 1) = 0.5509753282367253e-9, (5, 2) = -0.12409332121182805e-8, (5, 3) = 0.1612101816392045e-8, (5, 4) = -0.37301991329768736e-8, (6, 1) = 0.3897973368411476e-9, (6, 2) = -0.20980251327014127e-8, (6, 3) = 0.1068251434485963e-8, (6, 4) = -0.3518726236357473e-8, (7, 1) = 0.25079679166828285e-9, (7, 2) = -0.30496927733183063e-8, (7, 3) = 0.5023779371115192e-9, (7, 4) = -0.3232554653414978e-8, (8, 1) = .0, (8, 2) = -0.3827797813293276e-8, (8, 3) = .0, (8, 4) = -0.30315125466214478e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097605492, (2) = 36893488148097597788, (3) = 36893488148097597964, (4) = 36893488148097598140, (5) = 36893488148097598316}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `diff(Theta(Y),Y)` := pointto(data[2][3]); return ('`diff(Theta(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[3] catch: error  end try end proc, U(Y) = proc (Y) local res, data, solnproc, `U(Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6754928478189068, (1, 2) = -.6490143043621864, (1, 3) = .11617960467182167, (1, 4) = .23235920934364335, (2, 1) = .5856468711278369, (2, 2) = -.6575445994338879, (2, 3) = .1380765848231368, (2, 4) = 0.9112346669442407e-1, (3, 1) = .4938101794585958, (3, 2) = -.6587192068361022, (3, 3) = .14233654860351394, (3, 4) = -0.2576432215022402e-1, (4, 1) = .39976370118806537, (4, 2) = -.6612148982415217, (4, 3) = .13166645537919322, (4, 4) = -.11981674137146853, (5, 1) = .30329787353975285, (5, 2) = -.6695929134344808, (5, 3) = .1088060690135153, (5, 4) = -.19139847262354168, (6, 1) = .20409203966720668, (6, 2) = -.6850508148009188, (6, 3) = 0.7684697589454281e-1, (6, 4) = -.24098102959381212, (7, 1) = .10173581429900458, (7, 2) = -.7062927443227346, (7, 3) = 0.3902076016367802e-1, (7, 4) = -.26949330643892244, (8, 1) = .0, (8, 2) = -.7296535285047998, (8, 3) = .0, (8, 4) = -.27822498083686054}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6490143043621864, (1, 2) = -.11995390565347618, (1, 3) = .23235920934364335, (1, 4) = -1.1284267078745238, (2, 1) = -.6575445994338879, (2, 2) = -0.2177062033666666e-1, (2, 3) = 0.9112346669442407e-1, (2, 4) = -.9314093806821974, (3, 1) = -.6587192068361022, (3, 2) = -0.5404272426440714e-2, (3, 3) = -0.2576432215022402e-1, (3, 4) = -.7470768124078379, (4, 1) = -.6612148982415217, (4, 2) = -0.3458384828348948e-1, (4, 3) = -.11981674137146853, (4, 4) = -.5748063688736372, (5, 1) = -.6695929134344808, (5, 2) = -0.8191426850172873e-1, (5, 3) = -.19139847262354168, (5, 4) = -.41410443519700585, (6, 1) = -.6850508148009188, (6, 2) = -.12733673874252185, (6, 3) = -.24098102959381212, (6, 4) = -.26430886408562326, (7, 1) = -.7062927443227346, (7, 2) = -.15810512196494456, (7, 3) = -.26949330643892244, (7, 4) = -.12477282734696077, (8, 1) = -.7296535285047998, (8, 2) = -.16819905003207278, (8, 3) = -.27822498083686054, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.6071496116013616e-9, (1, 2) = 0.12142993671440174e-8, (1, 3) = 0.11418414322308784e-9, (1, 4) = 0.22836828644617568e-9, (2, 1) = 0.14614538102865486e-8, (2, 2) = -0.5208253092352768e-9, (2, 3) = 0.14727076012819112e-8, (2, 4) = -0.14465726711810131e-8, (3, 1) = 0.12413134727396864e-8, (3, 2) = -0.6808044302381265e-9, (3, 3) = 0.20339775322036158e-8, (3, 4) = -0.28808406483657152e-8, (4, 1) = 0.837015335628922e-9, (4, 2) = -0.7443830907037982e-9, (4, 3) = 0.2003138615286278e-8, (4, 4) = -0.3614205970093338e-8, (5, 1) = 0.5509753282367253e-9, (5, 2) = -0.12409332121182805e-8, (5, 3) = 0.1612101816392045e-8, (5, 4) = -0.37301991329768736e-8, (6, 1) = 0.3897973368411476e-9, (6, 2) = -0.20980251327014127e-8, (6, 3) = 0.1068251434485963e-8, (6, 4) = -0.3518726236357473e-8, (7, 1) = 0.25079679166828285e-9, (7, 2) = -0.30496927733183063e-8, (7, 3) = 0.5023779371115192e-9, (7, 4) = -0.3232554653414978e-8, (8, 1) = .0, (8, 2) = -0.3827797813293276e-8, (8, 3) = .0, (8, 4) = -0.30315125466214478e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097605492, (2) = 36893488148097597788, (3) = 36893488148097597964, (4) = 36893488148097598140, (5) = 36893488148097598316}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `U(Y)` := pointto(data[2][4]); return ('`U(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[4] catch: error  end try end proc, diff(U(Y), Y) = proc (Y) local res, data, solnproc, `diff(U(Y),Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6754928478189068, (1, 2) = -.6490143043621864, (1, 3) = .11617960467182167, (1, 4) = .23235920934364335, (2, 1) = .5856468711278369, (2, 2) = -.6575445994338879, (2, 3) = .1380765848231368, (2, 4) = 0.9112346669442407e-1, (3, 1) = .4938101794585958, (3, 2) = -.6587192068361022, (3, 3) = .14233654860351394, (3, 4) = -0.2576432215022402e-1, (4, 1) = .39976370118806537, (4, 2) = -.6612148982415217, (4, 3) = .13166645537919322, (4, 4) = -.11981674137146853, (5, 1) = .30329787353975285, (5, 2) = -.6695929134344808, (5, 3) = .1088060690135153, (5, 4) = -.19139847262354168, (6, 1) = .20409203966720668, (6, 2) = -.6850508148009188, (6, 3) = 0.7684697589454281e-1, (6, 4) = -.24098102959381212, (7, 1) = .10173581429900458, (7, 2) = -.7062927443227346, (7, 3) = 0.3902076016367802e-1, (7, 4) = -.26949330643892244, (8, 1) = .0, (8, 2) = -.7296535285047998, (8, 3) = .0, (8, 4) = -.27822498083686054}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6490143043621864, (1, 2) = -.11995390565347618, (1, 3) = .23235920934364335, (1, 4) = -1.1284267078745238, (2, 1) = -.6575445994338879, (2, 2) = -0.2177062033666666e-1, (2, 3) = 0.9112346669442407e-1, (2, 4) = -.9314093806821974, (3, 1) = -.6587192068361022, (3, 2) = -0.5404272426440714e-2, (3, 3) = -0.2576432215022402e-1, (3, 4) = -.7470768124078379, (4, 1) = -.6612148982415217, (4, 2) = -0.3458384828348948e-1, (4, 3) = -.11981674137146853, (4, 4) = -.5748063688736372, (5, 1) = -.6695929134344808, (5, 2) = -0.8191426850172873e-1, (5, 3) = -.19139847262354168, (5, 4) = -.41410443519700585, (6, 1) = -.6850508148009188, (6, 2) = -.12733673874252185, (6, 3) = -.24098102959381212, (6, 4) = -.26430886408562326, (7, 1) = -.7062927443227346, (7, 2) = -.15810512196494456, (7, 3) = -.26949330643892244, (7, 4) = -.12477282734696077, (8, 1) = -.7296535285047998, (8, 2) = -.16819905003207278, (8, 3) = -.27822498083686054, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13729666872988333, (3) = .27679942406347596, (4) = .41937734450496433, (5) = .5644763607595215, (6) = .7110647705832318, (7) = .8582778186836101, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.6071496116013616e-9, (1, 2) = 0.12142993671440174e-8, (1, 3) = 0.11418414322308784e-9, (1, 4) = 0.22836828644617568e-9, (2, 1) = 0.14614538102865486e-8, (2, 2) = -0.5208253092352768e-9, (2, 3) = 0.14727076012819112e-8, (2, 4) = -0.14465726711810131e-8, (3, 1) = 0.12413134727396864e-8, (3, 2) = -0.6808044302381265e-9, (3, 3) = 0.20339775322036158e-8, (3, 4) = -0.28808406483657152e-8, (4, 1) = 0.837015335628922e-9, (4, 2) = -0.7443830907037982e-9, (4, 3) = 0.2003138615286278e-8, (4, 4) = -0.3614205970093338e-8, (5, 1) = 0.5509753282367253e-9, (5, 2) = -0.12409332121182805e-8, (5, 3) = 0.1612101816392045e-8, (5, 4) = -0.37301991329768736e-8, (6, 1) = 0.3897973368411476e-9, (6, 2) = -0.20980251327014127e-8, (6, 3) = 0.1068251434485963e-8, (6, 4) = -0.3518726236357473e-8, (7, 1) = 0.25079679166828285e-9, (7, 2) = -0.30496927733183063e-8, (7, 3) = 0.5023779371115192e-9, (7, 4) = -0.3232554653414978e-8, (8, 1) = .0, (8, 2) = -0.3827797813293276e-8, (8, 3) = .0, (8, 4) = -0.30315125466214478e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.827797813293276e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097605492, (2) = 36893488148097597788, (3) = 36893488148097597964, (4) = 36893488148097598140, (5) = 36893488148097598316}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `diff(U(Y),Y)` := pointto(data[2][5]); return ('`diff(U(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[5] catch: error  end try end proc]

 

HFloat(0.4197037976131347)

 

[Y = proc (Y) local _res, _dat, _solnproc; option `Copyright (c) 1993 by the University of Waterloo. All rights reserved.`; _dat := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6734200090650088, (1, 2) = -.6531599818699824, (1, 3) = .10258728550287753, (1, 4) = .20517457100575506, (2, 1) = .5827585353472419, (2, 2) = -.6596210962850125, (2, 3) = .12159445356118449, (2, 4) = 0.7529680140960433e-1, (3, 1) = .4903444637218817, (3, 2) = -.6604538733392283, (3, 3) = .12455696869449118, (3, 4) = -0.28612030714104224e-1, (4, 1) = .39594765057586023, (4, 2) = -.6625927537771802, (4, 3) = .11441859945722065, (4, 4) = -.10950196317478475, (5, 1) = .2995127652643646, (5, 2) = -.6692672419819512, (5, 3) = 0.9397324046932426e-1, (5, 4) = -.16917819424526712, (6, 1) = .20093475133474423, (6, 2) = -.6810591646545823, (6, 3) = 0.6609196265823672e-1, (6, 4) = -.20939398943493465, (7, 1) = .10000271491299853, (7, 2) = -.6968549375714486, (7, 3) = 0.3354280492326387e-1, (7, 4) = -.23201490202733843, (8, 1) = .0, (8, 2) = -.7141113923104759, (8, 3) = .0, (8, 4) = -.23886970930593576}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6531599818699824, (1, 2) = -0.9352800722255225e-1, (1, 3) = .20517457100575506, (1, 4) = -1.0499949429366222, (2, 1) = -.6596210962850125, (2, 2) = -0.15210606824740637e-1, (2, 3) = 0.7529680140960433e-1, (2, 4) = -.8379771478171677, (3, 1) = -.6604538733392283, (3, 2) = -0.4812766420163882e-2, (3, 3) = -0.28612030714104224e-1, (3, 4) = -.6510519488318632, (4, 1) = -.6625927537771802, (4, 2) = -0.2861420160837691e-1, (4, 3) = -.10950196317478475, (4, 4) = -.48615848093683806, (5, 1) = -.6692672419819512, (5, 2) = -0.6391688952597137e-1, (5, 3) = -.16917819424526712, (5, 4) = -.34082282292651644, (6, 1) = -.6810591646545823, (6, 2) = -0.9612500224437338e-1, (6, 3) = -.20939398943493465, (6, 4) = -.21245142738719724, (7, 1) = -.6968549375714486, (7, 2) = -.11718694584006906, (7, 3) = -.23201490202733843, (7, 4) = -0.9848558670980857e-1, (8, 1) = -.7141113923104759, (8, 2) = -.1239805213751408, (8, 3) = -.23886970930593576, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.9458922097728308e-10, (1, 2) = 0.1891779371026761e-9, (1, 3) = 0.1276270620097011e-9, (1, 4) = 0.2552541240194022e-9, (2, 1) = 0.4228792993369094e-9, (2, 2) = -0.10138131570600575e-8, (2, 3) = 0.14754687716983622e-8, (2, 4) = -0.18527109964760425e-8, (3, 1) = 0.1871687315261683e-9, (3, 2) = -0.9301897286206404e-9, (3, 3) = 0.18335615074604305e-8, (3, 4) = -0.28702701100456783e-8, (4, 1) = 0.25868384347771204e-10, (4, 2) = -0.9590982969209848e-9, (4, 3) = 0.16329184566764151e-8, (4, 4) = -0.30060158752298014e-8, (5, 1) = 0.2740105395881539e-10, (5, 2) = -0.13577540600369132e-8, (5, 3) = 0.11885568810322129e-8, (5, 4) = -0.2662609105765617e-8, (6, 1) = 0.9001243956054416e-10, (6, 2) = -0.1921241075153031e-8, (6, 3) = 0.7104783646422491e-9, (6, 4) = -0.22008206079852576e-8, (7, 1) = 0.10877656053453564e-9, (7, 2) = -0.24052255241673246e-8, (7, 3) = 0.2987089779648195e-9, (7, 4) = -0.18138389059233987e-8, (8, 1) = .0, (8, 2) = -0.2639199241585047e-8, (8, 3) = .0, (8, 4) = -0.15919376437595613e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148122686052, (2) = 36893488148122686756, (3) = 36893488148122686932, (4) = 36893488148122687108, (5) = 36893488148122687284}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); _solnproc := _dat[1]; if member(Y, ["last", 'last']) then _res := _solnproc("last"); if type(_res, 'list') then return _res[1] end if elif type(Y, `=`) and member(lhs(Y), ["initial", 'initial']) then if type(rhs(Y), 'list') then _res := _solnproc("initial" = [0, op(rhs(Y))]) else _res := _solnproc("initial" = [1, rhs(Y)]) end if; if type(_res, 'list') then return _res[1] end if elif Y = "sysvars" then return _dat[3] end if; Y end proc, Theta(Y) = proc (Y) local res, data, solnproc, `Theta(Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6734200090650088, (1, 2) = -.6531599818699824, (1, 3) = .10258728550287753, (1, 4) = .20517457100575506, (2, 1) = .5827585353472419, (2, 2) = -.6596210962850125, (2, 3) = .12159445356118449, (2, 4) = 0.7529680140960433e-1, (3, 1) = .4903444637218817, (3, 2) = -.6604538733392283, (3, 3) = .12455696869449118, (3, 4) = -0.28612030714104224e-1, (4, 1) = .39594765057586023, (4, 2) = -.6625927537771802, (4, 3) = .11441859945722065, (4, 4) = -.10950196317478475, (5, 1) = .2995127652643646, (5, 2) = -.6692672419819512, (5, 3) = 0.9397324046932426e-1, (5, 4) = -.16917819424526712, (6, 1) = .20093475133474423, (6, 2) = -.6810591646545823, (6, 3) = 0.6609196265823672e-1, (6, 4) = -.20939398943493465, (7, 1) = .10000271491299853, (7, 2) = -.6968549375714486, (7, 3) = 0.3354280492326387e-1, (7, 4) = -.23201490202733843, (8, 1) = .0, (8, 2) = -.7141113923104759, (8, 3) = .0, (8, 4) = -.23886970930593576}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6531599818699824, (1, 2) = -0.9352800722255225e-1, (1, 3) = .20517457100575506, (1, 4) = -1.0499949429366222, (2, 1) = -.6596210962850125, (2, 2) = -0.15210606824740637e-1, (2, 3) = 0.7529680140960433e-1, (2, 4) = -.8379771478171677, (3, 1) = -.6604538733392283, (3, 2) = -0.4812766420163882e-2, (3, 3) = -0.28612030714104224e-1, (3, 4) = -.6510519488318632, (4, 1) = -.6625927537771802, (4, 2) = -0.2861420160837691e-1, (4, 3) = -.10950196317478475, (4, 4) = -.48615848093683806, (5, 1) = -.6692672419819512, (5, 2) = -0.6391688952597137e-1, (5, 3) = -.16917819424526712, (5, 4) = -.34082282292651644, (6, 1) = -.6810591646545823, (6, 2) = -0.9612500224437338e-1, (6, 3) = -.20939398943493465, (6, 4) = -.21245142738719724, (7, 1) = -.6968549375714486, (7, 2) = -.11718694584006906, (7, 3) = -.23201490202733843, (7, 4) = -0.9848558670980857e-1, (8, 1) = -.7141113923104759, (8, 2) = -.1239805213751408, (8, 3) = -.23886970930593576, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.9458922097728308e-10, (1, 2) = 0.1891779371026761e-9, (1, 3) = 0.1276270620097011e-9, (1, 4) = 0.2552541240194022e-9, (2, 1) = 0.4228792993369094e-9, (2, 2) = -0.10138131570600575e-8, (2, 3) = 0.14754687716983622e-8, (2, 4) = -0.18527109964760425e-8, (3, 1) = 0.1871687315261683e-9, (3, 2) = -0.9301897286206404e-9, (3, 3) = 0.18335615074604305e-8, (3, 4) = -0.28702701100456783e-8, (4, 1) = 0.25868384347771204e-10, (4, 2) = -0.9590982969209848e-9, (4, 3) = 0.16329184566764151e-8, (4, 4) = -0.30060158752298014e-8, (5, 1) = 0.2740105395881539e-10, (5, 2) = -0.13577540600369132e-8, (5, 3) = 0.11885568810322129e-8, (5, 4) = -0.2662609105765617e-8, (6, 1) = 0.9001243956054416e-10, (6, 2) = -0.1921241075153031e-8, (6, 3) = 0.7104783646422491e-9, (6, 4) = -0.22008206079852576e-8, (7, 1) = 0.10877656053453564e-9, (7, 2) = -0.24052255241673246e-8, (7, 3) = 0.2987089779648195e-9, (7, 4) = -0.18138389059233987e-8, (8, 1) = .0, (8, 2) = -0.2639199241585047e-8, (8, 3) = .0, (8, 4) = -0.15919376437595613e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148122686052, (2) = 36893488148122686756, (3) = 36893488148122686932, (4) = 36893488148122687108, (5) = 36893488148122687284}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `Theta(Y)` := pointto(data[2][2]); return ('`Theta(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[2] catch: error  end try end proc, diff(Theta(Y), Y) = proc (Y) local res, data, solnproc, `diff(Theta(Y),Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6734200090650088, (1, 2) = -.6531599818699824, (1, 3) = .10258728550287753, (1, 4) = .20517457100575506, (2, 1) = .5827585353472419, (2, 2) = -.6596210962850125, (2, 3) = .12159445356118449, (2, 4) = 0.7529680140960433e-1, (3, 1) = .4903444637218817, (3, 2) = -.6604538733392283, (3, 3) = .12455696869449118, (3, 4) = -0.28612030714104224e-1, (4, 1) = .39594765057586023, (4, 2) = -.6625927537771802, (4, 3) = .11441859945722065, (4, 4) = -.10950196317478475, (5, 1) = .2995127652643646, (5, 2) = -.6692672419819512, (5, 3) = 0.9397324046932426e-1, (5, 4) = -.16917819424526712, (6, 1) = .20093475133474423, (6, 2) = -.6810591646545823, (6, 3) = 0.6609196265823672e-1, (6, 4) = -.20939398943493465, (7, 1) = .10000271491299853, (7, 2) = -.6968549375714486, (7, 3) = 0.3354280492326387e-1, (7, 4) = -.23201490202733843, (8, 1) = .0, (8, 2) = -.7141113923104759, (8, 3) = .0, (8, 4) = -.23886970930593576}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6531599818699824, (1, 2) = -0.9352800722255225e-1, (1, 3) = .20517457100575506, (1, 4) = -1.0499949429366222, (2, 1) = -.6596210962850125, (2, 2) = -0.15210606824740637e-1, (2, 3) = 0.7529680140960433e-1, (2, 4) = -.8379771478171677, (3, 1) = -.6604538733392283, (3, 2) = -0.4812766420163882e-2, (3, 3) = -0.28612030714104224e-1, (3, 4) = -.6510519488318632, (4, 1) = -.6625927537771802, (4, 2) = -0.2861420160837691e-1, (4, 3) = -.10950196317478475, (4, 4) = -.48615848093683806, (5, 1) = -.6692672419819512, (5, 2) = -0.6391688952597137e-1, (5, 3) = -.16917819424526712, (5, 4) = -.34082282292651644, (6, 1) = -.6810591646545823, (6, 2) = -0.9612500224437338e-1, (6, 3) = -.20939398943493465, (6, 4) = -.21245142738719724, (7, 1) = -.6968549375714486, (7, 2) = -.11718694584006906, (7, 3) = -.23201490202733843, (7, 4) = -0.9848558670980857e-1, (8, 1) = -.7141113923104759, (8, 2) = -.1239805213751408, (8, 3) = -.23886970930593576, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.9458922097728308e-10, (1, 2) = 0.1891779371026761e-9, (1, 3) = 0.1276270620097011e-9, (1, 4) = 0.2552541240194022e-9, (2, 1) = 0.4228792993369094e-9, (2, 2) = -0.10138131570600575e-8, (2, 3) = 0.14754687716983622e-8, (2, 4) = -0.18527109964760425e-8, (3, 1) = 0.1871687315261683e-9, (3, 2) = -0.9301897286206404e-9, (3, 3) = 0.18335615074604305e-8, (3, 4) = -0.28702701100456783e-8, (4, 1) = 0.25868384347771204e-10, (4, 2) = -0.9590982969209848e-9, (4, 3) = 0.16329184566764151e-8, (4, 4) = -0.30060158752298014e-8, (5, 1) = 0.2740105395881539e-10, (5, 2) = -0.13577540600369132e-8, (5, 3) = 0.11885568810322129e-8, (5, 4) = -0.2662609105765617e-8, (6, 1) = 0.9001243956054416e-10, (6, 2) = -0.1921241075153031e-8, (6, 3) = 0.7104783646422491e-9, (6, 4) = -0.22008206079852576e-8, (7, 1) = 0.10877656053453564e-9, (7, 2) = -0.24052255241673246e-8, (7, 3) = 0.2987089779648195e-9, (7, 4) = -0.18138389059233987e-8, (8, 1) = .0, (8, 2) = -0.2639199241585047e-8, (8, 3) = .0, (8, 4) = -0.15919376437595613e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148122686052, (2) = 36893488148122686756, (3) = 36893488148122686932, (4) = 36893488148122687108, (5) = 36893488148122687284}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `diff(Theta(Y),Y)` := pointto(data[2][3]); return ('`diff(Theta(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[3] catch: error  end try end proc, U(Y) = proc (Y) local res, data, solnproc, `U(Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6734200090650088, (1, 2) = -.6531599818699824, (1, 3) = .10258728550287753, (1, 4) = .20517457100575506, (2, 1) = .5827585353472419, (2, 2) = -.6596210962850125, (2, 3) = .12159445356118449, (2, 4) = 0.7529680140960433e-1, (3, 1) = .4903444637218817, (3, 2) = -.6604538733392283, (3, 3) = .12455696869449118, (3, 4) = -0.28612030714104224e-1, (4, 1) = .39594765057586023, (4, 2) = -.6625927537771802, (4, 3) = .11441859945722065, (4, 4) = -.10950196317478475, (5, 1) = .2995127652643646, (5, 2) = -.6692672419819512, (5, 3) = 0.9397324046932426e-1, (5, 4) = -.16917819424526712, (6, 1) = .20093475133474423, (6, 2) = -.6810591646545823, (6, 3) = 0.6609196265823672e-1, (6, 4) = -.20939398943493465, (7, 1) = .10000271491299853, (7, 2) = -.6968549375714486, (7, 3) = 0.3354280492326387e-1, (7, 4) = -.23201490202733843, (8, 1) = .0, (8, 2) = -.7141113923104759, (8, 3) = .0, (8, 4) = -.23886970930593576}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6531599818699824, (1, 2) = -0.9352800722255225e-1, (1, 3) = .20517457100575506, (1, 4) = -1.0499949429366222, (2, 1) = -.6596210962850125, (2, 2) = -0.15210606824740637e-1, (2, 3) = 0.7529680140960433e-1, (2, 4) = -.8379771478171677, (3, 1) = -.6604538733392283, (3, 2) = -0.4812766420163882e-2, (3, 3) = -0.28612030714104224e-1, (3, 4) = -.6510519488318632, (4, 1) = -.6625927537771802, (4, 2) = -0.2861420160837691e-1, (4, 3) = -.10950196317478475, (4, 4) = -.48615848093683806, (5, 1) = -.6692672419819512, (5, 2) = -0.6391688952597137e-1, (5, 3) = -.16917819424526712, (5, 4) = -.34082282292651644, (6, 1) = -.6810591646545823, (6, 2) = -0.9612500224437338e-1, (6, 3) = -.20939398943493465, (6, 4) = -.21245142738719724, (7, 1) = -.6968549375714486, (7, 2) = -.11718694584006906, (7, 3) = -.23201490202733843, (7, 4) = -0.9848558670980857e-1, (8, 1) = -.7141113923104759, (8, 2) = -.1239805213751408, (8, 3) = -.23886970930593576, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.9458922097728308e-10, (1, 2) = 0.1891779371026761e-9, (1, 3) = 0.1276270620097011e-9, (1, 4) = 0.2552541240194022e-9, (2, 1) = 0.4228792993369094e-9, (2, 2) = -0.10138131570600575e-8, (2, 3) = 0.14754687716983622e-8, (2, 4) = -0.18527109964760425e-8, (3, 1) = 0.1871687315261683e-9, (3, 2) = -0.9301897286206404e-9, (3, 3) = 0.18335615074604305e-8, (3, 4) = -0.28702701100456783e-8, (4, 1) = 0.25868384347771204e-10, (4, 2) = -0.9590982969209848e-9, (4, 3) = 0.16329184566764151e-8, (4, 4) = -0.30060158752298014e-8, (5, 1) = 0.2740105395881539e-10, (5, 2) = -0.13577540600369132e-8, (5, 3) = 0.11885568810322129e-8, (5, 4) = -0.2662609105765617e-8, (6, 1) = 0.9001243956054416e-10, (6, 2) = -0.1921241075153031e-8, (6, 3) = 0.7104783646422491e-9, (6, 4) = -0.22008206079852576e-8, (7, 1) = 0.10877656053453564e-9, (7, 2) = -0.24052255241673246e-8, (7, 3) = 0.2987089779648195e-9, (7, 4) = -0.18138389059233987e-8, (8, 1) = .0, (8, 2) = -0.2639199241585047e-8, (8, 3) = .0, (8, 4) = -0.15919376437595613e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148122686052, (2) = 36893488148122686756, (3) = 36893488148122686932, (4) = 36893488148122687108, (5) = 36893488148122687284}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `U(Y)` := pointto(data[2][4]); return ('`U(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[4] catch: error  end try end proc, diff(U(Y), Y) = proc (Y) local res, data, solnproc, `diff(U(Y),Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6734200090650088, (1, 2) = -.6531599818699824, (1, 3) = .10258728550287753, (1, 4) = .20517457100575506, (2, 1) = .5827585353472419, (2, 2) = -.6596210962850125, (2, 3) = .12159445356118449, (2, 4) = 0.7529680140960433e-1, (3, 1) = .4903444637218817, (3, 2) = -.6604538733392283, (3, 3) = .12455696869449118, (3, 4) = -0.28612030714104224e-1, (4, 1) = .39594765057586023, (4, 2) = -.6625927537771802, (4, 3) = .11441859945722065, (4, 4) = -.10950196317478475, (5, 1) = .2995127652643646, (5, 2) = -.6692672419819512, (5, 3) = 0.9397324046932426e-1, (5, 4) = -.16917819424526712, (6, 1) = .20093475133474423, (6, 2) = -.6810591646545823, (6, 3) = 0.6609196265823672e-1, (6, 4) = -.20939398943493465, (7, 1) = .10000271491299853, (7, 2) = -.6968549375714486, (7, 3) = 0.3354280492326387e-1, (7, 4) = -.23201490202733843, (8, 1) = .0, (8, 2) = -.7141113923104759, (8, 3) = .0, (8, 4) = -.23886970930593576}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.6531599818699824, (1, 2) = -0.9352800722255225e-1, (1, 3) = .20517457100575506, (1, 4) = -1.0499949429366222, (2, 1) = -.6596210962850125, (2, 2) = -0.15210606824740637e-1, (2, 3) = 0.7529680140960433e-1, (2, 4) = -.8379771478171677, (3, 1) = -.6604538733392283, (3, 2) = -0.4812766420163882e-2, (3, 3) = -0.28612030714104224e-1, (3, 4) = -.6510519488318632, (4, 1) = -.6625927537771802, (4, 2) = -0.2861420160837691e-1, (4, 3) = -.10950196317478475, (4, 4) = -.48615848093683806, (5, 1) = -.6692672419819512, (5, 2) = -0.6391688952597137e-1, (5, 3) = -.16917819424526712, (5, 4) = -.34082282292651644, (6, 1) = -.6810591646545823, (6, 2) = -0.9612500224437338e-1, (6, 3) = -.20939398943493465, (6, 4) = -.21245142738719724, (7, 1) = -.6968549375714486, (7, 2) = -.11718694584006906, (7, 3) = -.23201490202733843, (7, 4) = -0.9848558670980857e-1, (8, 1) = -.7141113923104759, (8, 2) = -.1239805213751408, (8, 3) = -.23886970930593576, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .1379341625832181, (3) = .27792327549011336, (4) = .420681509936214, (5) = .5655872427987271, (6) = .7116786200871382, (7) = .8582332114705307, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = 0.9458922097728308e-10, (1, 2) = 0.1891779371026761e-9, (1, 3) = 0.1276270620097011e-9, (1, 4) = 0.2552541240194022e-9, (2, 1) = 0.4228792993369094e-9, (2, 2) = -0.10138131570600575e-8, (2, 3) = 0.14754687716983622e-8, (2, 4) = -0.18527109964760425e-8, (3, 1) = 0.1871687315261683e-9, (3, 2) = -0.9301897286206404e-9, (3, 3) = 0.18335615074604305e-8, (3, 4) = -0.28702701100456783e-8, (4, 1) = 0.25868384347771204e-10, (4, 2) = -0.9590982969209848e-9, (4, 3) = 0.16329184566764151e-8, (4, 4) = -0.30060158752298014e-8, (5, 1) = 0.2740105395881539e-10, (5, 2) = -0.13577540600369132e-8, (5, 3) = 0.11885568810322129e-8, (5, 4) = -0.2662609105765617e-8, (6, 1) = 0.9001243956054416e-10, (6, 2) = -0.1921241075153031e-8, (6, 3) = 0.7104783646422491e-9, (6, 4) = -0.22008206079852576e-8, (7, 1) = 0.10877656053453564e-9, (7, 2) = -0.24052255241673246e-8, (7, 3) = 0.2987089779648195e-9, (7, 4) = -0.18138389059233987e-8, (8, 1) = .0, (8, 2) = -0.2639199241585047e-8, (8, 3) = .0, (8, 4) = -0.15919376437595613e-8}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.0060158752298014e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148122686052, (2) = 36893488148122686756, (3) = 36893488148122686932, (4) = 36893488148122687108, (5) = 36893488148122687284}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `diff(U(Y),Y)` := pointto(data[2][5]); return ('`diff(U(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[5] catch: error  end try end proc]

 

HFloat(0.4183870938696067)

 

[Y = proc (Y) local _res, _dat, _solnproc; option `Copyright (c) 1993 by the University of Waterloo. All rights reserved.`; _dat := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6713169798937232, (1, 2) = -.657366040212554, (1, 3) = 0.862795061079563e-1, (1, 4) = .1725590122159126, (2, 1) = .5797153463653842, (2, 2) = -.6617326198345885, (2, 3) = .1018209295930947, (2, 4) = 0.5677271730839214e-1, (3, 1) = .48664430168761613, (3, 2) = -.662258831644103, (3, 3) = .10330445285463342, (3, 4) = -0.31263852903302546e-1, (4, 1) = .3918886310718642, (4, 2) = -.6639845631409367, (4, 3) = 0.9391701451391479e-1, (4, 4) = -0.9642063341829926e-1, (5, 1) = .29554448313510456, (5, 2) = -.6688363125732723, (5, 3) = 0.764410663301793e-1, (5, 4) = -.1422128473559693, (6, 1) = .19769200220082067, (6, 2) = -.6768946030372536, (6, 3) = 0.5342412495047526e-1, (6, 4) = -.17173025430681765, (7, 1) = 0.9828441966275017e-1, (7, 2) = -.6872971789255111, (7, 3) = 0.27076815464802128e-1, (7, 4) = -.18770778290289414, (8, 1) = .0, (8, 2) = -.6985349965570843, (8, 3) = .0, (8, 4) = -.19243524394337094}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.657366040212554, (1, 2) = -0.6615610153545742e-1, (1, 3) = .1725590122159126, (1, 4) = -.9533511360592996, (2, 1) = -.6617326198345885, (2, 2) = -0.9030867433161312e-2, (2, 3) = 0.5677271730839214e-1, (2, 4) = -.72365709413204, (3, 1) = -.662258831644103, (3, 2) = -0.42107623479098345e-2, (3, 3) = -0.31263852903302546e-1, (3, 4) = -.5355816758137806, (4, 1) = -.6639845631409367, (4, 2) = -0.21925818824692044e-1, (4, 3) = -0.9642063341829926e-1, (4, 4) = -.38165223548104443, (5, 1) = -.6688363125732723, (5, 2) = -0.4508763549631076e-1, (5, 3) = -.1422128473559693, (5, 4) = -.255999933355698, (6, 1) = -.6768946030372536, (6, 2) = -0.6463850402669136e-1, (6, 3) = -.17173025430681765, (6, 4) = -.15325484328814798, (7, 1) = -.6872971789255111, (7, 2) = -0.7670230377944441e-1, (7, 3) = -.18770778290289414, (7, 4) = -0.6864042456168304e-1, (8, 1) = -.6985349965570843, (8, 2) = -0.8046379758096552e-1, (8, 3) = -.19243524394337094, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = -0.24516626869810475e-9, (1, 2) = -0.4903316202370872e-9, (1, 3) = 0.1193118586341099e-10, (1, 4) = 0.2386237172682198e-10, (2, 1) = -0.44323632968872036e-9, (2, 2) = -0.11239842873900528e-8, (2, 3) = 0.9488967399383937e-9, (2, 4) = -0.20798360879041744e-8, (3, 1) = -0.5663546289782656e-9, (3, 2) = -0.1192363315175685e-8, (3, 3) = 0.893417123349804e-9, (3, 4) = -0.2253468720498865e-8, (4, 1) = -0.46094048000653755e-9, (4, 2) = -0.14890263054161864e-8, (4, 3) = 0.5087018776705503e-9, (4, 4) = -0.162751475204993e-8, (5, 1) = -0.2663328412708678e-9, (5, 2) = -0.18531217997504961e-8, (5, 3) = 0.13596542160098092e-9, (5, 4) = -0.8763048141047078e-9, (6, 1) = -0.10936938073557014e-9, (6, 2) = -0.2016428780126133e-8, (6, 3) = -0.8273548315627479e-10, (6, 4) = -0.29134132192513517e-9, (7, 1) = -0.2095523814057028e-10, (7, 2) = -0.18543630736044313e-8, (7, 3) = -0.12292171841722822e-9, (7, 4) = 0.11053914964320288e-9, (8, 1) = .0, (8, 2) = -0.1360436875802549e-8, (8, 3) = .0, (8, 4) = 0.3724541824817413e-9}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097617916, (2) = 36893488148097618884, (3) = 36893488148097619852, (4) = 36893488148097620116, (5) = 36893488148097620556}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); _solnproc := _dat[1]; if member(Y, ["last", 'last']) then _res := _solnproc("last"); if type(_res, 'list') then return _res[1] end if elif type(Y, `=`) and member(lhs(Y), ["initial", 'initial']) then if type(rhs(Y), 'list') then _res := _solnproc("initial" = [0, op(rhs(Y))]) else _res := _solnproc("initial" = [1, rhs(Y)]) end if; if type(_res, 'list') then return _res[1] end if elif Y = "sysvars" then return _dat[3] end if; Y end proc, Theta(Y) = proc (Y) local res, data, solnproc, `Theta(Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6713169798937232, (1, 2) = -.657366040212554, (1, 3) = 0.862795061079563e-1, (1, 4) = .1725590122159126, (2, 1) = .5797153463653842, (2, 2) = -.6617326198345885, (2, 3) = .1018209295930947, (2, 4) = 0.5677271730839214e-1, (3, 1) = .48664430168761613, (3, 2) = -.662258831644103, (3, 3) = .10330445285463342, (3, 4) = -0.31263852903302546e-1, (4, 1) = .3918886310718642, (4, 2) = -.6639845631409367, (4, 3) = 0.9391701451391479e-1, (4, 4) = -0.9642063341829926e-1, (5, 1) = .29554448313510456, (5, 2) = -.6688363125732723, (5, 3) = 0.764410663301793e-1, (5, 4) = -.1422128473559693, (6, 1) = .19769200220082067, (6, 2) = -.6768946030372536, (6, 3) = 0.5342412495047526e-1, (6, 4) = -.17173025430681765, (7, 1) = 0.9828441966275017e-1, (7, 2) = -.6872971789255111, (7, 3) = 0.27076815464802128e-1, (7, 4) = -.18770778290289414, (8, 1) = .0, (8, 2) = -.6985349965570843, (8, 3) = .0, (8, 4) = -.19243524394337094}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.657366040212554, (1, 2) = -0.6615610153545742e-1, (1, 3) = .1725590122159126, (1, 4) = -.9533511360592996, (2, 1) = -.6617326198345885, (2, 2) = -0.9030867433161312e-2, (2, 3) = 0.5677271730839214e-1, (2, 4) = -.72365709413204, (3, 1) = -.662258831644103, (3, 2) = -0.42107623479098345e-2, (3, 3) = -0.31263852903302546e-1, (3, 4) = -.5355816758137806, (4, 1) = -.6639845631409367, (4, 2) = -0.21925818824692044e-1, (4, 3) = -0.9642063341829926e-1, (4, 4) = -.38165223548104443, (5, 1) = -.6688363125732723, (5, 2) = -0.4508763549631076e-1, (5, 3) = -.1422128473559693, (5, 4) = -.255999933355698, (6, 1) = -.6768946030372536, (6, 2) = -0.6463850402669136e-1, (6, 3) = -.17173025430681765, (6, 4) = -.15325484328814798, (7, 1) = -.6872971789255111, (7, 2) = -0.7670230377944441e-1, (7, 3) = -.18770778290289414, (7, 4) = -0.6864042456168304e-1, (8, 1) = -.6985349965570843, (8, 2) = -0.8046379758096552e-1, (8, 3) = -.19243524394337094, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = -0.24516626869810475e-9, (1, 2) = -0.4903316202370872e-9, (1, 3) = 0.1193118586341099e-10, (1, 4) = 0.2386237172682198e-10, (2, 1) = -0.44323632968872036e-9, (2, 2) = -0.11239842873900528e-8, (2, 3) = 0.9488967399383937e-9, (2, 4) = -0.20798360879041744e-8, (3, 1) = -0.5663546289782656e-9, (3, 2) = -0.1192363315175685e-8, (3, 3) = 0.893417123349804e-9, (3, 4) = -0.2253468720498865e-8, (4, 1) = -0.46094048000653755e-9, (4, 2) = -0.14890263054161864e-8, (4, 3) = 0.5087018776705503e-9, (4, 4) = -0.162751475204993e-8, (5, 1) = -0.2663328412708678e-9, (5, 2) = -0.18531217997504961e-8, (5, 3) = 0.13596542160098092e-9, (5, 4) = -0.8763048141047078e-9, (6, 1) = -0.10936938073557014e-9, (6, 2) = -0.2016428780126133e-8, (6, 3) = -0.8273548315627479e-10, (6, 4) = -0.29134132192513517e-9, (7, 1) = -0.2095523814057028e-10, (7, 2) = -0.18543630736044313e-8, (7, 3) = -0.12292171841722822e-9, (7, 4) = 0.11053914964320288e-9, (8, 1) = .0, (8, 2) = -0.1360436875802549e-8, (8, 3) = .0, (8, 4) = 0.3724541824817413e-9}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097617916, (2) = 36893488148097618884, (3) = 36893488148097619852, (4) = 36893488148097620116, (5) = 36893488148097620556}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `Theta(Y)` := pointto(data[2][2]); return ('`Theta(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[2] catch: error  end try end proc, diff(Theta(Y), Y) = proc (Y) local res, data, solnproc, `diff(Theta(Y),Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6713169798937232, (1, 2) = -.657366040212554, (1, 3) = 0.862795061079563e-1, (1, 4) = .1725590122159126, (2, 1) = .5797153463653842, (2, 2) = -.6617326198345885, (2, 3) = .1018209295930947, (2, 4) = 0.5677271730839214e-1, (3, 1) = .48664430168761613, (3, 2) = -.662258831644103, (3, 3) = .10330445285463342, (3, 4) = -0.31263852903302546e-1, (4, 1) = .3918886310718642, (4, 2) = -.6639845631409367, (4, 3) = 0.9391701451391479e-1, (4, 4) = -0.9642063341829926e-1, (5, 1) = .29554448313510456, (5, 2) = -.6688363125732723, (5, 3) = 0.764410663301793e-1, (5, 4) = -.1422128473559693, (6, 1) = .19769200220082067, (6, 2) = -.6768946030372536, (6, 3) = 0.5342412495047526e-1, (6, 4) = -.17173025430681765, (7, 1) = 0.9828441966275017e-1, (7, 2) = -.6872971789255111, (7, 3) = 0.27076815464802128e-1, (7, 4) = -.18770778290289414, (8, 1) = .0, (8, 2) = -.6985349965570843, (8, 3) = .0, (8, 4) = -.19243524394337094}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.657366040212554, (1, 2) = -0.6615610153545742e-1, (1, 3) = .1725590122159126, (1, 4) = -.9533511360592996, (2, 1) = -.6617326198345885, (2, 2) = -0.9030867433161312e-2, (2, 3) = 0.5677271730839214e-1, (2, 4) = -.72365709413204, (3, 1) = -.662258831644103, (3, 2) = -0.42107623479098345e-2, (3, 3) = -0.31263852903302546e-1, (3, 4) = -.5355816758137806, (4, 1) = -.6639845631409367, (4, 2) = -0.21925818824692044e-1, (4, 3) = -0.9642063341829926e-1, (4, 4) = -.38165223548104443, (5, 1) = -.6688363125732723, (5, 2) = -0.4508763549631076e-1, (5, 3) = -.1422128473559693, (5, 4) = -.255999933355698, (6, 1) = -.6768946030372536, (6, 2) = -0.6463850402669136e-1, (6, 3) = -.17173025430681765, (6, 4) = -.15325484328814798, (7, 1) = -.6872971789255111, (7, 2) = -0.7670230377944441e-1, (7, 3) = -.18770778290289414, (7, 4) = -0.6864042456168304e-1, (8, 1) = -.6985349965570843, (8, 2) = -0.8046379758096552e-1, (8, 3) = -.19243524394337094, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = -0.24516626869810475e-9, (1, 2) = -0.4903316202370872e-9, (1, 3) = 0.1193118586341099e-10, (1, 4) = 0.2386237172682198e-10, (2, 1) = -0.44323632968872036e-9, (2, 2) = -0.11239842873900528e-8, (2, 3) = 0.9488967399383937e-9, (2, 4) = -0.20798360879041744e-8, (3, 1) = -0.5663546289782656e-9, (3, 2) = -0.1192363315175685e-8, (3, 3) = 0.893417123349804e-9, (3, 4) = -0.2253468720498865e-8, (4, 1) = -0.46094048000653755e-9, (4, 2) = -0.14890263054161864e-8, (4, 3) = 0.5087018776705503e-9, (4, 4) = -0.162751475204993e-8, (5, 1) = -0.2663328412708678e-9, (5, 2) = -0.18531217997504961e-8, (5, 3) = 0.13596542160098092e-9, (5, 4) = -0.8763048141047078e-9, (6, 1) = -0.10936938073557014e-9, (6, 2) = -0.2016428780126133e-8, (6, 3) = -0.8273548315627479e-10, (6, 4) = -0.29134132192513517e-9, (7, 1) = -0.2095523814057028e-10, (7, 2) = -0.18543630736044313e-8, (7, 3) = -0.12292171841722822e-9, (7, 4) = 0.11053914964320288e-9, (8, 1) = .0, (8, 2) = -0.1360436875802549e-8, (8, 3) = .0, (8, 4) = 0.3724541824817413e-9}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097617916, (2) = 36893488148097618884, (3) = 36893488148097619852, (4) = 36893488148097620116, (5) = 36893488148097620556}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `diff(Theta(Y),Y)` := pointto(data[2][3]); return ('`diff(Theta(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[3] catch: error  end try end proc, U(Y) = proc (Y) local res, data, solnproc, `U(Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6713169798937232, (1, 2) = -.657366040212554, (1, 3) = 0.862795061079563e-1, (1, 4) = .1725590122159126, (2, 1) = .5797153463653842, (2, 2) = -.6617326198345885, (2, 3) = .1018209295930947, (2, 4) = 0.5677271730839214e-1, (3, 1) = .48664430168761613, (3, 2) = -.662258831644103, (3, 3) = .10330445285463342, (3, 4) = -0.31263852903302546e-1, (4, 1) = .3918886310718642, (4, 2) = -.6639845631409367, (4, 3) = 0.9391701451391479e-1, (4, 4) = -0.9642063341829926e-1, (5, 1) = .29554448313510456, (5, 2) = -.6688363125732723, (5, 3) = 0.764410663301793e-1, (5, 4) = -.1422128473559693, (6, 1) = .19769200220082067, (6, 2) = -.6768946030372536, (6, 3) = 0.5342412495047526e-1, (6, 4) = -.17173025430681765, (7, 1) = 0.9828441966275017e-1, (7, 2) = -.6872971789255111, (7, 3) = 0.27076815464802128e-1, (7, 4) = -.18770778290289414, (8, 1) = .0, (8, 2) = -.6985349965570843, (8, 3) = .0, (8, 4) = -.19243524394337094}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.657366040212554, (1, 2) = -0.6615610153545742e-1, (1, 3) = .1725590122159126, (1, 4) = -.9533511360592996, (2, 1) = -.6617326198345885, (2, 2) = -0.9030867433161312e-2, (2, 3) = 0.5677271730839214e-1, (2, 4) = -.72365709413204, (3, 1) = -.662258831644103, (3, 2) = -0.42107623479098345e-2, (3, 3) = -0.31263852903302546e-1, (3, 4) = -.5355816758137806, (4, 1) = -.6639845631409367, (4, 2) = -0.21925818824692044e-1, (4, 3) = -0.9642063341829926e-1, (4, 4) = -.38165223548104443, (5, 1) = -.6688363125732723, (5, 2) = -0.4508763549631076e-1, (5, 3) = -.1422128473559693, (5, 4) = -.255999933355698, (6, 1) = -.6768946030372536, (6, 2) = -0.6463850402669136e-1, (6, 3) = -.17173025430681765, (6, 4) = -.15325484328814798, (7, 1) = -.6872971789255111, (7, 2) = -0.7670230377944441e-1, (7, 3) = -.18770778290289414, (7, 4) = -0.6864042456168304e-1, (8, 1) = -.6985349965570843, (8, 2) = -0.8046379758096552e-1, (8, 3) = -.19243524394337094, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = -0.24516626869810475e-9, (1, 2) = -0.4903316202370872e-9, (1, 3) = 0.1193118586341099e-10, (1, 4) = 0.2386237172682198e-10, (2, 1) = -0.44323632968872036e-9, (2, 2) = -0.11239842873900528e-8, (2, 3) = 0.9488967399383937e-9, (2, 4) = -0.20798360879041744e-8, (3, 1) = -0.5663546289782656e-9, (3, 2) = -0.1192363315175685e-8, (3, 3) = 0.893417123349804e-9, (3, 4) = -0.2253468720498865e-8, (4, 1) = -0.46094048000653755e-9, (4, 2) = -0.14890263054161864e-8, (4, 3) = 0.5087018776705503e-9, (4, 4) = -0.162751475204993e-8, (5, 1) = -0.2663328412708678e-9, (5, 2) = -0.18531217997504961e-8, (5, 3) = 0.13596542160098092e-9, (5, 4) = -0.8763048141047078e-9, (6, 1) = -0.10936938073557014e-9, (6, 2) = -0.2016428780126133e-8, (6, 3) = -0.8273548315627479e-10, (6, 4) = -0.29134132192513517e-9, (7, 1) = -0.2095523814057028e-10, (7, 2) = -0.18543630736044313e-8, (7, 3) = -0.12292171841722822e-9, (7, 4) = 0.11053914964320288e-9, (8, 1) = .0, (8, 2) = -0.1360436875802549e-8, (8, 3) = .0, (8, 4) = 0.3724541824817413e-9}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097617916, (2) = 36893488148097618884, (3) = 36893488148097619852, (4) = 36893488148097620116, (5) = 36893488148097620556}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `U(Y)` := pointto(data[2][4]); return ('`U(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[4] catch: error  end try end proc, diff(U(Y), Y) = proc (Y) local res, data, solnproc, `diff(U(Y),Y)`, outpoint; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](Y) else outpoint := evalf(Y) end if; data := Array(1..4, {(1) = proc (outpoint) local X, Y, YP, yout, errproc, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = .6713169798937232, (1, 2) = -.657366040212554, (1, 3) = 0.862795061079563e-1, (1, 4) = .1725590122159126, (2, 1) = .5797153463653842, (2, 2) = -.6617326198345885, (2, 3) = .1018209295930947, (2, 4) = 0.5677271730839214e-1, (3, 1) = .48664430168761613, (3, 2) = -.662258831644103, (3, 3) = .10330445285463342, (3, 4) = -0.31263852903302546e-1, (4, 1) = .3918886310718642, (4, 2) = -.6639845631409367, (4, 3) = 0.9391701451391479e-1, (4, 4) = -0.9642063341829926e-1, (5, 1) = .29554448313510456, (5, 2) = -.6688363125732723, (5, 3) = 0.764410663301793e-1, (5, 4) = -.1422128473559693, (6, 1) = .19769200220082067, (6, 2) = -.6768946030372536, (6, 3) = 0.5342412495047526e-1, (6, 4) = -.17173025430681765, (7, 1) = 0.9828441966275017e-1, (7, 2) = -.6872971789255111, (7, 3) = 0.27076815464802128e-1, (7, 4) = -.18770778290289414, (8, 1) = .0, (8, 2) = -.6985349965570843, (8, 3) = .0, (8, 4) = -.19243524394337094}, datatype = float[8], order = C_order); YP := Matrix(8, 4, {(1, 1) = -.657366040212554, (1, 2) = -0.6615610153545742e-1, (1, 3) = .1725590122159126, (1, 4) = -.9533511360592996, (2, 1) = -.6617326198345885, (2, 2) = -0.9030867433161312e-2, (2, 3) = 0.5677271730839214e-1, (2, 4) = -.72365709413204, (3, 1) = -.662258831644103, (3, 2) = -0.42107623479098345e-2, (3, 3) = -0.31263852903302546e-1, (3, 4) = -.5355816758137806, (4, 1) = -.6639845631409367, (4, 2) = -0.21925818824692044e-1, (4, 3) = -0.9642063341829926e-1, (4, 4) = -.38165223548104443, (5, 1) = -.6688363125732723, (5, 2) = -0.4508763549631076e-1, (5, 3) = -.1422128473559693, (5, 4) = -.255999933355698, (6, 1) = -.6768946030372536, (6, 2) = -0.6463850402669136e-1, (6, 3) = -.17173025430681765, (6, 4) = -.15325484328814798, (7, 1) = -.6872971789255111, (7, 2) = -0.7670230377944441e-1, (7, 3) = -.18770778290289414, (7, 4) = -0.6864042456168304e-1, (8, 1) = -.6985349965570843, (8, 2) = -0.8046379758096552e-1, (8, 3) = -.19243524394337094, (8, 4) = .0}, datatype = float[8], order = C_order); errproc := proc (x_bvp) local outpoint, X, Y, yout, L, V, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; Digits := 15; outpoint := evalf(x_bvp); X := Vector(8, {(1) = .0, (2) = .13874832701405712, (3) = .27932920856168686, (4) = .42226875992819335, (5) = .5669015089499674, (6) = .7123794248736864, (7) = .8581491969149676, (8) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(8, 4, {(1, 1) = -0.24516626869810475e-9, (1, 2) = -0.4903316202370872e-9, (1, 3) = 0.1193118586341099e-10, (1, 4) = 0.2386237172682198e-10, (2, 1) = -0.44323632968872036e-9, (2, 2) = -0.11239842873900528e-8, (2, 3) = 0.9488967399383937e-9, (2, 4) = -0.20798360879041744e-8, (3, 1) = -0.5663546289782656e-9, (3, 2) = -0.1192363315175685e-8, (3, 3) = 0.893417123349804e-9, (3, 4) = -0.2253468720498865e-8, (4, 1) = -0.46094048000653755e-9, (4, 2) = -0.14890263054161864e-8, (4, 3) = 0.5087018776705503e-9, (4, 4) = -0.162751475204993e-8, (5, 1) = -0.2663328412708678e-9, (5, 2) = -0.18531217997504961e-8, (5, 3) = 0.13596542160098092e-9, (5, 4) = -0.8763048141047078e-9, (6, 1) = -0.10936938073557014e-9, (6, 2) = -0.2016428780126133e-8, (6, 3) = -0.8273548315627479e-10, (6, 4) = -0.29134132192513517e-9, (7, 1) = -0.2095523814057028e-10, (7, 2) = -0.18543630736044313e-8, (7, 3) = -0.12292171841722822e-9, (7, 4) = 0.11053914964320288e-9, (8, 1) = .0, (8, 2) = -0.1360436875802549e-8, (8, 3) = .0, (8, 4) = 0.3724541824817413e-9}, datatype = float[8], order = C_order); if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 8, [Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(4, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(8, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)]'[i] = yout[i], i = 1 .. 4)] end proc; if not type(outpoint, 'numeric') then if outpoint = "start" or outpoint = "left" then return X[1] elif outpoint = "method" then return "bvp" elif outpoint = "right" then return X[8] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.253468720498865e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 8, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[8] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[8] end if; if Digits <= trunc(evalhf(Digits)) and (_EnvInFsolve <> true or _EnvDSNumericSaveDigits <= trunc(evalhf(Digits))) then V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = .0, (1, 2) = .0, (2, 1) = .0, (2, 2) = .0, (3, 1) = .0, (3, 2) = .0, (4, 1) = .0, (4, 2) = .0, (5, 1) = .0, (5, 2) = .0, (6, 1) = .0, (6, 2) = .0, (7, 1) = .0, (7, 2) = .0}, datatype = float[8], order = C_order); yout := Vector(4, {(1) = .0, (2) = .0, (3) = .0, (4) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, var(yout), var(L), var(V))) else if _EnvInFsolve = true then Digits := _EnvDSNumericSaveDigits end if; V := array( 1 .. 6, [( 1 ) = (7), ( 2 ) = (0), ( 3 ) = (false), ( 4 ) = (false), ( 5 ) = (false), ( 6 ) = (false)  ] ); L := Matrix(7, 2, {(1, 1) = 0., (1, 2) = 0., (2, 1) = 0., (2, 2) = 0., (3, 1) = 0., (3, 2) = 0., (4, 1) = 0., (4, 2) = 0., (5, 1) = 0., (5, 2) = 0., (6, 1) = 0., (6, 2) = 0., (7, 1) = 0., (7, 2) = 0.}, order = C_order); yout := Vector(4, {(1) = 0., (2) = 0., (3) = 0., (4) = 0.}); `dsolve/numeric/hermite`(8, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488148097617916, (2) = 36893488148097618884, (3) = 36893488148097619852, (4) = 36893488148097620116, (5) = 36893488148097620556}), (3) = [Y, Theta(Y), diff(Theta(Y), Y), U(Y), diff(U(Y), Y)], (4) = 0}); solnproc := data[1]; if not type(outpoint, 'numeric') then if outpoint = "solnprocedure" then return eval(solnproc) elif member(outpoint, ["start", "left", "right", "errorproc", "rawdata", "order", "error"]) then return solnproc(Y) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(Y) else `diff(U(Y),Y)` := pointto(data[2][5]); return ('`diff(U(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[5] catch: error  end try end proc]

 

HFloat(0.4177397719639865)

(1)

  with(plots):
  cols := [red, blue, black, green, cyan];
  display( [ seq( odeplot( Ans[j],
                           [Y, diff(U(Y), Y)],
                           Y = 0 .. 1,
                           color = cols[j]
                         ),
                  j = 1 .. numelems(MVals)
                )
           ],
           title = typeset(diff(U(Y), Y), "vs ", Y),
           legend = [typeset(M = 0, 5), typeset(M = 1), typeset(M = 1.5)]
         );
  display( [ seq( odeplot( Ans[j],
                           [Y, Theta(Y)],
                           Y = 0 .. 1,
                           color = cols[j]
                         ),
                  j = 1 .. numelems(MVals)
                )
           ],
           title = typeset(Theta(y), "vs ", Y),
           legend = [typeset(M = 0, 5), typeset(M = 1), typeset(M = 1.5)]
         );

[red, blue, black, green, cyan]

 

 

 

  interface(rtablesize = 100):
  interface(displayprecision = 5):
  Matrix( [ [0, M = 0.5, M = 0.5, M = 1, M = 1, M = 1.5, M = 1.5],
            [Y, Cf, Nu, Cf, Nu, Cf, Nu],
            seq( [ j,
                   seq( [ eval(diff(U(Y), Y)/a1, Ans[k])(j),
                          eval(-diff(Theta(Y), Y)/(Theta_b[k]*a5), Ans[k])(j)
                        ][],
                        k = 1 .. numelems(MVals)
                      )
                 ],
                 j = 0 .. 1, 0.1
               )
          ]
        );
  interface(rtablesize = 10):
  interface(displayprecision = -1):

Matrix(13, 7, {(1, 1) = 0, (1, 2) = M = .50000, (1, 3) = M = .50000, (1, 4) = M = 1, (1, 5) = M = 1, (1, 6) = M = 1.50000, (1, 7) = M = 1.50000, (2, 1) = Y, (2, 2) = Cf, (2, 3) = Nu, (2, 4) = Cf, (2, 5) = Nu, (2, 6) = Cf, (2, 7) = Nu, (3, 1) = 0, (3, 2) = .270871, (3, 3) = 1.23570, (3, 4) = .239181, (3, 5) = 1.24751, (3, 6) = .201160, (3, 7) = 1.25749, (4, 1) = .10000, (4, 2) = .147850, (4, 3) = 1.24984, (4, 4) = .126052, (4, 5) = 1.25831, (4, 6) = .100198, (4, 7) = 1.26487, (5, 1) = .20000, (5, 2) = 0.412661e-1, (5, 3) = 1.25349, (5, 4) = 0.302990e-1, (5, 5) = 1.26090, (5, 6) = 0.176640e-1, (5, 7) = 1.26644, (6, 1) = .30000, (6, 2) = -0.498455e-1, (6, 3) = 1.25447, (6, 4) = -0.497597e-1, (6, 5) = 1.26168, (6, 6) = -0.490561e-1, (6, 7) = 1.26704, (7, 1) = .40000, (7, 2) = -.126437, (7, 3) = 1.25776, (7, 4) = -.115661, (7, 5) = 1.26448, (7, 6) = -.102212, (7, 7) = 1.26929, (8, 1) = .50000, (8, 2) = -.189391, (8, 3) = 1.26616, (8, 4) = -.168764, (8, 5) = 1.27128, (8, 6) = -.143715, (8, 7) = 1.27433, (9, 1) = .60000, (9, 2) = -.239494, (9, 3) = 1.28082, (9, 4) = -.210251, (9, 5) = 1.28275, (9, 6) = -.175171, (9, 7) = 1.28244, (10, 1) = .70000, (10, 2) = -.277443, (10, 3) = 1.30166, (10, 4) = -.241142, (10, 5) = 1.29867, (10, 6) = -.197924, (10, 7) = 1.29333, (11, 1) = .80000, (11, 2) = -.303858, (11, 3) = 1.32773, (11, 4) = -.262313, (11, 5) = 1.31828, (11, 6) = -.213100, (11, 7) = 1.30641, (12, 1) = .90000, (12, 2) = -.319309, (12, 3) = 1.35753, (12, 4) = -.274527, (12, 5) = 1.34046, (12, 6) = -.221639, (12, 7) = 1.32096, (13, 1) = 1.00000, (13, 2) = -.324339, (13, 3) = 1.38924, (13, 4) = -.278461, (13, 5) = 1.36392, (13, 6) = -.224330, (13, 7) = 1.33624})

(2)

 

NULL

Download more3.mw

restart:

with(PDEtools)

PDEtools[declare](U(Y), prime = Y)

U(Y)*`will now be displayed as`*U

 

`derivatives with respect to`*Y*`of functions of one variable will now be displayed with '`

(1)

PDEtools[declare](Theta(Y), prime = Y)

Theta(Y)*`will now be displayed as`*Theta

 

`derivatives with respect to`*Y*`of functions of one variable will now be displayed with '`

(2)

rf := 997.1; kf := .613; cpf := 4179; `&sigma;f` := 0.5e-1

p1 := 0.1e-1; sigma1 := 2380000; rs1 := 4250; ks1 := 8.9538; cps1 := 686.2

p2 := 0.5e-1; sigma2 := 3500000; rs2 := 10500; ks2 := 429; cps2 := 235

kp := .3Pr := 7.2; N := .5; g := .5; A := 1; B := 0; lambda := .5; Ec := .5``NULL

a1 := (1-p1)^2.5*(1-p2)^2.5

a2 := (1-p2)*(1-p1+p1*rs1/rf)+p2*rs2/rf

a3 := 1+3*((p1*sigma1+p2*sigma2)/`&sigma;f`-p1-p2)/(2+(p1*sigma1+p2*sigma2)/((p1+p2)*`&sigma;f`)-((p1*sigma1+p2*sigma2)/`&sigma;f`-p1-p2))

a4 := (1-p2)*(1-p1+p1*rs1*cps1/(rf*cpf))+p2*rs2*cps2/(rf*cpf)

a5 := (ks1+2*kf-2*p1*(kf-ks1))*(ks2+2*kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-2*p2*(kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-ks2))/((ks1+2*kf+p1*(kf-ks1))*(ks2+2*kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))+2*p2*(kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-ks2)))

  Z := 4:

  U(Y):=  add((p^(i))*u[i](Y), i = 0 .. Z):

  Theta(Y):=  add((p^(i))*theta[i](Y), i = 0 .. Z):

NULL

    odeSys:= { (1-p)*(diff(U(Y),Y,Y))/(a1*a2)
              +
              p*((diff(U(Y),Y,Y))/(a1*a2)+Theta(Y)+N*(Theta(Y)*Theta(Y))-a3*(M*M)*U(Y)/a2-(kp*kp)*U(Y)/(a1*a2)),

              (1-p)*a5*(diff(Theta(Y),Y,Y))/a4
              +
              p*(a5*(diff(Theta(Y),Y,Y))/a4+Pr*Ec*((diff(U(Y),Y))*(diff(U(Y),Y))+(U(Y)*U(Y))*(kp*kp))/(a1*a2))
            }:

   MVals:=[0.5,1.0,1.5]:

   for j from 1 by 1 to numelems(MVals) do

       cond:= u[0](0) = lambda*(D(u[0]))(0), theta[0](0) = A+g*(D(theta[0]))(0),
              u[0](1) = 0, theta[0](1) = B:
       ans[j]:= {}:

       for k from 0 by 1 to Z do
           ans[j]:= evalf( `union`
                           ( ans[j],
                             dsolve
                             ( { eval
                                 ( coeff~(eval(odeSys, M=MVals[j]), p, k),
                                   ans[j]
                                 )[],
                                 cond
                               }
                             )
                           )
                        ):
           cond:= u[k+1](0) =lambda*(D(u[k+1]))(0), theta[k+1](0) = 0, u[k+1](1) = 0, theta[k+1](1) = 0:
       od:

       Theta_b[j]:= int( eval(U(Y), [ans[j][], p=1])*eval(Theta(Y), [ans[j][], p=1]), Y=0..1)
                    /
                    int( eval(U(Y), [ans[j][], p=1]), Y=0..1):
   od:
 

  with(plots):
  cols := [red, blue, black, green, cyan]:

  display
  ( [ seq
      ( plot
        ( diff(eval( U(Y), [ans[j][], p=1]),Y),
          Y=0..1,
          color=cols[j]
        ),
        j=1..numelems(MVals)
      )
    ],
    title = "diff(U(Y), Y) vs Y)",
    legend = [typeset(M = 0.5), typeset(M = 1), typeset(M = 1.5)]
  );
  display
  ( [ seq
      ( plot
        ( eval( Theta(Y), [ans[j][], p=1]),
          Y=0..1,
          color=cols[j]
        ),
        j=1..numelems(MVals)
      )
    ],
    title = "Theta(Y) vs Y)",
    legend = [typeset(M = 0.5), typeset(M = 1), typeset(M = 1.5)]
  );

 

 

  interface(rtablesize=100):
  interface(displayprecision=5):
  Matrix( [ [ Y, Cf,  Nu, Cf,  Nu, Cf,  Nu],
              seq
              ( [ j,
                  seq( [eval(diff(U(Y),Y)/a1,[ans[k][], Y=j,p=1]),
                        eval(-1/(Theta_b[k])*diff(Theta(Y),Y)/a5,[ans[k][],Y=j,p=1])
                       ][],
                       k=1..numelems(MVals)
                     )
                
                ],
                j=0..1, 0.1
              )
          ]
      );
  interface(rtablesize=100):
  interface(displayprecision=-1)

Matrix(12, 7, {(1, 1) = Y, (1, 2) = Cf, (1, 3) = Nu, (1, 4) = Cf, (1, 5) = Nu, (1, 6) = Cf, (1, 7) = Nu, (2, 1) = 0, (2, 2) = .26715, (2, 3) = 1.23997, (2, 4) = .23754, (2, 5) = 1.25769, (2, 6) = .19463, (2, 7) = 1.28597, (3, 1) = .10000, (3, 2) = .14604, (3, 3) = 1.25326, (3, 4) = .12572, (3, 5) = 1.26651, (3, 6) = 0.9637e-1, (3, 7) = 1.28731, (4, 1) = .20000, (4, 2) = 0.4103e-1, (4, 3) = 1.25661, (4, 4) = 0.3089e-1, (4, 5) = 1.26839, (4, 6) = 0.1636e-1, (4, 7) = 1.28675, (5, 1) = .30000, (5, 2) = -0.4882e-1, (5, 3) = 1.25753, (5, 4) = -0.4857e-1, (5, 5) = 1.26904, (5, 6) = -0.4803e-1, (5, 7) = 1.28693, (6, 1) = .40000, (6, 2) = -.12443, (6, 3) = 1.26076, (6, 4) = -.11416, (6, 5) = 1.27163, (6, 6) = -0.9915e-1, (6, 7) = 1.28846, (7, 1) = .50000, (7, 2) = -.18664, (7, 3) = 1.26885, (7, 4) = -.16721, (7, 5) = 1.27761, (7, 6) = -.13897, (7, 7) = 1.29088, (8, 1) = .60000, (8, 2) = -.23622, (8, 3) = 1.28279, (8, 4) = -.20883, (8, 5) = 1.28728, (8, 6) = -.16914, (8, 7) = 1.29343, (9, 1) = .70000, (9, 2) = -.27383, (9, 3) = 1.30239, (9, 4) = -.23997, (9, 5) = 1.30030, (9, 6) = -.19101, (9, 7) = 1.29542, (10, 1) = .80000, (10, 2) = -.30004, (10, 3) = 1.32670, (10, 4) = -.26143, (10, 5) = 1.31593, (10, 6) = -.20565, (10, 7) = 1.29651, (11, 1) = .90000, (11, 2) = -.31540, (11, 3) = 1.35433, (11, 4) = -.27388, (11, 5) = 1.33329, (11, 6) = -.21394, (11, 7) = 1.29670, (12, 1) = 1.00000, (12, 2) = -.32041, (12, 3) = 1.38363, (12, 4) = -.27791, (12, 5) = 1.35149, (12, 6) = -.21657, (12, 7) = 1.29633})

 

5

(3)

``

Download bhpm3.mw
 

@KIRAN SAJJAN 

to what yoiu want?

There are two attached files: one solve the problem using  Maple's built-in hunerical solvers, and one using the "HPM method". They produce the following two tables (where I have restricted the display precision (but not the precision used in actual calculation), just to make comparisons easier.

Maple's numeric solvers


HPM method

OK, these are different, but generally they are within about 3%. Since I have absolutely no idea how accurate I would expect a 4-term HPM method to be, such a discrepancy doesn't bother me much

more2.mw

bhpm2.mw

 

@KIRAN SAJJAN 

with requested graphs and table is attached.

At no time did I enter as input either U(Y)(Y) or Theta(Y)(Y).

In Maple output, this is an artefact of using the option output=listprocedure in the dsolve() command. Maple will give the relevant procedures the names U(Y) and Theta(Y), but these are just literal procedureNames. Applying these literal procedure names to a variable 'Y' is what results in U(Y)(Y) and Theta(Y)(Y)

restart

kp := .3Pr := 7.2; N := .5; g := .5; A := 1; B := 0; lambda := .5; Ec := .5``

rf := 997.1; kf := .613; cpf := 4179; `&sigma;f` := 0.5e-1

p1 := 0.1e-1; sigma1 := 2380000; rs1 := 4250; ks1 := 8.9538; cps1 := 686.2

p2 := 0.5e-1; sigma2 := 3500000; rs2 := 10500; ks2 := 429; cps2 := 235

a1 := (1-p1)^2.5*(1-p2)^2.5

a2 := (1-p2)*(1-p1+p1*rs1/rf)+p2*rs2/rf

a3 := 1+3*((p1*sigma1+p2*sigma2)/`&sigma;f`-p1-p2)/(2+(p1*sigma1+p2*sigma2)/((p1+p2)*`&sigma;f`)-((p1*sigma1+p2*sigma2)/`&sigma;f`-p1-p2))

a4 := (1-p2)*(1-p1+p1*rs1*cps1/(rf*cpf))+p2*rs2*cps2/(rf*cpf)

a5 := (ks1+2*kf-2*p1*(kf-ks1))*(ks2+2*kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-2*p2*(kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-ks2))/((ks1+2*kf+p1*(kf-ks1))*(ks2+2*kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))+2*p2*(kf*(ks1+2*kf-2*p1*(kf-ks1))/(ks1+2*kf+p1*(kf-ks1))-ks2)))

OdeSys := (diff(U(Y), Y, Y))/(a1*a2)+Theta(Y)+N*(Theta(Y)*Theta(Y))-a3*(M*M)*U(Y)/a2-(kp*kp)*U(Y)/(a1*a2), a5*(diff(Theta(Y), Y, Y))/a4+Pr*Ec*((diff(U(Y), Y))^2+U(Y)^2*(kp*kp))/(a1*a2); MVals := [.5, 1.0, 1.5]; Cond := U(0) = lambda*(D(U))(0), Theta(0) = A+g*(D(Theta))(0), U(1) = 0, Theta(1) = B; for j to numelems(MVals) do Ans[j] := dsolve(eval([OdeSys, Cond], M = MVals[j]), numeric, output = listprocedure); Theta_b[j] := evalf((Int((eval(U(Y), Ans[j]))(Y)*(eval(Theta(Y), Ans[j]))(Y), Y = 0 .. 1))/(Int((eval(U(Y), Ans[j]))(Y), Y = 0 .. 1))) end do

with(plots); cols := [red, blue, black, green, cyan]; display([seq(odeplot(Ans[j], [Y, diff(U(Y), Y)], Y = 0 .. 1, color = cols[j]), j = 1 .. numelems(MVals))], title = typeset(diff(U(Y), Y), "vs ", Y), legend = [typeset(M = 0, 5), typeset(M = 1), typeset(M = 1.5)]); display([seq(odeplot(Ans[j], [Y, Theta(Y)], Y = 0 .. 1, color = cols[j]), j = 1 .. numelems(MVals))], title = typeset(Theta(y), "vs ", Y), legend = [typeset(M = 0, 5), typeset(M = 1), typeset(M = 1.5)])

 

 

interface(rtablesize = 100); Matrix([[0, M = .5, M = .5, M = 1, M = 1, M = 1.5, M = 1.5], [Y, Cf, Nu, Cf, Nu, Cf, Nu], seq([j, seq([(eval((diff(U(Y), Y))/a1, Ans[k]))(j), (eval(-(diff(Theta(Y), Y))/(Theta_b[k]*a5), Ans[k]))(j)][], k = 1 .. numelems(MVals))], j = 0 .. 1, .1)]); interface(rtablesize = 100)

Matrix(%id = 36893488148298344076)

(1)

 

NULL

Download more.mw

@KIRAN SAJJAN 

on whether you can define "stream line", "Nussel number" and "skin friction" in terms of the quantities produced in the worksheet.

I can't.

If you can't - then you are stuffed!

1 2 3 4 5 6 7 Last Page 1 of 204