tomleslie

13579 Reputation

19 Badges

13 years, 105 days

MaplePrimes Activity


These are replies submitted by tomleslie

@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!

@KIRAN SAJJAN 

your file a.mw produces

Theta_b := 0.418387093869607
Q := 0.0869578833401966

The attached file where I have corrected all the syntax errors (too many to list), fixed the logical errors (too many to list), deeleted all the code which you don't need (about half of it) produces

Theta_b := 0.4131557662
Q := 0.08652473337

Whilst these don't match exactly, the HPM method is an "approximation", so I would say that the agreement is "pretty good". Maybe with more terms in the power series expansion, the agreement would becoome even better, but I haven't got the time/patience to explore this.

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; M := 1``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;

4

(3)

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

u[0](Y)+p*u[1](Y)+p^2*u[2](Y)+p^3*u[3](Y)+p^4*u[4](Y)

(4)

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

theta[0](Y)+p*theta[1](Y)+p^2*theta[2](Y)+p^3*theta[3](Y)+p^4*theta[4](Y)

(5)

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))}:

  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:={}:

  for k from 0 by 1 to Z do
      ans:= evalf(`union`
            ( ans,
              dsolve
              ( { eval
                  ( coeff~(odeSys, p, k),
                    ans
                  )[],
                  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:=int( eval(U(Y), [ans[], p=1])*eval(Theta(Y), [ans[], p=1]), Y=0..1)
         /
         int( eval(U(Y), [ans[], p=1]), Y=0..1);
  Q:=int( eval(U(Y), [ans[], p=1]), Y=0..1);

.4131557662

 

0.8652473337e-1

(6)

NULL

  interface(rtablesize=100):
  Matrix( [ [ M, Cf,  Nu],
              seq
              ( [ j,
                  eval(diff(U(Y),Y)/a1,[ans[], Y=j,p=1]),
                  eval(-1/(Theta_b)*diff(Theta(Y),Y)/a5,[ans[],Y=j,p=1])
             ],
                j=0..2, 0.5
              )
          ]
      );
  interface(rtablesize=100):

Matrix(6, 3, {(1, 1) = 1, (1, 2) = Cf, (1, 3) = Nu, (2, 1) = 0, (2, 2) = .2375370263, (2, 3) = 1.257689358, (3, 1) = .5, (3, 2) = -.1672057841, (3, 3) = 1.277606271, (4, 1) = 1.0, (4, 2) = -.2779064137, (4, 3) = 1.351492988, (5, 1) = 1.5, (5, 2) = -.1898708173, (5, 3) = 1.429803746, (6, 1) = 2.0, (6, 2) = 0.3158676368e-1, (6, 3) = 1.453241683})

(7)

``

Download bhpm.mw

@KIRAN SAJJAN 

a.mw b_hpm.mw

you have Pr=7.2, M=1. In your original question (and my original response), you have Pr=0.3, M := .5. Would you expect to get the same answers when you use different parameters?

I have no idea which set of parameters to use.

@KIRAN SAJJAN 

I repeat the same two questiions - what are the answers?

How are these "Streamlines, Isotherms and Microrotations". defined in terms of the variables and parameters of the ODE system listed above?

According to the graphic you supply, the "Streamlines, Isotherms and Microrotations" are parameterised by Re , Pr,  Gr and Ha. However Re, Gr, and Ha occur nowhere in the definition of the ODE system. What are these parameters? 

@KIRAN SAJJAN 

until you answer the two simple questions in my original reply, it is impossible for anyone here to help you

@KIRAN SAJJAN 

answering the questions in my original reply

first step would be to post a MAple worksheet illustrating the problem, rather than some jumble of images and code

Use the big green up-arrow in the Mapleprimes toolbar

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