tomleslie

13821 Reputation

20 Badges

14 years, 296 days

MaplePrimes Activity


These are replies submitted by tomleslie

@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

with the independent variable eta, the dependent variables  f(eta), g(eta), phi(eta), and theta(eta), togeether with the parameters M, N, Pr, S, Sc, d, sigma, C[T], N[b], N[t], Re[r],beta^%H, and d^%H.

You seem to want plots of "Streamlines, Isotherms and Microrotations".

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? 

in your worksheet appears to execute exactly as expected (see the attachecd), you are going to have to do a much better job of explaining your what your problem is

restart;
d1 := 0.05;
d2 := 0.3;
AA := 0.2;
BB := 0.1;
PDE1 := diff(u(x, t), t) = d1*diff(u(x, t), x, x) + w(x, t)*exp(AA*u(x, t) - BB*v(x, t));
PDE2 := diff(v(x, t), t) = d2*diff(v(x, t), x, x) - w(x, t)*exp(AA*u(x, t) - BB*v(x, t));
PDE3 := 0.0001*diff(w(x, t), t) = diff(w(x, t), x) - 0.8*x + 3.3;
IBC1 := u(0, t) = 1, u(1, t) = 0, u(x, 0) = piecewise(x < 0.35, -(4*x)*x + 1, 0.35 < x and x < 0.65, 1.32958 - 1.29167*x, 0.65 < x, 4*(x - 1)^2);
IBC2 := v(0, t) = 0, v(1, t) = 1, v(x, 0) = piecewise(x < 0.35, (4*x)*x + 1, 0.35 < x and x < 0.65, 1.32958 - 1.29167*x, 0.65 < x, -4*(x - 1)^2);
IBC3 := w(0, t) = 0.5, w(x, 0) = 1 - (0.3*x)*x;
pds := pdsolve([PDE1, PDE2, PDE3], [IBC1, IBC2, IBC3], numeric, time = t, range = 0 .. 1);
p1 := pds:-plot(t = 0, numpoints = 50);
p2 := pds:-plot(t = 1/8, numpoints = 50, color = blue);
p3 := pds:-plot(t = 1/4, numpoints = 50, color = green);

d1 := 0.5e-1

 

d2 := .3

 

AA := .2

 

BB := .1

 

PDE1 := diff(u(x, t), t) = 0.5e-1*(diff(u(x, t), x, x))+w(x, t)*exp(.2*u(x, t)-.1*v(x, t))

 

PDE2 := diff(v(x, t), t) = .3*(diff(v(x, t), x, x))-w(x, t)*exp(.2*u(x, t)-.1*v(x, t))

 

PDE3 := 0.1e-3*(diff(w(x, t), t)) = diff(w(x, t), x)-.8*x+3.3

 

IBC1 := u(0, t) = 1, u(1, t) = 0, u(x, 0) = piecewise(x < .35, -4*x^2+1, .35 < x and x < .65, 1.32958-1.29167*x, .65 < x, 4*(x-1)^2)

 

v(0, t) = 0, v(1, t) = 1, v(x, 0) = piecewise(x < .35, 4*x^2+1, .35 < x and x < .65, 1.32958-1.29167*x, .65 < x, -4*(x-1)^2)

 

w(0, t) = .5, w(x, 0) = 1-.3*x^2

 

_m694724832

 

 

 

 

 

Download pdeStuff.mw

@vs140580 

something like the attached - maybe?

  L:= [ ["O",  3.85090000,  0.45160000,  0.00120000],
        ["O", -2.59990000,  1.40410000, -0.00180000],
        ["N", -1.57050000, -0.71710000,  0.00010000],
        ["C", -0.20660000, -0.42310000, -0.00020000],
        ["C",  0.22050000,  0.90470000,  0.00040000],
        ["C",  0.72980000, -1.45700000, -0.00070000],
        ["C",  1.58410000,  1.19860000,  0.00020000],
        ["C",  2.09330000, -1.16290000, -0.00070000],
        ["C",  2.52040000,  0.16480000, -0.00030000],
        ["C", -2.64850000,  0.17820000,  0.00090000],
        ["C", -3.97350000, -0.54200000,  0.00100000],
        ["H", -0.44360000,  1.75770000,  0.00120000],
        ["H",  0.41130000, -2.49630000, -0.00100000],
        ["H", -1.80100000, -1.70860000,  0.00010000],
        ["H",  1.90530000,  2.23700000,  0.00090000],
        ["H",  2.81800000, -1.97260000, -0.00080000],
        ["H", -4.06550000, -1.14630000, -0.90580000],
        ["H", -4.79040000,  0.18440000,  0.02880000],
        ["H", -4.04450000, -1.18860000,  0.88020000],
        ["H",  3.96500000,  1.41760000,  0.00170000]
      ]:
  a1:={seq( `if`( evalb(L[j,1]="H"), j, NULL), j=1..numelems(L))};

  S:={ {1,9}, {1,20},  {2,10},   {3,4},  {3,10},   {3,14}, {4,5},
       {4,6}, {5, 7},  {5,12},   {6,8},  {6,13},   {7,9} ,{7,15},
       {8,9}, {8,16}, {10,11}, {11,17}, {11,18}, {11,19}
     }:
  a2:={seq(`if`(`intersect`(j, a1)={}, j, NULL), j in S)};
 

{12, 13, 14, 15, 16, 17, 18, 19, 20}

 

{{1, 9}, {2, 10}, {3, 4}, {3, 10}, {4, 5}, {4, 6}, {5, 7}, {6, 8}, {7, 9}, {8, 9}, {10, 11}}

(1)

 

Download manip.mw

@vs140580 

the drawGraph command to

DrawGraph(G, style=spring, showweights=true);

This works for me, although you may have to start playing with font sizes in order to make things legible

My reading of the relevant section of the help page reproduced (below)

showweights=truefalse
The display of edge weights can be forced or suppressed with the option showweights=true and showweights=false, respectively. By default, the edge weights are displayed when G is a weighted graph with fewer than 46 edges.

is that if the graph has more than 46 edges the display of weights will be suppressed, although interestingly your graph *only* has 39 edges

 

3 4 5 6 7 8 9 Last Page 5 of 207