tomleslie

13811 Reputation

19 Badges

14 years, 156 days

MaplePrimes Activity


These are replies submitted by tomleslie

@Madhukesh J K 

Any problem saving to an Excel sheet is probably caused by he typeset headers in row 1 - so just don't output this row.

The following works just fine for me, although you will have to change the file paths to somethig appropriate for your machine.
 

restart

eqn := diff(f(x), `$`(x, 3))+f(x)*(diff(f(x), `$`(x, 2)))-(diff(f(x), x))*(diff(f(x), x)-lambda) = 0

diff(diff(diff(f(x), x), x), x)+f(x)*(diff(diff(f(x), x), x))-(diff(f(x), x))*(diff(f(x), x)-lambda) = 0

(1)

bcs := f(0) = 0, (D(f))(0) = 1, (D(f))(a) = 0

f(0) = 0, (D(f))(0) = 1, (D(f))(a) = 0

(2)

params := [lambda = 0, a = 7]

[lambda = 0, a = 7]

(3)

sol := dsolve(eval([eqn, bcs], params), numeric)

proc (x_bvp) local res, data, solnproc, _ndsol, outpoint, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](x_bvp) else outpoint := evalf(x_bvp) 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(15, {(1) = .0, (2) = .45884128660916607, (3) = .9251421721231284, (4) = 1.401244238977895, (5) = 1.891536505380774, (6) = 2.3948746631301048, (7) = 2.906535879536887, (8) = 3.4244168392907524, (9) = 3.944232981227012, (10) = 4.465274846431488, (11) = 4.9866275238674245, (12) = 5.508155422287264, (13) = 6.0296538384388905, (14) = 6.530766339216415, (15) = 7.0}, datatype = float[8], order = C_order); Y := Matrix(15, 3, {(1, 1) = .0, (1, 2) = 1.0, (1, 3) = -1.000172555152507, (2, 1) = .3679661670444895, (2, 2) = .6319340558265536, (2, 3) = -.6322009415220234, (3, 1) = .6034477479501392, (3, 2) = .39630180329423215, (3, 3) = -.3966825839137023, (4, 1) = .753525816927324, (4, 2) = .24601437619234381, (4, 3) = -.24651188973274546, (5, 1) = .8488142381644157, (5, 2) = .15045494206630705, (5, 3) = -.15106012272466318, (6, 1) = .9082488893736861, (6, 2) = 0.9069190108816673e-1, (6, 3) = -0.9138807321047741e-1, (7, 1) = .9444907528720965, (7, 2) = 0.5407468844222717e-1, (7, 3) = -0.5484229949404112e-1, (8, 1) = .9662592046414542, (8, 2) = 0.3189417483562893e-1, (8, 3) = -0.3271500187083119e-1, (9, 1) = .9790925647282462, (9, 2) = 0.18623696527793335e-1, (9, 3) = -0.19482428019138014e-1, (10, 1) = .986555766088315, (10, 2) = 0.10705793334502571e-1, (10, 3) = -0.1159074703199189e-1, (11, 1) = .9908027381592555, (11, 2) = 0.5992523847149354e-2, (11, 3) = -0.6895179787550211e-2, (12, 1) = .9931335723717829, (12, 2) = 0.31876605099718258e-2, (12, 3) = -0.41020283287439415e-2, (13, 1) = .9943233338103351, (13, 2) = 0.1518931255261683e-2, (13, 3) = -0.2440894633976018e-2, (14, 1) = .9948231976119695, (14, 2) = 0.555802515946153e-3, (14, 3) = -0.148243657690736e-2, (15, 1) = .9949434885398212, (15, 2) = .0, (15, 3) = -0.9294255132965231e-3}, datatype = float[8], order = C_order); YP := Matrix(15, 3, {(1, 1) = 1.0, (1, 2) = -1.000172555152507, (1, 3) = 1.0, (2, 1) = .6319340558265536, (2, 2) = -.6322009415220234, (2, 3) = .6319692081671742, (3, 1) = .39630180329423215, (3, 2) = -.3966825839137023, (3, 3) = .39643233120802607, (4, 1) = .24601437619234381, (4, 2) = -.24651188973274546, (4, 3) = .2462761463864735, (5, 1) = .15045494206630705, (5, 2) = -.15106012272466318, (5, 3) = .15085867257973395, (6, 1) = 0.9069190108816673e-1, (6, 2) = -0.9138807321047741e-1, (6, 3) = 0.9122813691840304e-1, (7, 1) = 0.5407468844222717e-1, (7, 2) = -0.5484229949404112e-1, (7, 3) = 0.5472211666848783e-1, (8, 1) = 0.3189417483562893e-1, (8, 2) = -0.3271500187083119e-1, (8, 3) = 0.32628410075998704e-1, (9, 1) = 0.18623696527793335e-1, (9, 2) = -0.19482428019138014e-1, (9, 3) = 0.19421942488750624e-1, (10, 1) = 0.10705793334502571e-1, (10, 2) = -0.1159074703199189e-1, (10, 3) = 0.11549532328603701e-1, (11, 1) = 0.5992523847149354e-2, (11, 2) = -0.6895179787550211e-2, (11, 3) = 0.6867673355663757e-2, (12, 1) = 0.31876605099718258e-2, (12, 2) = -0.41020283287439415e-2, (12, 3) = 0.4084023227622559e-2, (13, 1) = 0.1518931255261683e-2, (13, 2) = -0.2440894633976018e-2, (13, 3) = 0.24293456420930028e-2, (14, 1) = 0.555802515946153e-3, (14, 2) = -0.148243657690736e-2, (14, 3) = 0.14750712121326542e-2, (15, 1) = .0, (15, 2) = -0.9294255132965231e-3, (15, 3) = 0.9247258625371567e-3}, 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(15, {(1) = .0, (2) = .45884128660916607, (3) = .9251421721231284, (4) = 1.401244238977895, (5) = 1.891536505380774, (6) = 2.3948746631301048, (7) = 2.906535879536887, (8) = 3.4244168392907524, (9) = 3.944232981227012, (10) = 4.465274846431488, (11) = 4.9866275238674245, (12) = 5.508155422287264, (13) = 6.0296538384388905, (14) = 6.530766339216415, (15) = 7.0}, datatype = float[8], order = C_order); Y := Matrix(15, 3, {(1, 1) = .0, (1, 2) = .0, (1, 3) = 0.9846501960989505e-10, (2, 1) = -0.14082608794708346e-6, (2, 2) = 0.1411835385771021e-6, (2, 3) = -0.14048601936730212e-6, (3, 1) = -0.14176889024724998e-6, (3, 2) = 0.14281355817553083e-6, (3, 3) = -0.14151890228908607e-6, (4, 1) = -0.10012730732250013e-6, (4, 2) = 0.10205544289443828e-6, (4, 3) = -0.10034339447818287e-6, (5, 1) = -0.55853751163662226e-7, (5, 2) = 0.5875209754413099e-7, (5, 3) = -0.5683132046670593e-7, (6, 1) = -0.21235331674583595e-7, (6, 2) = 0.25101208483958363e-7, (6, 3) = -0.23147969488423017e-7, (7, 1) = 0.9925593820904865e-9, (7, 2) = 0.3779595840388026e-8, (7, 3) = -0.19127586900557814e-8, (8, 1) = 0.12392595524747908e-7, (8, 2) = -0.6799322977513806e-8, (8, 3) = 0.8511315622508796e-8, (9, 1) = 0.1640238741867568e-7, (9, 2) = -0.100822144674156e-7, (9, 3) = 0.1161080201767941e-7, (10, 1) = 0.16349770708917644e-7, (10, 2) = -0.939164853989075e-8, (10, 3) = 0.10733390184191948e-7, (11, 1) = 0.14624569857460525e-7, (11, 2) = -0.7108454519144011e-8, (11, 3) = 0.8276116737352355e-8, (12, 1) = 0.12605317572479922e-7, (12, 2) = -0.45996593262353215e-8, (12, 3) = 0.5614895108421162e-8, (13, 1) = 0.10923893492661616e-7, (13, 2) = -0.24852987200001826e-8, (13, 3) = 0.3373601787064303e-8, (14, 1) = 0.9770889428210786e-8, (14, 2) = -0.9563326962688922e-9, (14, 3) = 0.17467581538982356e-8, (15, 1) = 0.9139737170738694e-8, (15, 2) = .0, (15, 3) = 0.7189132222848026e-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[15] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(1.4281355817553083e-7) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [3, 15, [f(x), diff(f(x), x), diff(diff(f(x), x), x)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[15] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[15] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(3, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(15, 3, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(3, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(15, 3, X, Y, outpoint, yout, L, V) end if; [x = outpoint, seq('[f(x), diff(f(x), x), diff(diff(f(x), x), x)]'[i] = yout[i], i = 1 .. 3)] 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[15] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(1.4281355817553083e-7) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [3, 15, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[15] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[15] 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(3, {(1) = .0, (2) = .0, (3) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(15, 3, 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(3, {(1) = 0., (2) = 0., (3) = 0.}); `dsolve/numeric/hermite`(15, 3, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 3)] end proc, (2) = Array(0..0, {}), (3) = [x, f(x), diff(f(x), x), diff(diff(f(x), x), x)], (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(x_bvp) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(x_bvp) else _ndsol := pointto(data[2][0]); return ('_ndsol')(x_bvp) end if end if; try res := solnproc(outpoint); [x = res[1], seq('[f(x), diff(f(x), x), diff(diff(f(x), x), x)]'[i] = res[i+1], i = 1 .. 3)] catch: error  end try end proc

(4)

NULL

fname1:="C:/Users/TomLeslie/Desktop/EX1.xlsx";
M:=Matrix([
            seq(rhs~(sol(j)), j=0..7, 0.01)
          ]
        );
ExcelTools:-Export(M, fname1, "sheet1", "B2"):

fname2:="C:/Users/TomLeslie/Desktop/EX2.xlsx";
ExcelTools:-Export(M[..,1], fname2, "sheet1", "B2"):
ExcelTools:-Export(M[..,3], fname2, "sheet1", "C2"):

fname1 := "C:/Users/TomLeslie/Desktop/EX1.xlsx"

 

_rtable[36893488148083816436]

 

"C:/Users/TomLeslie/Desktop/EX2.xlsx"

(5)

 

Download matres3.mw

@Madhukesh J K 

as shown in the attached

restart

eqn := diff(f(x), `$`(x, 3))+f(x)*(diff(f(x), `$`(x, 2)))-(diff(f(x), x))*(diff(f(x), x)-lambda) = 0

diff(diff(diff(f(x), x), x), x)+f(x)*(diff(diff(f(x), x), x))-(diff(f(x), x))*(diff(f(x), x)-lambda) = 0

(1)

bcs := f(0) = 0, (D(f))(0) = 1, (D(f))(a) = 0

f(0) = 0, (D(f))(0) = 1, (D(f))(a) = 0

(2)

params := [lambda = 0, a = 7]

[lambda = 0, a = 7]

(3)

sol := dsolve(eval([eqn, bcs], params), numeric)

proc (x_bvp) local res, data, solnproc, _ndsol, outpoint, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 15; if _EnvInFsolve = true then outpoint := evalf[_EnvDSNumericSaveDigits](x_bvp) else outpoint := evalf(x_bvp) 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(15, {(1) = .0, (2) = .45884128660916607, (3) = .9251421721231284, (4) = 1.401244238977895, (5) = 1.891536505380774, (6) = 2.3948746631301048, (7) = 2.906535879536887, (8) = 3.4244168392907524, (9) = 3.944232981227012, (10) = 4.465274846431488, (11) = 4.9866275238674245, (12) = 5.508155422287264, (13) = 6.0296538384388905, (14) = 6.530766339216415, (15) = 7.0}, datatype = float[8], order = C_order); Y := Matrix(15, 3, {(1, 1) = .0, (1, 2) = 1.0, (1, 3) = -1.000172555152507, (2, 1) = .3679661670444895, (2, 2) = .6319340558265536, (2, 3) = -.6322009415220234, (3, 1) = .6034477479501392, (3, 2) = .39630180329423215, (3, 3) = -.3966825839137023, (4, 1) = .753525816927324, (4, 2) = .24601437619234381, (4, 3) = -.24651188973274546, (5, 1) = .8488142381644157, (5, 2) = .15045494206630705, (5, 3) = -.15106012272466318, (6, 1) = .9082488893736861, (6, 2) = 0.9069190108816673e-1, (6, 3) = -0.9138807321047741e-1, (7, 1) = .9444907528720965, (7, 2) = 0.5407468844222717e-1, (7, 3) = -0.5484229949404112e-1, (8, 1) = .9662592046414542, (8, 2) = 0.3189417483562893e-1, (8, 3) = -0.3271500187083119e-1, (9, 1) = .9790925647282462, (9, 2) = 0.18623696527793335e-1, (9, 3) = -0.19482428019138014e-1, (10, 1) = .986555766088315, (10, 2) = 0.10705793334502571e-1, (10, 3) = -0.1159074703199189e-1, (11, 1) = .9908027381592555, (11, 2) = 0.5992523847149354e-2, (11, 3) = -0.6895179787550211e-2, (12, 1) = .9931335723717829, (12, 2) = 0.31876605099718258e-2, (12, 3) = -0.41020283287439415e-2, (13, 1) = .9943233338103351, (13, 2) = 0.1518931255261683e-2, (13, 3) = -0.2440894633976018e-2, (14, 1) = .9948231976119695, (14, 2) = 0.555802515946153e-3, (14, 3) = -0.148243657690736e-2, (15, 1) = .9949434885398212, (15, 2) = .0, (15, 3) = -0.9294255132965231e-3}, datatype = float[8], order = C_order); YP := Matrix(15, 3, {(1, 1) = 1.0, (1, 2) = -1.000172555152507, (1, 3) = 1.0, (2, 1) = .6319340558265536, (2, 2) = -.6322009415220234, (2, 3) = .6319692081671742, (3, 1) = .39630180329423215, (3, 2) = -.3966825839137023, (3, 3) = .39643233120802607, (4, 1) = .24601437619234381, (4, 2) = -.24651188973274546, (4, 3) = .2462761463864735, (5, 1) = .15045494206630705, (5, 2) = -.15106012272466318, (5, 3) = .15085867257973395, (6, 1) = 0.9069190108816673e-1, (6, 2) = -0.9138807321047741e-1, (6, 3) = 0.9122813691840304e-1, (7, 1) = 0.5407468844222717e-1, (7, 2) = -0.5484229949404112e-1, (7, 3) = 0.5472211666848783e-1, (8, 1) = 0.3189417483562893e-1, (8, 2) = -0.3271500187083119e-1, (8, 3) = 0.32628410075998704e-1, (9, 1) = 0.18623696527793335e-1, (9, 2) = -0.19482428019138014e-1, (9, 3) = 0.19421942488750624e-1, (10, 1) = 0.10705793334502571e-1, (10, 2) = -0.1159074703199189e-1, (10, 3) = 0.11549532328603701e-1, (11, 1) = 0.5992523847149354e-2, (11, 2) = -0.6895179787550211e-2, (11, 3) = 0.6867673355663757e-2, (12, 1) = 0.31876605099718258e-2, (12, 2) = -0.41020283287439415e-2, (12, 3) = 0.4084023227622559e-2, (13, 1) = 0.1518931255261683e-2, (13, 2) = -0.2440894633976018e-2, (13, 3) = 0.24293456420930028e-2, (14, 1) = 0.555802515946153e-3, (14, 2) = -0.148243657690736e-2, (14, 3) = 0.14750712121326542e-2, (15, 1) = .0, (15, 2) = -0.9294255132965231e-3, (15, 3) = 0.9247258625371567e-3}, 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(15, {(1) = .0, (2) = .45884128660916607, (3) = .9251421721231284, (4) = 1.401244238977895, (5) = 1.891536505380774, (6) = 2.3948746631301048, (7) = 2.906535879536887, (8) = 3.4244168392907524, (9) = 3.944232981227012, (10) = 4.465274846431488, (11) = 4.9866275238674245, (12) = 5.508155422287264, (13) = 6.0296538384388905, (14) = 6.530766339216415, (15) = 7.0}, datatype = float[8], order = C_order); Y := Matrix(15, 3, {(1, 1) = .0, (1, 2) = .0, (1, 3) = 0.9846501960989505e-10, (2, 1) = -0.14082608794708346e-6, (2, 2) = 0.1411835385771021e-6, (2, 3) = -0.14048601936730212e-6, (3, 1) = -0.14176889024724998e-6, (3, 2) = 0.14281355817553083e-6, (3, 3) = -0.14151890228908607e-6, (4, 1) = -0.10012730732250013e-6, (4, 2) = 0.10205544289443828e-6, (4, 3) = -0.10034339447818287e-6, (5, 1) = -0.55853751163662226e-7, (5, 2) = 0.5875209754413099e-7, (5, 3) = -0.5683132046670593e-7, (6, 1) = -0.21235331674583595e-7, (6, 2) = 0.25101208483958363e-7, (6, 3) = -0.23147969488423017e-7, (7, 1) = 0.9925593820904865e-9, (7, 2) = 0.3779595840388026e-8, (7, 3) = -0.19127586900557814e-8, (8, 1) = 0.12392595524747908e-7, (8, 2) = -0.6799322977513806e-8, (8, 3) = 0.8511315622508796e-8, (9, 1) = 0.1640238741867568e-7, (9, 2) = -0.100822144674156e-7, (9, 3) = 0.1161080201767941e-7, (10, 1) = 0.16349770708917644e-7, (10, 2) = -0.939164853989075e-8, (10, 3) = 0.10733390184191948e-7, (11, 1) = 0.14624569857460525e-7, (11, 2) = -0.7108454519144011e-8, (11, 3) = 0.8276116737352355e-8, (12, 1) = 0.12605317572479922e-7, (12, 2) = -0.45996593262353215e-8, (12, 3) = 0.5614895108421162e-8, (13, 1) = 0.10923893492661616e-7, (13, 2) = -0.24852987200001826e-8, (13, 3) = 0.3373601787064303e-8, (14, 1) = 0.9770889428210786e-8, (14, 2) = -0.9563326962688922e-9, (14, 3) = 0.17467581538982356e-8, (15, 1) = 0.9139737170738694e-8, (15, 2) = .0, (15, 3) = 0.7189132222848026e-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[15] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(1.4281355817553083e-7) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [3, 15, [f(x), diff(f(x), x), diff(diff(f(x), x), x)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[15] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[15] end if; V := array([1 = 4, 2 = 0]); if Digits <= trunc(evalhf(Digits)) then L := Vector(4, 'datatype' = 'float'[8]); yout := Vector(3, 'datatype' = 'float'[8]); evalhf(`dsolve/numeric/lagrange`(15, 3, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(3, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(15, 3, X, Y, outpoint, yout, L, V) end if; [x = outpoint, seq('[f(x), diff(f(x), x), diff(diff(f(x), x), x)]'[i] = yout[i], i = 1 .. 3)] 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[15] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(1.4281355817553083e-7) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [3, 15, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[15] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[15] 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(3, {(1) = .0, (2) = .0, (3) = .0}, datatype = float[8]); evalhf(`dsolve/numeric/hermite`(15, 3, 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(3, {(1) = 0., (2) = 0., (3) = 0.}); `dsolve/numeric/hermite`(15, 3, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 3)] end proc, (2) = Array(0..0, {}), (3) = [x, f(x), diff(f(x), x), diff(diff(f(x), x), x)], (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(x_bvp) elif outpoint = "sysvars" then return data[3] elif procname <> unknown then return ('procname')(x_bvp) else _ndsol := pointto(data[2][0]); return ('_ndsol')(x_bvp) end if end if; try res := solnproc(outpoint); [x = res[1], seq('[f(x), diff(f(x), x), diff(diff(f(x), x), x)]'[i] = res[i+1], i = 1 .. 3)] catch: error  end try end proc

(4)

NULL

M:=Matrix([ lhs~(sol(0)),
            seq(rhs~(sol(j)), j=0..7, 0.01)
          ]
        ):
M[..,3];

_rtable[36893488148528158708]

(5)

 

Download matres2.mw

@MarcinM 

can use any plotting command to produce the individual plots. The display command() is then used to combine them

@KIRAN SAJJAN 

Consider just one simple graph,and answer two questions

  1. What are the x-values?
  2. What are the corresponding y-values?

executes without error  in Maple 2020, but produces error in Maple 2021. See the two attached worksheets


GTprob20.mw - Maple2020

GTprob21.mw - Maple2021

Not exactly sure why, but the problem seenm to stem from the fact that you have used two different datatypes `integer[8]` and `integer`

@nftieha 

maybe?

  restart:

  with(plots):
  with(plottools):
  with(DEtools):

  eqn1 := diff(V(t), t) = pi*p - (alpha + mu)*V(t),
          V(0) = ic1:

  eqn2 := diff(S(t), t) = alpha*V(t) + (1 - p)*pi - beta*S(t)*In(t)/N - mu*S(t),
          S(0) = ic2:

  eqn3 := diff(In(t), t) = beta*S(t)*In(t)/N - (mu + delta + localgamma)*In(t),
          In(0) = ic3:

  eqn4 := diff(R(t), t) = localgamma*In(t) - mu*R(t),
          R(0) = ic4:

  pi := 487845:
  pVals := [0.2, 0.5, 0.7, 0.8]:
  alpha := 0.054:
  beta := 0.955:
  mu := 0.005:
  delta := 0.03:
  localgamma := 0.935:
  ic1 := 484465:
  ic2 := 31999760:
  ic3 := 26305:
  ic4 := 12470:
  N:=10000:
  cols:=[red, blue, green, black]:
  for k from 1 by 1 to numelems(pVals) do
      p:=pVals[k]:
      dsol := dsolve([eqn1, eqn2, eqn3, eqn4], numeric):
      plt[k]:=odeplot( dsol,
                       [t, rhs(eqn1[1])],
                       t=0..200,
                       color=cols[k]
                     ):
  od:
  display( [seq( plt[j], j=1.. numelems(pVals))],
           legend=[seq( 'p'=pVals[j], j=1..numelems(pVals))],
           labels=[ typeset(t), typeset(lhs(eqn1[1])) ],
           labelfont=[times, bold, 16]
         );

 

 

Download plotODE.mw

 

@jganding 

The "double brackets" only seem to appear when a worksheet is rendered on this site

@C_R 

in Matlab2023a. Can't test in (OP's) Matlab2014 - because I don't have any Matlab versions antwhere that okd

@MD0216 

You want

for n=1: (3,2,3)

n=2: (9, 12,22,12,9)

Now read the attachment

  restart;
  f:= n->expand( (3+2*x+3*x^2)^n );

  coeffs( f(1), x);
  coeffs( f(2), x);

proc (n) options operator, arrow; expand((3*x^2+2*x+3)^n) end proc

 

3, 2, 3

 

9, 12, 22, 12, 9

(1)

 

Download coeffs2.mw

  1. Your system is second-order in f(), and first-order in g(), so can only have a total of three boundary/initial conditions. You appear to want four.
  2. Your system is not really "coupled" since the second equation dpes not contain f(). In fact, the solution of the second equation is trivially g(eta) = -eta*sigma, which can be obtained using  isolate(g(eta)*diff(g(eta), eta) + sigma*eta*diff(g(eta), eta)=0, g(eta));

@yusong 

The piecewise definition of p__0 := (x, t) ->.... is identical for the two conditions (0 <= t and t <= l/D__0), and (l/D__0 < t), which seems a bit weird?? It this is correct, why have a piecewise definition at all?

@Aung 

the attached, maybe? Although what this has to do with the matrix relaxG(xy) in the first worksheet you posted is a complete mystery to me

restart

plot([seq([t, fsolve(300 = (47.965+(3.08*.2)*t^.1/GAMMA(3-.9))*epsilon)], t = 1 .. 291, 10)], style = point, symbol = solidcircle, symbolsize = 15, color = red)

 

``

Download simpPlot.mw

@KIRAN SAJJAN 

is so bad, that it is almost impossible (at least for me) to work out what you are trying to achieve!!! So, in the attached, I have made a lot of more-or-less random guesses. Some of these guesses are almost certainly wrong!!

You will have to check this very carefully!!

The display of the final matrices is a lot cleaner in the Maple worksheet - honest

restart:

with(PDEtools)

NULL

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

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

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

NULL

kp := 1Pr := 6.8; N := 1; g := .5; A := 0; B := 1; lambda := .5; Ec := 1NULLNULLNULL

NULL

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

a6 := (1-p3)^2.5*(1-p4)^2.5

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

NULL

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

NULL

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

NULL

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

NULL

p3 := 0.2e-1; sigma3 := 5.96*10^7; rs3 := 8933; ks3 := 401; cps3 := 385

p4 := 0.5e-1; sigma4 := 10^7; rs4 := 2200; ks4 := 5000; cps4 := 790

NULL

a6 := (1-p3)^2.5*(1-p4)^2.5

a7 := (1-p4)*(1-p3+p3*rs3/rf)+p4*rs4/rf

NULL

a8 := 1+3*((p3*sigma3+p4*sigma4)/`&sigma;f`-p3-p4)/(2+(p3*sigma3+p4*sigma4)/((p3+p4)*`&sigma;f`)-((p3*sigma3+p4*sigma4)/`&sigma;f`-p3-p4))

NULL

a9 := (1-p4)*(1-p3+p3*rs3*cps3/(rf*cpf))+p4*rs4*cps4/(rf*cpf)

NULL

a10 := (ks3+2*kf-2*p3*(kf-ks3))*(ks4+2*kf*(ks3+2*kf-2*p3*(kf-ks3))/(ks3+2*kf+p3*(kf-ks3))-2*p4*(kf*(ks3+2*kf-2*p3*(kf-ks3))/(ks3+2*kf+p3*(kf-ks3))-ks4))/((ks3+2*kf+p3*(kf-ks3))*(ks4+2*kf*(ks3+2*kf-2*p3*(kf-ks3))/(ks3+2*kf+p3*(kf-ks3))+2*p4*(kf*(ks3+2*kf-2*p3*(kf-ks3))/(ks3+2*kf+p3*(kf-ks3))-ks4)))

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))*(diff(U(Y), Y))+(U(Y)*U(Y))*(kp*kp))/(a1*a2)

  Cond:= U(0) = lambda*(D(U))(0), Theta(0) = A+g*(D(Theta))(0),
              U(1) = 0, Theta(1) = B:

OdeSys1:= ((diff(V(Y),Y,Y))/(a6*a7)+Phi(Y)+N*(Phi(Y)*Phi(Y))-a8*(M*M)*V(Y)/a7-(kp*kp)*V(Y)/(a6*a7)),

              (a10*(diff(Phi(Y),Y,Y))/a9+Pr*Ec*((diff(V(Y),Y))*(diff(V(Y),Y))+(V(Y)*V(Y))*(kp*kp))/(a6*a7))
            :

Cond1 := V(0) = lambda*(D(V))(0), Phi(0) = A+g*(D(Phi))(0), V(1) = 0, Phi(1) = B

MVals := [1.5, 2, 2.5]

  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)*Theta(Y),
                          Ans[j]
                        )(Y),
                        Y = 0 .. 1
                      )
                      /
                      Int
                      ( eval
                        ( U(Y),
                          Ans[j]
                        )(Y),
                        Y = 0 .. 1
                      )
                    );
      Q_b[j] := evalf
                ( Int
                  ( eval
                    ( U(Y),
                      Ans[j]
                    )(Y),
                    Y = 0 .. 1
                  )
                );
  end do;

[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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = .384543666172668, (1, 2) = .769087332345336, (1, 3) = .1271962506860285, (1, 4) = .254392501372057, (2, 1) = .4260821882019736, (2, 2) = .7517937483328964, (2, 3) = .14067368884307255, (2, 4) = .2385419040911504, (3, 1) = .4752032351227977, (3, 2) = .73219566411512, (3, 3) = .15572420898808778, (3, 4) = .21528784513518767, (4, 1) = .5335169114600542, (4, 2) = .7106546143694159, (4, 3) = .17176376174005425, (4, 4) = .18013261552246781, (5, 1) = .5904752923919344, (5, 2) = .6919620129967218, (5, 3) = .1846790799115895, (5, 4) = .1362672078462761, (6, 1) = .6452651403308038, (6, 2) = .6764024397097296, (6, 3) = .19354482651235272, (6, 4) = 0.8336853543112971e-1, (7, 1) = .6978272438877963, (7, 2) = .6633049863423941, (7, 3) = .1977084977967344, (7, 4) = 0.20842795768575534e-1, (8, 1) = .7477413679759423, (8, 2) = .6512057589417302, (8, 3) = .19663152477796297, (8, 4) = -0.5123960203961868e-1, (9, 1) = .7948279330500817, (9, 2) = .6376028587359491, (9, 3) = .1899869458221597, (9, 4) = -.13285682154089845, (10, 1) = .8381726522110337, (10, 2) = .6193888478786621, (10, 3) = .17782411399265755, (10, 4) = -.22236350325777715, (11, 1) = .8775463299008882, (11, 2) = .5927599010956943, (11, 3) = .16033561156465828, (11, 4) = -.31903793489020166, (12, 1) = .9124486027609988, (12, 2) = .5538283765277259, (12, 3) = .1379078110752491, (12, 4) = -.42156997671080804, (13, 1) = .9425201377955026, (13, 2) = .49857618520360336, (13, 3) = .11089047055882938, (13, 4) = -.5291096683381383, (14, 1) = .9675706150102814, (14, 2) = .42200895294656243, (14, 3) = 0.7922428823277214e-1, (14, 4) = -.6421726084853554, (15, 1) = .987168391441018, (15, 2) = .31698660219812724, (15, 3) = 0.42308767297395564e-1, (15, 4) = -.7624673016376066, (16, 1) = 1.0, (16, 2) = .17642619863731782, (16, 3) = .0, (16, 4) = -.8895786845135738}, datatype = float[8], order = C_order); YP := Matrix(16, 4, {(1, 1) = .769087332345336, (1, 2) = -.32473734841345125, (1, 3) = .254392501372057, (1, 4) = -.2644666110484866, (2, 1) = .7517937483328964, (2, 2) = -.3078646799491068, (2, 3) = .2385419040911504, (2, 4) = -.31667479060377657, (3, 1) = .73219566411512, (3, 2) = -.2834075797314063, (3, 3) = .21528784513518767, (3, 4) = -.3870765470808817, (4, 1) = .7106546143694159, (4, 2) = -.2486902594861883, (4, 3) = .18013261552246781, (4, 4) = -.48475754083658384, (5, 1) = .6919620129967218, (5, 2) = -.21145555766776963, (5, 3) = .1362672078462761, (5, 4) = -.5977143826902659, (6, 1) = .6764024397097296, (6, 2) = -.17827626800800628, (6, 3) = 0.8336853543112971e-1, (6, 4) = -.7260132291654775, (7, 1) = .6633049863423941, (7, 2) = -.15865885363961216, (7, 3) = 0.20842795768575534e-1, (7, 4) = -.8707118891977348, (8, 1) = .6512057589417302, (8, 2) = -.1657496992466443, (8, 3) = -0.5123960203961868e-1, (8, 4) = -1.0313376527257088, (9, 1) = .6376028587359491, (9, 2) = -.215754348973268, (9, 3) = -.13285682154089845, (9, 4) = -1.2073528592209672, (10, 1) = .6193888478786621, (10, 2) = -.3254298700032625, (10, 3) = -.22236350325777715, (10, 4) = -1.3944169074219896, (11, 1) = .5927599010956943, (11, 2) = -.5117984616566477, (11, 3) = -.31903793489020166, (11, 4) = -1.5898283148341295, (12, 1) = .5538283765277259, (12, 2) = -.7897795108824485, (12, 3) = -.42156997671080804, (12, 4) = -1.789283376301027, (13, 1) = .49857618520360336, (13, 2) = -1.1732044184321782, (13, 3) = -.5291096683381383, (13, 4) = -1.989086676717795, (14, 1) = .42200895294656243, (14, 2) = -1.6806501250086532, (14, 3) = -.6421726084853554, (14, 4) = -2.1875940013738564, (15, 1) = .31698660219812724, (15, 2) = -2.3409450967674017, (15, 3) = -.7624673016376066, (15, 4) = -2.3841677694423136, (16, 1) = .17642619863731782, (16, 2) = -3.176744978491183, (16, 3) = -.8895786845135738, (16, 4) = -2.57338654103372}, 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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = -0.5523710667208361e-9, (1, 2) = -0.11047421334416721e-8, (1, 3) = -0.26963962098435524e-9, (1, 4) = -0.5392792419687105e-9, (2, 1) = -0.6157393438563923e-9, (2, 2) = -0.9245983272178812e-9, (2, 3) = -0.28592045315165633e-9, (2, 4) = -0.4756191787841836e-9, (3, 1) = -0.6966368914430611e-9, (3, 2) = -0.769076318259086e-9, (3, 3) = -0.28855717013026005e-9, (3, 4) = -0.36034745064368183e-9, (4, 1) = -0.8305952285213339e-9, (4, 2) = -0.7427520240050194e-9, (4, 3) = -0.2425908903676831e-9, (4, 4) = -0.10791525771390525e-9, (5, 1) = -0.957298201311312e-9, (5, 2) = -0.7397069493490133e-9, (5, 3) = -0.1660052081541245e-9, (5, 4) = 0.21632458193890313e-9, (6, 1) = -0.1048874370359277e-8, (6, 2) = -0.6716450908794731e-9, (6, 3) = -0.6880526075936594e-10, (6, 4) = 0.57436589371727e-9, (7, 1) = -0.10770022638668665e-8, (7, 2) = -0.4511009523418376e-9, (7, 3) = 0.3461215097768177e-10, (7, 4) = 0.9130387188926073e-9, (8, 1) = -0.10211103397689092e-8, (8, 2) = -0.26203588098980814e-10, (8, 3) = 0.12496753411810774e-9, (8, 4) = 0.11707590720403454e-8, (9, 1) = -0.8795838045794843e-9, (9, 2) = 0.5864800080224509e-9, (9, 3) = 0.18526156045201852e-9, (9, 4) = 0.12987545096509107e-8, (10, 1) = -0.68145685297871e-9, (10, 2) = 0.1280625930534759e-8, (10, 3) = 0.21270745234805326e-9, (10, 4) = 0.13043056016341826e-8, (11, 1) = -0.460133351272643e-9, (11, 2) = 0.19430022998344364e-8, (11, 3) = 0.2099278884825219e-9, (11, 4) = 0.12081188655798484e-8, (12, 1) = -0.24940851688881184e-9, (12, 2) = 0.2475542143645475e-8, (12, 3) = 0.18661786611892871e-9, (12, 4) = 0.10536547296536958e-8, (13, 1) = -0.7292911704462714e-10, (13, 2) = 0.2822996620719063e-8, (13, 3) = 0.151196443240506e-9, (13, 4) = 0.8779231605091437e-9, (14, 1) = 0.4866587571051667e-10, (14, 2) = 0.2944218058433679e-8, (14, 3) = 0.1059886287656999e-9, (14, 4) = 0.7037921234437735e-9, (15, 1) = 0.8172087978403404e-10, (15, 2) = 0.278082729992682e-8, (15, 3) = 0.5107372556370873e-10, (15, 4) = 0.5627167296356317e-9, (16, 1) = .0, (16, 2) = 0.236673358914859e-8, (16, 3) = .0, (16, 4) = 0.5234937216009373e-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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 16, [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[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(16, 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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 16, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 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`(16, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147971436052, (2) = 36893488147971436540, (3) = 36893488147971436716, (4) = 36893488147971436892, (5) = 36893488147971437068}), (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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = .384543666172668, (1, 2) = .769087332345336, (1, 3) = .1271962506860285, (1, 4) = .254392501372057, (2, 1) = .4260821882019736, (2, 2) = .7517937483328964, (2, 3) = .14067368884307255, (2, 4) = .2385419040911504, (3, 1) = .4752032351227977, (3, 2) = .73219566411512, (3, 3) = .15572420898808778, (3, 4) = .21528784513518767, (4, 1) = .5335169114600542, (4, 2) = .7106546143694159, (4, 3) = .17176376174005425, (4, 4) = .18013261552246781, (5, 1) = .5904752923919344, (5, 2) = .6919620129967218, (5, 3) = .1846790799115895, (5, 4) = .1362672078462761, (6, 1) = .6452651403308038, (6, 2) = .6764024397097296, (6, 3) = .19354482651235272, (6, 4) = 0.8336853543112971e-1, (7, 1) = .6978272438877963, (7, 2) = .6633049863423941, (7, 3) = .1977084977967344, (7, 4) = 0.20842795768575534e-1, (8, 1) = .7477413679759423, (8, 2) = .6512057589417302, (8, 3) = .19663152477796297, (8, 4) = -0.5123960203961868e-1, (9, 1) = .7948279330500817, (9, 2) = .6376028587359491, (9, 3) = .1899869458221597, (9, 4) = -.13285682154089845, (10, 1) = .8381726522110337, (10, 2) = .6193888478786621, (10, 3) = .17782411399265755, (10, 4) = -.22236350325777715, (11, 1) = .8775463299008882, (11, 2) = .5927599010956943, (11, 3) = .16033561156465828, (11, 4) = -.31903793489020166, (12, 1) = .9124486027609988, (12, 2) = .5538283765277259, (12, 3) = .1379078110752491, (12, 4) = -.42156997671080804, (13, 1) = .9425201377955026, (13, 2) = .49857618520360336, (13, 3) = .11089047055882938, (13, 4) = -.5291096683381383, (14, 1) = .9675706150102814, (14, 2) = .42200895294656243, (14, 3) = 0.7922428823277214e-1, (14, 4) = -.6421726084853554, (15, 1) = .987168391441018, (15, 2) = .31698660219812724, (15, 3) = 0.42308767297395564e-1, (15, 4) = -.7624673016376066, (16, 1) = 1.0, (16, 2) = .17642619863731782, (16, 3) = .0, (16, 4) = -.8895786845135738}, datatype = float[8], order = C_order); YP := Matrix(16, 4, {(1, 1) = .769087332345336, (1, 2) = -.32473734841345125, (1, 3) = .254392501372057, (1, 4) = -.2644666110484866, (2, 1) = .7517937483328964, (2, 2) = -.3078646799491068, (2, 3) = .2385419040911504, (2, 4) = -.31667479060377657, (3, 1) = .73219566411512, (3, 2) = -.2834075797314063, (3, 3) = .21528784513518767, (3, 4) = -.3870765470808817, (4, 1) = .7106546143694159, (4, 2) = -.2486902594861883, (4, 3) = .18013261552246781, (4, 4) = -.48475754083658384, (5, 1) = .6919620129967218, (5, 2) = -.21145555766776963, (5, 3) = .1362672078462761, (5, 4) = -.5977143826902659, (6, 1) = .6764024397097296, (6, 2) = -.17827626800800628, (6, 3) = 0.8336853543112971e-1, (6, 4) = -.7260132291654775, (7, 1) = .6633049863423941, (7, 2) = -.15865885363961216, (7, 3) = 0.20842795768575534e-1, (7, 4) = -.8707118891977348, (8, 1) = .6512057589417302, (8, 2) = -.1657496992466443, (8, 3) = -0.5123960203961868e-1, (8, 4) = -1.0313376527257088, (9, 1) = .6376028587359491, (9, 2) = -.215754348973268, (9, 3) = -.13285682154089845, (9, 4) = -1.2073528592209672, (10, 1) = .6193888478786621, (10, 2) = -.3254298700032625, (10, 3) = -.22236350325777715, (10, 4) = -1.3944169074219896, (11, 1) = .5927599010956943, (11, 2) = -.5117984616566477, (11, 3) = -.31903793489020166, (11, 4) = -1.5898283148341295, (12, 1) = .5538283765277259, (12, 2) = -.7897795108824485, (12, 3) = -.42156997671080804, (12, 4) = -1.789283376301027, (13, 1) = .49857618520360336, (13, 2) = -1.1732044184321782, (13, 3) = -.5291096683381383, (13, 4) = -1.989086676717795, (14, 1) = .42200895294656243, (14, 2) = -1.6806501250086532, (14, 3) = -.6421726084853554, (14, 4) = -2.1875940013738564, (15, 1) = .31698660219812724, (15, 2) = -2.3409450967674017, (15, 3) = -.7624673016376066, (15, 4) = -2.3841677694423136, (16, 1) = .17642619863731782, (16, 2) = -3.176744978491183, (16, 3) = -.8895786845135738, (16, 4) = -2.57338654103372}, 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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = -0.5523710667208361e-9, (1, 2) = -0.11047421334416721e-8, (1, 3) = -0.26963962098435524e-9, (1, 4) = -0.5392792419687105e-9, (2, 1) = -0.6157393438563923e-9, (2, 2) = -0.9245983272178812e-9, (2, 3) = -0.28592045315165633e-9, (2, 4) = -0.4756191787841836e-9, (3, 1) = -0.6966368914430611e-9, (3, 2) = -0.769076318259086e-9, (3, 3) = -0.28855717013026005e-9, (3, 4) = -0.36034745064368183e-9, (4, 1) = -0.8305952285213339e-9, (4, 2) = -0.7427520240050194e-9, (4, 3) = -0.2425908903676831e-9, (4, 4) = -0.10791525771390525e-9, (5, 1) = -0.957298201311312e-9, (5, 2) = -0.7397069493490133e-9, (5, 3) = -0.1660052081541245e-9, (5, 4) = 0.21632458193890313e-9, (6, 1) = -0.1048874370359277e-8, (6, 2) = -0.6716450908794731e-9, (6, 3) = -0.6880526075936594e-10, (6, 4) = 0.57436589371727e-9, (7, 1) = -0.10770022638668665e-8, (7, 2) = -0.4511009523418376e-9, (7, 3) = 0.3461215097768177e-10, (7, 4) = 0.9130387188926073e-9, (8, 1) = -0.10211103397689092e-8, (8, 2) = -0.26203588098980814e-10, (8, 3) = 0.12496753411810774e-9, (8, 4) = 0.11707590720403454e-8, (9, 1) = -0.8795838045794843e-9, (9, 2) = 0.5864800080224509e-9, (9, 3) = 0.18526156045201852e-9, (9, 4) = 0.12987545096509107e-8, (10, 1) = -0.68145685297871e-9, (10, 2) = 0.1280625930534759e-8, (10, 3) = 0.21270745234805326e-9, (10, 4) = 0.13043056016341826e-8, (11, 1) = -0.460133351272643e-9, (11, 2) = 0.19430022998344364e-8, (11, 3) = 0.2099278884825219e-9, (11, 4) = 0.12081188655798484e-8, (12, 1) = -0.24940851688881184e-9, (12, 2) = 0.2475542143645475e-8, (12, 3) = 0.18661786611892871e-9, (12, 4) = 0.10536547296536958e-8, (13, 1) = -0.7292911704462714e-10, (13, 2) = 0.2822996620719063e-8, (13, 3) = 0.151196443240506e-9, (13, 4) = 0.8779231605091437e-9, (14, 1) = 0.4866587571051667e-10, (14, 2) = 0.2944218058433679e-8, (14, 3) = 0.1059886287656999e-9, (14, 4) = 0.7037921234437735e-9, (15, 1) = 0.8172087978403404e-10, (15, 2) = 0.278082729992682e-8, (15, 3) = 0.5107372556370873e-10, (15, 4) = 0.5627167296356317e-9, (16, 1) = .0, (16, 2) = 0.236673358914859e-8, (16, 3) = .0, (16, 4) = 0.5234937216009373e-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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 16, [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[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(16, 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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 16, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 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`(16, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147971436052, (2) = 36893488147971436540, (3) = 36893488147971436716, (4) = 36893488147971436892, (5) = 36893488147971437068}), (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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = .384543666172668, (1, 2) = .769087332345336, (1, 3) = .1271962506860285, (1, 4) = .254392501372057, (2, 1) = .4260821882019736, (2, 2) = .7517937483328964, (2, 3) = .14067368884307255, (2, 4) = .2385419040911504, (3, 1) = .4752032351227977, (3, 2) = .73219566411512, (3, 3) = .15572420898808778, (3, 4) = .21528784513518767, (4, 1) = .5335169114600542, (4, 2) = .7106546143694159, (4, 3) = .17176376174005425, (4, 4) = .18013261552246781, (5, 1) = .5904752923919344, (5, 2) = .6919620129967218, (5, 3) = .1846790799115895, (5, 4) = .1362672078462761, (6, 1) = .6452651403308038, (6, 2) = .6764024397097296, (6, 3) = .19354482651235272, (6, 4) = 0.8336853543112971e-1, (7, 1) = .6978272438877963, (7, 2) = .6633049863423941, (7, 3) = .1977084977967344, (7, 4) = 0.20842795768575534e-1, (8, 1) = .7477413679759423, (8, 2) = .6512057589417302, (8, 3) = .19663152477796297, (8, 4) = -0.5123960203961868e-1, (9, 1) = .7948279330500817, (9, 2) = .6376028587359491, (9, 3) = .1899869458221597, (9, 4) = -.13285682154089845, (10, 1) = .8381726522110337, (10, 2) = .6193888478786621, (10, 3) = .17782411399265755, (10, 4) = -.22236350325777715, (11, 1) = .8775463299008882, (11, 2) = .5927599010956943, (11, 3) = .16033561156465828, (11, 4) = -.31903793489020166, (12, 1) = .9124486027609988, (12, 2) = .5538283765277259, (12, 3) = .1379078110752491, (12, 4) = -.42156997671080804, (13, 1) = .9425201377955026, (13, 2) = .49857618520360336, (13, 3) = .11089047055882938, (13, 4) = -.5291096683381383, (14, 1) = .9675706150102814, (14, 2) = .42200895294656243, (14, 3) = 0.7922428823277214e-1, (14, 4) = -.6421726084853554, (15, 1) = .987168391441018, (15, 2) = .31698660219812724, (15, 3) = 0.42308767297395564e-1, (15, 4) = -.7624673016376066, (16, 1) = 1.0, (16, 2) = .17642619863731782, (16, 3) = .0, (16, 4) = -.8895786845135738}, datatype = float[8], order = C_order); YP := Matrix(16, 4, {(1, 1) = .769087332345336, (1, 2) = -.32473734841345125, (1, 3) = .254392501372057, (1, 4) = -.2644666110484866, (2, 1) = .7517937483328964, (2, 2) = -.3078646799491068, (2, 3) = .2385419040911504, (2, 4) = -.31667479060377657, (3, 1) = .73219566411512, (3, 2) = -.2834075797314063, (3, 3) = .21528784513518767, (3, 4) = -.3870765470808817, (4, 1) = .7106546143694159, (4, 2) = -.2486902594861883, (4, 3) = .18013261552246781, (4, 4) = -.48475754083658384, (5, 1) = .6919620129967218, (5, 2) = -.21145555766776963, (5, 3) = .1362672078462761, (5, 4) = -.5977143826902659, (6, 1) = .6764024397097296, (6, 2) = -.17827626800800628, (6, 3) = 0.8336853543112971e-1, (6, 4) = -.7260132291654775, (7, 1) = .6633049863423941, (7, 2) = -.15865885363961216, (7, 3) = 0.20842795768575534e-1, (7, 4) = -.8707118891977348, (8, 1) = .6512057589417302, (8, 2) = -.1657496992466443, (8, 3) = -0.5123960203961868e-1, (8, 4) = -1.0313376527257088, (9, 1) = .6376028587359491, (9, 2) = -.215754348973268, (9, 3) = -.13285682154089845, (9, 4) = -1.2073528592209672, (10, 1) = .6193888478786621, (10, 2) = -.3254298700032625, (10, 3) = -.22236350325777715, (10, 4) = -1.3944169074219896, (11, 1) = .5927599010956943, (11, 2) = -.5117984616566477, (11, 3) = -.31903793489020166, (11, 4) = -1.5898283148341295, (12, 1) = .5538283765277259, (12, 2) = -.7897795108824485, (12, 3) = -.42156997671080804, (12, 4) = -1.789283376301027, (13, 1) = .49857618520360336, (13, 2) = -1.1732044184321782, (13, 3) = -.5291096683381383, (13, 4) = -1.989086676717795, (14, 1) = .42200895294656243, (14, 2) = -1.6806501250086532, (14, 3) = -.6421726084853554, (14, 4) = -2.1875940013738564, (15, 1) = .31698660219812724, (15, 2) = -2.3409450967674017, (15, 3) = -.7624673016376066, (15, 4) = -2.3841677694423136, (16, 1) = .17642619863731782, (16, 2) = -3.176744978491183, (16, 3) = -.8895786845135738, (16, 4) = -2.57338654103372}, 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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = -0.5523710667208361e-9, (1, 2) = -0.11047421334416721e-8, (1, 3) = -0.26963962098435524e-9, (1, 4) = -0.5392792419687105e-9, (2, 1) = -0.6157393438563923e-9, (2, 2) = -0.9245983272178812e-9, (2, 3) = -0.28592045315165633e-9, (2, 4) = -0.4756191787841836e-9, (3, 1) = -0.6966368914430611e-9, (3, 2) = -0.769076318259086e-9, (3, 3) = -0.28855717013026005e-9, (3, 4) = -0.36034745064368183e-9, (4, 1) = -0.8305952285213339e-9, (4, 2) = -0.7427520240050194e-9, (4, 3) = -0.2425908903676831e-9, (4, 4) = -0.10791525771390525e-9, (5, 1) = -0.957298201311312e-9, (5, 2) = -0.7397069493490133e-9, (5, 3) = -0.1660052081541245e-9, (5, 4) = 0.21632458193890313e-9, (6, 1) = -0.1048874370359277e-8, (6, 2) = -0.6716450908794731e-9, (6, 3) = -0.6880526075936594e-10, (6, 4) = 0.57436589371727e-9, (7, 1) = -0.10770022638668665e-8, (7, 2) = -0.4511009523418376e-9, (7, 3) = 0.3461215097768177e-10, (7, 4) = 0.9130387188926073e-9, (8, 1) = -0.10211103397689092e-8, (8, 2) = -0.26203588098980814e-10, (8, 3) = 0.12496753411810774e-9, (8, 4) = 0.11707590720403454e-8, (9, 1) = -0.8795838045794843e-9, (9, 2) = 0.5864800080224509e-9, (9, 3) = 0.18526156045201852e-9, (9, 4) = 0.12987545096509107e-8, (10, 1) = -0.68145685297871e-9, (10, 2) = 0.1280625930534759e-8, (10, 3) = 0.21270745234805326e-9, (10, 4) = 0.13043056016341826e-8, (11, 1) = -0.460133351272643e-9, (11, 2) = 0.19430022998344364e-8, (11, 3) = 0.2099278884825219e-9, (11, 4) = 0.12081188655798484e-8, (12, 1) = -0.24940851688881184e-9, (12, 2) = 0.2475542143645475e-8, (12, 3) = 0.18661786611892871e-9, (12, 4) = 0.10536547296536958e-8, (13, 1) = -0.7292911704462714e-10, (13, 2) = 0.2822996620719063e-8, (13, 3) = 0.151196443240506e-9, (13, 4) = 0.8779231605091437e-9, (14, 1) = 0.4866587571051667e-10, (14, 2) = 0.2944218058433679e-8, (14, 3) = 0.1059886287656999e-9, (14, 4) = 0.7037921234437735e-9, (15, 1) = 0.8172087978403404e-10, (15, 2) = 0.278082729992682e-8, (15, 3) = 0.5107372556370873e-10, (15, 4) = 0.5627167296356317e-9, (16, 1) = .0, (16, 2) = 0.236673358914859e-8, (16, 3) = .0, (16, 4) = 0.5234937216009373e-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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 16, [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[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(16, 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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 16, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 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`(16, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147971436052, (2) = 36893488147971436540, (3) = 36893488147971436716, (4) = 36893488147971436892, (5) = 36893488147971437068}), (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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = .384543666172668, (1, 2) = .769087332345336, (1, 3) = .1271962506860285, (1, 4) = .254392501372057, (2, 1) = .4260821882019736, (2, 2) = .7517937483328964, (2, 3) = .14067368884307255, (2, 4) = .2385419040911504, (3, 1) = .4752032351227977, (3, 2) = .73219566411512, (3, 3) = .15572420898808778, (3, 4) = .21528784513518767, (4, 1) = .5335169114600542, (4, 2) = .7106546143694159, (4, 3) = .17176376174005425, (4, 4) = .18013261552246781, (5, 1) = .5904752923919344, (5, 2) = .6919620129967218, (5, 3) = .1846790799115895, (5, 4) = .1362672078462761, (6, 1) = .6452651403308038, (6, 2) = .6764024397097296, (6, 3) = .19354482651235272, (6, 4) = 0.8336853543112971e-1, (7, 1) = .6978272438877963, (7, 2) = .6633049863423941, (7, 3) = .1977084977967344, (7, 4) = 0.20842795768575534e-1, (8, 1) = .7477413679759423, (8, 2) = .6512057589417302, (8, 3) = .19663152477796297, (8, 4) = -0.5123960203961868e-1, (9, 1) = .7948279330500817, (9, 2) = .6376028587359491, (9, 3) = .1899869458221597, (9, 4) = -.13285682154089845, (10, 1) = .8381726522110337, (10, 2) = .6193888478786621, (10, 3) = .17782411399265755, (10, 4) = -.22236350325777715, (11, 1) = .8775463299008882, (11, 2) = .5927599010956943, (11, 3) = .16033561156465828, (11, 4) = -.31903793489020166, (12, 1) = .9124486027609988, (12, 2) = .5538283765277259, (12, 3) = .1379078110752491, (12, 4) = -.42156997671080804, (13, 1) = .9425201377955026, (13, 2) = .49857618520360336, (13, 3) = .11089047055882938, (13, 4) = -.5291096683381383, (14, 1) = .9675706150102814, (14, 2) = .42200895294656243, (14, 3) = 0.7922428823277214e-1, (14, 4) = -.6421726084853554, (15, 1) = .987168391441018, (15, 2) = .31698660219812724, (15, 3) = 0.42308767297395564e-1, (15, 4) = -.7624673016376066, (16, 1) = 1.0, (16, 2) = .17642619863731782, (16, 3) = .0, (16, 4) = -.8895786845135738}, datatype = float[8], order = C_order); YP := Matrix(16, 4, {(1, 1) = .769087332345336, (1, 2) = -.32473734841345125, (1, 3) = .254392501372057, (1, 4) = -.2644666110484866, (2, 1) = .7517937483328964, (2, 2) = -.3078646799491068, (2, 3) = .2385419040911504, (2, 4) = -.31667479060377657, (3, 1) = .73219566411512, (3, 2) = -.2834075797314063, (3, 3) = .21528784513518767, (3, 4) = -.3870765470808817, (4, 1) = .7106546143694159, (4, 2) = -.2486902594861883, (4, 3) = .18013261552246781, (4, 4) = -.48475754083658384, (5, 1) = .6919620129967218, (5, 2) = -.21145555766776963, (5, 3) = .1362672078462761, (5, 4) = -.5977143826902659, (6, 1) = .6764024397097296, (6, 2) = -.17827626800800628, (6, 3) = 0.8336853543112971e-1, (6, 4) = -.7260132291654775, (7, 1) = .6633049863423941, (7, 2) = -.15865885363961216, (7, 3) = 0.20842795768575534e-1, (7, 4) = -.8707118891977348, (8, 1) = .6512057589417302, (8, 2) = -.1657496992466443, (8, 3) = -0.5123960203961868e-1, (8, 4) = -1.0313376527257088, (9, 1) = .6376028587359491, (9, 2) = -.215754348973268, (9, 3) = -.13285682154089845, (9, 4) = -1.2073528592209672, (10, 1) = .6193888478786621, (10, 2) = -.3254298700032625, (10, 3) = -.22236350325777715, (10, 4) = -1.3944169074219896, (11, 1) = .5927599010956943, (11, 2) = -.5117984616566477, (11, 3) = -.31903793489020166, (11, 4) = -1.5898283148341295, (12, 1) = .5538283765277259, (12, 2) = -.7897795108824485, (12, 3) = -.42156997671080804, (12, 4) = -1.789283376301027, (13, 1) = .49857618520360336, (13, 2) = -1.1732044184321782, (13, 3) = -.5291096683381383, (13, 4) = -1.989086676717795, (14, 1) = .42200895294656243, (14, 2) = -1.6806501250086532, (14, 3) = -.6421726084853554, (14, 4) = -2.1875940013738564, (15, 1) = .31698660219812724, (15, 2) = -2.3409450967674017, (15, 3) = -.7624673016376066, (15, 4) = -2.3841677694423136, (16, 1) = .17642619863731782, (16, 2) = -3.176744978491183, (16, 3) = -.8895786845135738, (16, 4) = -2.57338654103372}, 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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = -0.5523710667208361e-9, (1, 2) = -0.11047421334416721e-8, (1, 3) = -0.26963962098435524e-9, (1, 4) = -0.5392792419687105e-9, (2, 1) = -0.6157393438563923e-9, (2, 2) = -0.9245983272178812e-9, (2, 3) = -0.28592045315165633e-9, (2, 4) = -0.4756191787841836e-9, (3, 1) = -0.6966368914430611e-9, (3, 2) = -0.769076318259086e-9, (3, 3) = -0.28855717013026005e-9, (3, 4) = -0.36034745064368183e-9, (4, 1) = -0.8305952285213339e-9, (4, 2) = -0.7427520240050194e-9, (4, 3) = -0.2425908903676831e-9, (4, 4) = -0.10791525771390525e-9, (5, 1) = -0.957298201311312e-9, (5, 2) = -0.7397069493490133e-9, (5, 3) = -0.1660052081541245e-9, (5, 4) = 0.21632458193890313e-9, (6, 1) = -0.1048874370359277e-8, (6, 2) = -0.6716450908794731e-9, (6, 3) = -0.6880526075936594e-10, (6, 4) = 0.57436589371727e-9, (7, 1) = -0.10770022638668665e-8, (7, 2) = -0.4511009523418376e-9, (7, 3) = 0.3461215097768177e-10, (7, 4) = 0.9130387188926073e-9, (8, 1) = -0.10211103397689092e-8, (8, 2) = -0.26203588098980814e-10, (8, 3) = 0.12496753411810774e-9, (8, 4) = 0.11707590720403454e-8, (9, 1) = -0.8795838045794843e-9, (9, 2) = 0.5864800080224509e-9, (9, 3) = 0.18526156045201852e-9, (9, 4) = 0.12987545096509107e-8, (10, 1) = -0.68145685297871e-9, (10, 2) = 0.1280625930534759e-8, (10, 3) = 0.21270745234805326e-9, (10, 4) = 0.13043056016341826e-8, (11, 1) = -0.460133351272643e-9, (11, 2) = 0.19430022998344364e-8, (11, 3) = 0.2099278884825219e-9, (11, 4) = 0.12081188655798484e-8, (12, 1) = -0.24940851688881184e-9, (12, 2) = 0.2475542143645475e-8, (12, 3) = 0.18661786611892871e-9, (12, 4) = 0.10536547296536958e-8, (13, 1) = -0.7292911704462714e-10, (13, 2) = 0.2822996620719063e-8, (13, 3) = 0.151196443240506e-9, (13, 4) = 0.8779231605091437e-9, (14, 1) = 0.4866587571051667e-10, (14, 2) = 0.2944218058433679e-8, (14, 3) = 0.1059886287656999e-9, (14, 4) = 0.7037921234437735e-9, (15, 1) = 0.8172087978403404e-10, (15, 2) = 0.278082729992682e-8, (15, 3) = 0.5107372556370873e-10, (15, 4) = 0.5627167296356317e-9, (16, 1) = .0, (16, 2) = 0.236673358914859e-8, (16, 3) = .0, (16, 4) = 0.5234937216009373e-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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 16, [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[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(16, 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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 16, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 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`(16, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147971436052, (2) = 36893488147971436540, (3) = 36893488147971436716, (4) = 36893488147971436892, (5) = 36893488147971437068}), (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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = .384543666172668, (1, 2) = .769087332345336, (1, 3) = .1271962506860285, (1, 4) = .254392501372057, (2, 1) = .4260821882019736, (2, 2) = .7517937483328964, (2, 3) = .14067368884307255, (2, 4) = .2385419040911504, (3, 1) = .4752032351227977, (3, 2) = .73219566411512, (3, 3) = .15572420898808778, (3, 4) = .21528784513518767, (4, 1) = .5335169114600542, (4, 2) = .7106546143694159, (4, 3) = .17176376174005425, (4, 4) = .18013261552246781, (5, 1) = .5904752923919344, (5, 2) = .6919620129967218, (5, 3) = .1846790799115895, (5, 4) = .1362672078462761, (6, 1) = .6452651403308038, (6, 2) = .6764024397097296, (6, 3) = .19354482651235272, (6, 4) = 0.8336853543112971e-1, (7, 1) = .6978272438877963, (7, 2) = .6633049863423941, (7, 3) = .1977084977967344, (7, 4) = 0.20842795768575534e-1, (8, 1) = .7477413679759423, (8, 2) = .6512057589417302, (8, 3) = .19663152477796297, (8, 4) = -0.5123960203961868e-1, (9, 1) = .7948279330500817, (9, 2) = .6376028587359491, (9, 3) = .1899869458221597, (9, 4) = -.13285682154089845, (10, 1) = .8381726522110337, (10, 2) = .6193888478786621, (10, 3) = .17782411399265755, (10, 4) = -.22236350325777715, (11, 1) = .8775463299008882, (11, 2) = .5927599010956943, (11, 3) = .16033561156465828, (11, 4) = -.31903793489020166, (12, 1) = .9124486027609988, (12, 2) = .5538283765277259, (12, 3) = .1379078110752491, (12, 4) = -.42156997671080804, (13, 1) = .9425201377955026, (13, 2) = .49857618520360336, (13, 3) = .11089047055882938, (13, 4) = -.5291096683381383, (14, 1) = .9675706150102814, (14, 2) = .42200895294656243, (14, 3) = 0.7922428823277214e-1, (14, 4) = -.6421726084853554, (15, 1) = .987168391441018, (15, 2) = .31698660219812724, (15, 3) = 0.42308767297395564e-1, (15, 4) = -.7624673016376066, (16, 1) = 1.0, (16, 2) = .17642619863731782, (16, 3) = .0, (16, 4) = -.8895786845135738}, datatype = float[8], order = C_order); YP := Matrix(16, 4, {(1, 1) = .769087332345336, (1, 2) = -.32473734841345125, (1, 3) = .254392501372057, (1, 4) = -.2644666110484866, (2, 1) = .7517937483328964, (2, 2) = -.3078646799491068, (2, 3) = .2385419040911504, (2, 4) = -.31667479060377657, (3, 1) = .73219566411512, (3, 2) = -.2834075797314063, (3, 3) = .21528784513518767, (3, 4) = -.3870765470808817, (4, 1) = .7106546143694159, (4, 2) = -.2486902594861883, (4, 3) = .18013261552246781, (4, 4) = -.48475754083658384, (5, 1) = .6919620129967218, (5, 2) = -.21145555766776963, (5, 3) = .1362672078462761, (5, 4) = -.5977143826902659, (6, 1) = .6764024397097296, (6, 2) = -.17827626800800628, (6, 3) = 0.8336853543112971e-1, (6, 4) = -.7260132291654775, (7, 1) = .6633049863423941, (7, 2) = -.15865885363961216, (7, 3) = 0.20842795768575534e-1, (7, 4) = -.8707118891977348, (8, 1) = .6512057589417302, (8, 2) = -.1657496992466443, (8, 3) = -0.5123960203961868e-1, (8, 4) = -1.0313376527257088, (9, 1) = .6376028587359491, (9, 2) = -.215754348973268, (9, 3) = -.13285682154089845, (9, 4) = -1.2073528592209672, (10, 1) = .6193888478786621, (10, 2) = -.3254298700032625, (10, 3) = -.22236350325777715, (10, 4) = -1.3944169074219896, (11, 1) = .5927599010956943, (11, 2) = -.5117984616566477, (11, 3) = -.31903793489020166, (11, 4) = -1.5898283148341295, (12, 1) = .5538283765277259, (12, 2) = -.7897795108824485, (12, 3) = -.42156997671080804, (12, 4) = -1.789283376301027, (13, 1) = .49857618520360336, (13, 2) = -1.1732044184321782, (13, 3) = -.5291096683381383, (13, 4) = -1.989086676717795, (14, 1) = .42200895294656243, (14, 2) = -1.6806501250086532, (14, 3) = -.6421726084853554, (14, 4) = -2.1875940013738564, (15, 1) = .31698660219812724, (15, 2) = -2.3409450967674017, (15, 3) = -.7624673016376066, (15, 4) = -2.3841677694423136, (16, 1) = .17642619863731782, (16, 2) = -3.176744978491183, (16, 3) = -.8895786845135738, (16, 4) = -2.57338654103372}, 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(16, {(1) = .0, (2) = 0.54629805275167434e-1, (3) = .12084319763390025, (4) = .20170067711950024, (5) = .28294727825174615, (6) = .36305411920203595, (7) = .44153737085819583, (8) = .5174757034820687, (9) = .5905114185112597, (10) = .6594085082062686, (11) = .7242661329472421, (12) = .7849976326995103, (13) = .8419492247795055, (14) = .8961030587927246, (15) = .9487299460217871, (16) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(16, 4, {(1, 1) = -0.5523710667208361e-9, (1, 2) = -0.11047421334416721e-8, (1, 3) = -0.26963962098435524e-9, (1, 4) = -0.5392792419687105e-9, (2, 1) = -0.6157393438563923e-9, (2, 2) = -0.9245983272178812e-9, (2, 3) = -0.28592045315165633e-9, (2, 4) = -0.4756191787841836e-9, (3, 1) = -0.6966368914430611e-9, (3, 2) = -0.769076318259086e-9, (3, 3) = -0.28855717013026005e-9, (3, 4) = -0.36034745064368183e-9, (4, 1) = -0.8305952285213339e-9, (4, 2) = -0.7427520240050194e-9, (4, 3) = -0.2425908903676831e-9, (4, 4) = -0.10791525771390525e-9, (5, 1) = -0.957298201311312e-9, (5, 2) = -0.7397069493490133e-9, (5, 3) = -0.1660052081541245e-9, (5, 4) = 0.21632458193890313e-9, (6, 1) = -0.1048874370359277e-8, (6, 2) = -0.6716450908794731e-9, (6, 3) = -0.6880526075936594e-10, (6, 4) = 0.57436589371727e-9, (7, 1) = -0.10770022638668665e-8, (7, 2) = -0.4511009523418376e-9, (7, 3) = 0.3461215097768177e-10, (7, 4) = 0.9130387188926073e-9, (8, 1) = -0.10211103397689092e-8, (8, 2) = -0.26203588098980814e-10, (8, 3) = 0.12496753411810774e-9, (8, 4) = 0.11707590720403454e-8, (9, 1) = -0.8795838045794843e-9, (9, 2) = 0.5864800080224509e-9, (9, 3) = 0.18526156045201852e-9, (9, 4) = 0.12987545096509107e-8, (10, 1) = -0.68145685297871e-9, (10, 2) = 0.1280625930534759e-8, (10, 3) = 0.21270745234805326e-9, (10, 4) = 0.13043056016341826e-8, (11, 1) = -0.460133351272643e-9, (11, 2) = 0.19430022998344364e-8, (11, 3) = 0.2099278884825219e-9, (11, 4) = 0.12081188655798484e-8, (12, 1) = -0.24940851688881184e-9, (12, 2) = 0.2475542143645475e-8, (12, 3) = 0.18661786611892871e-9, (12, 4) = 0.10536547296536958e-8, (13, 1) = -0.7292911704462714e-10, (13, 2) = 0.2822996620719063e-8, (13, 3) = 0.151196443240506e-9, (13, 4) = 0.8779231605091437e-9, (14, 1) = 0.4866587571051667e-10, (14, 2) = 0.2944218058433679e-8, (14, 3) = 0.1059886287656999e-9, (14, 4) = 0.7037921234437735e-9, (15, 1) = 0.8172087978403404e-10, (15, 2) = 0.278082729992682e-8, (15, 3) = 0.5107372556370873e-10, (15, 4) = 0.5627167296356317e-9, (16, 1) = .0, (16, 2) = 0.236673358914859e-8, (16, 3) = .0, (16, 4) = 0.5234937216009373e-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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 16, [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[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(16, 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[16] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.944218058433679e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 16, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[16] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[16] 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`(16, 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`(16, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147971436052, (2) = 36893488147971436540, (3) = 36893488147971436716, (4) = 36893488147971436892, (5) = 36893488147971437068}), (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.697603880532939)

 

HFloat(0.15405130961646962)

 

[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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = .36531165486449185, (1, 2) = .7306233097289837, (1, 3) = 0.9682127100769392e-1, (1, 4) = .19364254201538783, (2, 1) = .41289501000478096, (2, 2) = .718467876397281, (2, 3) = .10918855418408692, (2, 4) = .1824675380601875, (3, 1) = .47024619984810884, (3, 2) = .7042979008975719, (3, 3) = .12320151227522264, (3, 4) = .1642183614428613, (4, 1) = .5335224576787265, (4, 2) = .6897697362041088, (4, 3) = .13691432536325962, (4, 4) = .13642220473370853, (5, 1) = .5951010563987799, (5, 2) = .6772668242487073, (5, 3) = .14762253234563916, (5, 4) = 0.9952745355782924e-1, (6, 1) = .6547215356476412, (6, 2) = .6669347511216006, (6, 3) = .1544378371084248, (6, 4) = 0.5205822577563323e-1, (7, 1) = .7121144167848508, (7, 2) = .6581888388471798, (7, 3) = .15647725131298004, (7, 4) = -0.7347172561527592e-2, (8, 1) = .7667913446363562, (8, 2) = .6493601687652167, (8, 3) = .15295537754851116, (8, 4) = -0.7957279412530668e-1, (9, 1) = .8178035213693529, (9, 2) = .6375156114185013, (9, 3) = .14341085650392546, (9, 4) = -.16426208437903794, (10, 1) = .8647270769625032, (10, 2) = .6183585424052034, (10, 3) = .1276492169887935, (10, 4) = -.26121653298536646, (11, 1) = .9068609348458414, (11, 2) = .5866389689763243, (11, 3) = .1057566625291855, (11, 4) = -.3694656936012331, (12, 1) = .9438049155355319, (12, 2) = .5359124791481735, (12, 3) = 0.777120763772602e-1, (12, 4) = -.4889558373570332, (13, 1) = .975357164180454, (13, 2) = .4566993036928795, (13, 3) = 0.42701838861026103e-1, (13, 4) = -.6223106380301171, (14, 1) = 1.0, (14, 2) = .3369638396540598, (14, 3) = .0, (14, 4) = -.7707466247387982}, datatype = float[8], order = C_order); YP := Matrix(14, 4, {(1, 1) = .7306233097289837, (1, 2) = -.18815907926111763, (1, 3) = .19364254201538783, (1, 4) = -.1479021021235848, (2, 1) = .718467876397281, (2, 2) = -.18151435204588326, (2, 3) = .1824675380601875, (2, 4) = -.19369155155722573, (3, 1) = .7042979008975719, (3, 2) = -.16918929996192675, (3, 3) = .1642183614428613, (3, 4) = -.26117928214325825, (4, 1) = .6897697362041088, (4, 2) = -.14996170926028074, (4, 3) = .13642220473370853, (4, 4) = -.3543756867376687, (5, 1) = .6772668242487073, (5, 2) = -.12724689807399986, (5, 3) = 0.9952745355782924e-1, (5, 4) = -.4684132623504763, (6, 1) = .6669347511216006, (6, 2) = -.10662517201470326, (6, 3) = 0.5205822577563323e-1, (6, 4) = -.6062418066634085, (7, 1) = .6581888388471798, (7, 2) = -0.9850821355263047e-1, (7, 3) = -0.7347172561527592e-2, (7, 4) = -.7706232182244108, (8, 1) = .6493601687652167, (8, 2) = -.11933484852016213, (8, 3) = -0.7957279412530668e-1, (8, 4) = -.9629842331097386, (9, 1) = .6375156114185013, (9, 2) = -.1908764369614947, (9, 3) = -.16426208437903794, (9, 4) = -1.1813129164459082, (10, 1) = .6183585424052034, (10, 2) = -.33932531652856107, (10, 3) = -.26121653298536646, (10, 4) = -1.4236690936832015, (11, 1) = .5866389689763243, (11, 2) = -.5928746142252015, (11, 3) = -.3694656936012331, (11, 4) = -1.6855931271043931, (12, 1) = .5359124791481735, (12, 2) = -.9839816716890175, (12, 3) = -.4889558373570332, (12, 4) = -1.9641476729577971, (13, 1) = .4566993036928795, (13, 2) = -1.5619535854598188, (13, 3) = -.6223106380301171, (13, 4) = -2.2612360962710807, (14, 1) = .3369638396540598, (14, 2) = -2.3847171719303897, (14, 3) = -.7707466247387982, (14, 4) = -2.57338654103372}, 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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = 0.3085152021612341e-10, (1, 2) = 0.6170304043224682e-10, (1, 3) = -0.1766625970018477e-9, (1, 4) = -0.3533251940036954e-9, (2, 1) = 0.4007933044100584e-10, (2, 2) = 0.2477625164702909e-9, (2, 3) = -0.19285380024877951e-9, (2, 4) = -0.3823153448293175e-9, (3, 1) = 0.2534957292126147e-10, (3, 2) = 0.3891366058403213e-9, (3, 3) = -0.1901205914709734e-9, (3, 4) = -0.3536846880971569e-9, (4, 1) = -0.7028771249106767e-10, (4, 2) = 0.32192551873865947e-9, (4, 3) = -0.11582889123333185e-9, (4, 4) = -0.12023994406690137e-9, (5, 1) = -0.19313504812116738e-9, (5, 2) = 0.15614502125620848e-9, (5, 3) = 0.11106841445354337e-10, (5, 4) = 0.2554746141304082e-9, (6, 1) = -0.31162964550981474e-9, (6, 2) = -0.3704909185900961e-11, (6, 3) = 0.1842779718312295e-9, (6, 4) = 0.7424850177420777e-9, (7, 1) = -0.37208587971155556e-9, (7, 2) = 0.48749224411776274e-11, (7, 3) = 0.37692829186160853e-9, (7, 4) = 0.12418450202947215e-8, (8, 1) = -0.32209453272329477e-9, (8, 2) = 0.3207096212299892e-9, (8, 3) = 0.5433847696390304e-9, (8, 4) = 0.16036200873369144e-8, (9, 1) = -0.1545185102633329e-9, (9, 2) = 0.9305019287741167e-9, (9, 3) = 0.6432668977904621e-9, (9, 4) = 0.1719606778595859e-8, (10, 1) = 0.8704085830454706e-10, (10, 2) = 0.16570541586815437e-8, (10, 3) = 0.6587972592694492e-9, (10, 4) = 0.15635655215593584e-8, (11, 1) = 0.3262438085589816e-9, (11, 2) = 0.22405702981872977e-8, (11, 3) = 0.5978091574798625e-9, (11, 4) = 0.1203045429549585e-8, (12, 1) = 0.4819354628123843e-9, (12, 2) = 0.24232759124694118e-8, (12, 3) = 0.4712148920379753e-9, (12, 4) = 0.7178490355558668e-9, (13, 1) = 0.43205552579359214e-9, (13, 2) = 0.18375814870238288e-8, (13, 3) = 0.2664408487251764e-9, (13, 4) = 0.15479926006320276e-9, (14, 1) = .0, (14, 2) = 0.135019512254802e-9, (14, 3) = .0, (14, 4) = -0.29234215873687406e-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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 14, [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[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(14, 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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 14, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 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`(14, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147945961884, (2) = 36893488147945962060, (3) = 36893488147945962236, (4) = 36893488147945962412, (5) = 36893488147945962588}), (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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = .36531165486449185, (1, 2) = .7306233097289837, (1, 3) = 0.9682127100769392e-1, (1, 4) = .19364254201538783, (2, 1) = .41289501000478096, (2, 2) = .718467876397281, (2, 3) = .10918855418408692, (2, 4) = .1824675380601875, (3, 1) = .47024619984810884, (3, 2) = .7042979008975719, (3, 3) = .12320151227522264, (3, 4) = .1642183614428613, (4, 1) = .5335224576787265, (4, 2) = .6897697362041088, (4, 3) = .13691432536325962, (4, 4) = .13642220473370853, (5, 1) = .5951010563987799, (5, 2) = .6772668242487073, (5, 3) = .14762253234563916, (5, 4) = 0.9952745355782924e-1, (6, 1) = .6547215356476412, (6, 2) = .6669347511216006, (6, 3) = .1544378371084248, (6, 4) = 0.5205822577563323e-1, (7, 1) = .7121144167848508, (7, 2) = .6581888388471798, (7, 3) = .15647725131298004, (7, 4) = -0.7347172561527592e-2, (8, 1) = .7667913446363562, (8, 2) = .6493601687652167, (8, 3) = .15295537754851116, (8, 4) = -0.7957279412530668e-1, (9, 1) = .8178035213693529, (9, 2) = .6375156114185013, (9, 3) = .14341085650392546, (9, 4) = -.16426208437903794, (10, 1) = .8647270769625032, (10, 2) = .6183585424052034, (10, 3) = .1276492169887935, (10, 4) = -.26121653298536646, (11, 1) = .9068609348458414, (11, 2) = .5866389689763243, (11, 3) = .1057566625291855, (11, 4) = -.3694656936012331, (12, 1) = .9438049155355319, (12, 2) = .5359124791481735, (12, 3) = 0.777120763772602e-1, (12, 4) = -.4889558373570332, (13, 1) = .975357164180454, (13, 2) = .4566993036928795, (13, 3) = 0.42701838861026103e-1, (13, 4) = -.6223106380301171, (14, 1) = 1.0, (14, 2) = .3369638396540598, (14, 3) = .0, (14, 4) = -.7707466247387982}, datatype = float[8], order = C_order); YP := Matrix(14, 4, {(1, 1) = .7306233097289837, (1, 2) = -.18815907926111763, (1, 3) = .19364254201538783, (1, 4) = -.1479021021235848, (2, 1) = .718467876397281, (2, 2) = -.18151435204588326, (2, 3) = .1824675380601875, (2, 4) = -.19369155155722573, (3, 1) = .7042979008975719, (3, 2) = -.16918929996192675, (3, 3) = .1642183614428613, (3, 4) = -.26117928214325825, (4, 1) = .6897697362041088, (4, 2) = -.14996170926028074, (4, 3) = .13642220473370853, (4, 4) = -.3543756867376687, (5, 1) = .6772668242487073, (5, 2) = -.12724689807399986, (5, 3) = 0.9952745355782924e-1, (5, 4) = -.4684132623504763, (6, 1) = .6669347511216006, (6, 2) = -.10662517201470326, (6, 3) = 0.5205822577563323e-1, (6, 4) = -.6062418066634085, (7, 1) = .6581888388471798, (7, 2) = -0.9850821355263047e-1, (7, 3) = -0.7347172561527592e-2, (7, 4) = -.7706232182244108, (8, 1) = .6493601687652167, (8, 2) = -.11933484852016213, (8, 3) = -0.7957279412530668e-1, (8, 4) = -.9629842331097386, (9, 1) = .6375156114185013, (9, 2) = -.1908764369614947, (9, 3) = -.16426208437903794, (9, 4) = -1.1813129164459082, (10, 1) = .6183585424052034, (10, 2) = -.33932531652856107, (10, 3) = -.26121653298536646, (10, 4) = -1.4236690936832015, (11, 1) = .5866389689763243, (11, 2) = -.5928746142252015, (11, 3) = -.3694656936012331, (11, 4) = -1.6855931271043931, (12, 1) = .5359124791481735, (12, 2) = -.9839816716890175, (12, 3) = -.4889558373570332, (12, 4) = -1.9641476729577971, (13, 1) = .4566993036928795, (13, 2) = -1.5619535854598188, (13, 3) = -.6223106380301171, (13, 4) = -2.2612360962710807, (14, 1) = .3369638396540598, (14, 2) = -2.3847171719303897, (14, 3) = -.7707466247387982, (14, 4) = -2.57338654103372}, 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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = 0.3085152021612341e-10, (1, 2) = 0.6170304043224682e-10, (1, 3) = -0.1766625970018477e-9, (1, 4) = -0.3533251940036954e-9, (2, 1) = 0.4007933044100584e-10, (2, 2) = 0.2477625164702909e-9, (2, 3) = -0.19285380024877951e-9, (2, 4) = -0.3823153448293175e-9, (3, 1) = 0.2534957292126147e-10, (3, 2) = 0.3891366058403213e-9, (3, 3) = -0.1901205914709734e-9, (3, 4) = -0.3536846880971569e-9, (4, 1) = -0.7028771249106767e-10, (4, 2) = 0.32192551873865947e-9, (4, 3) = -0.11582889123333185e-9, (4, 4) = -0.12023994406690137e-9, (5, 1) = -0.19313504812116738e-9, (5, 2) = 0.15614502125620848e-9, (5, 3) = 0.11106841445354337e-10, (5, 4) = 0.2554746141304082e-9, (6, 1) = -0.31162964550981474e-9, (6, 2) = -0.3704909185900961e-11, (6, 3) = 0.1842779718312295e-9, (6, 4) = 0.7424850177420777e-9, (7, 1) = -0.37208587971155556e-9, (7, 2) = 0.48749224411776274e-11, (7, 3) = 0.37692829186160853e-9, (7, 4) = 0.12418450202947215e-8, (8, 1) = -0.32209453272329477e-9, (8, 2) = 0.3207096212299892e-9, (8, 3) = 0.5433847696390304e-9, (8, 4) = 0.16036200873369144e-8, (9, 1) = -0.1545185102633329e-9, (9, 2) = 0.9305019287741167e-9, (9, 3) = 0.6432668977904621e-9, (9, 4) = 0.1719606778595859e-8, (10, 1) = 0.8704085830454706e-10, (10, 2) = 0.16570541586815437e-8, (10, 3) = 0.6587972592694492e-9, (10, 4) = 0.15635655215593584e-8, (11, 1) = 0.3262438085589816e-9, (11, 2) = 0.22405702981872977e-8, (11, 3) = 0.5978091574798625e-9, (11, 4) = 0.1203045429549585e-8, (12, 1) = 0.4819354628123843e-9, (12, 2) = 0.24232759124694118e-8, (12, 3) = 0.4712148920379753e-9, (12, 4) = 0.7178490355558668e-9, (13, 1) = 0.43205552579359214e-9, (13, 2) = 0.18375814870238288e-8, (13, 3) = 0.2664408487251764e-9, (13, 4) = 0.15479926006320276e-9, (14, 1) = .0, (14, 2) = 0.135019512254802e-9, (14, 3) = .0, (14, 4) = -0.29234215873687406e-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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 14, [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[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(14, 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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 14, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 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`(14, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147945961884, (2) = 36893488147945962060, (3) = 36893488147945962236, (4) = 36893488147945962412, (5) = 36893488147945962588}), (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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = .36531165486449185, (1, 2) = .7306233097289837, (1, 3) = 0.9682127100769392e-1, (1, 4) = .19364254201538783, (2, 1) = .41289501000478096, (2, 2) = .718467876397281, (2, 3) = .10918855418408692, (2, 4) = .1824675380601875, (3, 1) = .47024619984810884, (3, 2) = .7042979008975719, (3, 3) = .12320151227522264, (3, 4) = .1642183614428613, (4, 1) = .5335224576787265, (4, 2) = .6897697362041088, (4, 3) = .13691432536325962, (4, 4) = .13642220473370853, (5, 1) = .5951010563987799, (5, 2) = .6772668242487073, (5, 3) = .14762253234563916, (5, 4) = 0.9952745355782924e-1, (6, 1) = .6547215356476412, (6, 2) = .6669347511216006, (6, 3) = .1544378371084248, (6, 4) = 0.5205822577563323e-1, (7, 1) = .7121144167848508, (7, 2) = .6581888388471798, (7, 3) = .15647725131298004, (7, 4) = -0.7347172561527592e-2, (8, 1) = .7667913446363562, (8, 2) = .6493601687652167, (8, 3) = .15295537754851116, (8, 4) = -0.7957279412530668e-1, (9, 1) = .8178035213693529, (9, 2) = .6375156114185013, (9, 3) = .14341085650392546, (9, 4) = -.16426208437903794, (10, 1) = .8647270769625032, (10, 2) = .6183585424052034, (10, 3) = .1276492169887935, (10, 4) = -.26121653298536646, (11, 1) = .9068609348458414, (11, 2) = .5866389689763243, (11, 3) = .1057566625291855, (11, 4) = -.3694656936012331, (12, 1) = .9438049155355319, (12, 2) = .5359124791481735, (12, 3) = 0.777120763772602e-1, (12, 4) = -.4889558373570332, (13, 1) = .975357164180454, (13, 2) = .4566993036928795, (13, 3) = 0.42701838861026103e-1, (13, 4) = -.6223106380301171, (14, 1) = 1.0, (14, 2) = .3369638396540598, (14, 3) = .0, (14, 4) = -.7707466247387982}, datatype = float[8], order = C_order); YP := Matrix(14, 4, {(1, 1) = .7306233097289837, (1, 2) = -.18815907926111763, (1, 3) = .19364254201538783, (1, 4) = -.1479021021235848, (2, 1) = .718467876397281, (2, 2) = -.18151435204588326, (2, 3) = .1824675380601875, (2, 4) = -.19369155155722573, (3, 1) = .7042979008975719, (3, 2) = -.16918929996192675, (3, 3) = .1642183614428613, (3, 4) = -.26117928214325825, (4, 1) = .6897697362041088, (4, 2) = -.14996170926028074, (4, 3) = .13642220473370853, (4, 4) = -.3543756867376687, (5, 1) = .6772668242487073, (5, 2) = -.12724689807399986, (5, 3) = 0.9952745355782924e-1, (5, 4) = -.4684132623504763, (6, 1) = .6669347511216006, (6, 2) = -.10662517201470326, (6, 3) = 0.5205822577563323e-1, (6, 4) = -.6062418066634085, (7, 1) = .6581888388471798, (7, 2) = -0.9850821355263047e-1, (7, 3) = -0.7347172561527592e-2, (7, 4) = -.7706232182244108, (8, 1) = .6493601687652167, (8, 2) = -.11933484852016213, (8, 3) = -0.7957279412530668e-1, (8, 4) = -.9629842331097386, (9, 1) = .6375156114185013, (9, 2) = -.1908764369614947, (9, 3) = -.16426208437903794, (9, 4) = -1.1813129164459082, (10, 1) = .6183585424052034, (10, 2) = -.33932531652856107, (10, 3) = -.26121653298536646, (10, 4) = -1.4236690936832015, (11, 1) = .5866389689763243, (11, 2) = -.5928746142252015, (11, 3) = -.3694656936012331, (11, 4) = -1.6855931271043931, (12, 1) = .5359124791481735, (12, 2) = -.9839816716890175, (12, 3) = -.4889558373570332, (12, 4) = -1.9641476729577971, (13, 1) = .4566993036928795, (13, 2) = -1.5619535854598188, (13, 3) = -.6223106380301171, (13, 4) = -2.2612360962710807, (14, 1) = .3369638396540598, (14, 2) = -2.3847171719303897, (14, 3) = -.7707466247387982, (14, 4) = -2.57338654103372}, 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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = 0.3085152021612341e-10, (1, 2) = 0.6170304043224682e-10, (1, 3) = -0.1766625970018477e-9, (1, 4) = -0.3533251940036954e-9, (2, 1) = 0.4007933044100584e-10, (2, 2) = 0.2477625164702909e-9, (2, 3) = -0.19285380024877951e-9, (2, 4) = -0.3823153448293175e-9, (3, 1) = 0.2534957292126147e-10, (3, 2) = 0.3891366058403213e-9, (3, 3) = -0.1901205914709734e-9, (3, 4) = -0.3536846880971569e-9, (4, 1) = -0.7028771249106767e-10, (4, 2) = 0.32192551873865947e-9, (4, 3) = -0.11582889123333185e-9, (4, 4) = -0.12023994406690137e-9, (5, 1) = -0.19313504812116738e-9, (5, 2) = 0.15614502125620848e-9, (5, 3) = 0.11106841445354337e-10, (5, 4) = 0.2554746141304082e-9, (6, 1) = -0.31162964550981474e-9, (6, 2) = -0.3704909185900961e-11, (6, 3) = 0.1842779718312295e-9, (6, 4) = 0.7424850177420777e-9, (7, 1) = -0.37208587971155556e-9, (7, 2) = 0.48749224411776274e-11, (7, 3) = 0.37692829186160853e-9, (7, 4) = 0.12418450202947215e-8, (8, 1) = -0.32209453272329477e-9, (8, 2) = 0.3207096212299892e-9, (8, 3) = 0.5433847696390304e-9, (8, 4) = 0.16036200873369144e-8, (9, 1) = -0.1545185102633329e-9, (9, 2) = 0.9305019287741167e-9, (9, 3) = 0.6432668977904621e-9, (9, 4) = 0.1719606778595859e-8, (10, 1) = 0.8704085830454706e-10, (10, 2) = 0.16570541586815437e-8, (10, 3) = 0.6587972592694492e-9, (10, 4) = 0.15635655215593584e-8, (11, 1) = 0.3262438085589816e-9, (11, 2) = 0.22405702981872977e-8, (11, 3) = 0.5978091574798625e-9, (11, 4) = 0.1203045429549585e-8, (12, 1) = 0.4819354628123843e-9, (12, 2) = 0.24232759124694118e-8, (12, 3) = 0.4712148920379753e-9, (12, 4) = 0.7178490355558668e-9, (13, 1) = 0.43205552579359214e-9, (13, 2) = 0.18375814870238288e-8, (13, 3) = 0.2664408487251764e-9, (13, 4) = 0.15479926006320276e-9, (14, 1) = .0, (14, 2) = 0.135019512254802e-9, (14, 3) = .0, (14, 4) = -0.29234215873687406e-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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 14, [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[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(14, 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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 14, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 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`(14, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147945961884, (2) = 36893488147945962060, (3) = 36893488147945962236, (4) = 36893488147945962412, (5) = 36893488147945962588}), (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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = .36531165486449185, (1, 2) = .7306233097289837, (1, 3) = 0.9682127100769392e-1, (1, 4) = .19364254201538783, (2, 1) = .41289501000478096, (2, 2) = .718467876397281, (2, 3) = .10918855418408692, (2, 4) = .1824675380601875, (3, 1) = .47024619984810884, (3, 2) = .7042979008975719, (3, 3) = .12320151227522264, (3, 4) = .1642183614428613, (4, 1) = .5335224576787265, (4, 2) = .6897697362041088, (4, 3) = .13691432536325962, (4, 4) = .13642220473370853, (5, 1) = .5951010563987799, (5, 2) = .6772668242487073, (5, 3) = .14762253234563916, (5, 4) = 0.9952745355782924e-1, (6, 1) = .6547215356476412, (6, 2) = .6669347511216006, (6, 3) = .1544378371084248, (6, 4) = 0.5205822577563323e-1, (7, 1) = .7121144167848508, (7, 2) = .6581888388471798, (7, 3) = .15647725131298004, (7, 4) = -0.7347172561527592e-2, (8, 1) = .7667913446363562, (8, 2) = .6493601687652167, (8, 3) = .15295537754851116, (8, 4) = -0.7957279412530668e-1, (9, 1) = .8178035213693529, (9, 2) = .6375156114185013, (9, 3) = .14341085650392546, (9, 4) = -.16426208437903794, (10, 1) = .8647270769625032, (10, 2) = .6183585424052034, (10, 3) = .1276492169887935, (10, 4) = -.26121653298536646, (11, 1) = .9068609348458414, (11, 2) = .5866389689763243, (11, 3) = .1057566625291855, (11, 4) = -.3694656936012331, (12, 1) = .9438049155355319, (12, 2) = .5359124791481735, (12, 3) = 0.777120763772602e-1, (12, 4) = -.4889558373570332, (13, 1) = .975357164180454, (13, 2) = .4566993036928795, (13, 3) = 0.42701838861026103e-1, (13, 4) = -.6223106380301171, (14, 1) = 1.0, (14, 2) = .3369638396540598, (14, 3) = .0, (14, 4) = -.7707466247387982}, datatype = float[8], order = C_order); YP := Matrix(14, 4, {(1, 1) = .7306233097289837, (1, 2) = -.18815907926111763, (1, 3) = .19364254201538783, (1, 4) = -.1479021021235848, (2, 1) = .718467876397281, (2, 2) = -.18151435204588326, (2, 3) = .1824675380601875, (2, 4) = -.19369155155722573, (3, 1) = .7042979008975719, (3, 2) = -.16918929996192675, (3, 3) = .1642183614428613, (3, 4) = -.26117928214325825, (4, 1) = .6897697362041088, (4, 2) = -.14996170926028074, (4, 3) = .13642220473370853, (4, 4) = -.3543756867376687, (5, 1) = .6772668242487073, (5, 2) = -.12724689807399986, (5, 3) = 0.9952745355782924e-1, (5, 4) = -.4684132623504763, (6, 1) = .6669347511216006, (6, 2) = -.10662517201470326, (6, 3) = 0.5205822577563323e-1, (6, 4) = -.6062418066634085, (7, 1) = .6581888388471798, (7, 2) = -0.9850821355263047e-1, (7, 3) = -0.7347172561527592e-2, (7, 4) = -.7706232182244108, (8, 1) = .6493601687652167, (8, 2) = -.11933484852016213, (8, 3) = -0.7957279412530668e-1, (8, 4) = -.9629842331097386, (9, 1) = .6375156114185013, (9, 2) = -.1908764369614947, (9, 3) = -.16426208437903794, (9, 4) = -1.1813129164459082, (10, 1) = .6183585424052034, (10, 2) = -.33932531652856107, (10, 3) = -.26121653298536646, (10, 4) = -1.4236690936832015, (11, 1) = .5866389689763243, (11, 2) = -.5928746142252015, (11, 3) = -.3694656936012331, (11, 4) = -1.6855931271043931, (12, 1) = .5359124791481735, (12, 2) = -.9839816716890175, (12, 3) = -.4889558373570332, (12, 4) = -1.9641476729577971, (13, 1) = .4566993036928795, (13, 2) = -1.5619535854598188, (13, 3) = -.6223106380301171, (13, 4) = -2.2612360962710807, (14, 1) = .3369638396540598, (14, 2) = -2.3847171719303897, (14, 3) = -.7707466247387982, (14, 4) = -2.57338654103372}, 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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = 0.3085152021612341e-10, (1, 2) = 0.6170304043224682e-10, (1, 3) = -0.1766625970018477e-9, (1, 4) = -0.3533251940036954e-9, (2, 1) = 0.4007933044100584e-10, (2, 2) = 0.2477625164702909e-9, (2, 3) = -0.19285380024877951e-9, (2, 4) = -0.3823153448293175e-9, (3, 1) = 0.2534957292126147e-10, (3, 2) = 0.3891366058403213e-9, (3, 3) = -0.1901205914709734e-9, (3, 4) = -0.3536846880971569e-9, (4, 1) = -0.7028771249106767e-10, (4, 2) = 0.32192551873865947e-9, (4, 3) = -0.11582889123333185e-9, (4, 4) = -0.12023994406690137e-9, (5, 1) = -0.19313504812116738e-9, (5, 2) = 0.15614502125620848e-9, (5, 3) = 0.11106841445354337e-10, (5, 4) = 0.2554746141304082e-9, (6, 1) = -0.31162964550981474e-9, (6, 2) = -0.3704909185900961e-11, (6, 3) = 0.1842779718312295e-9, (6, 4) = 0.7424850177420777e-9, (7, 1) = -0.37208587971155556e-9, (7, 2) = 0.48749224411776274e-11, (7, 3) = 0.37692829186160853e-9, (7, 4) = 0.12418450202947215e-8, (8, 1) = -0.32209453272329477e-9, (8, 2) = 0.3207096212299892e-9, (8, 3) = 0.5433847696390304e-9, (8, 4) = 0.16036200873369144e-8, (9, 1) = -0.1545185102633329e-9, (9, 2) = 0.9305019287741167e-9, (9, 3) = 0.6432668977904621e-9, (9, 4) = 0.1719606778595859e-8, (10, 1) = 0.8704085830454706e-10, (10, 2) = 0.16570541586815437e-8, (10, 3) = 0.6587972592694492e-9, (10, 4) = 0.15635655215593584e-8, (11, 1) = 0.3262438085589816e-9, (11, 2) = 0.22405702981872977e-8, (11, 3) = 0.5978091574798625e-9, (11, 4) = 0.1203045429549585e-8, (12, 1) = 0.4819354628123843e-9, (12, 2) = 0.24232759124694118e-8, (12, 3) = 0.4712148920379753e-9, (12, 4) = 0.7178490355558668e-9, (13, 1) = 0.43205552579359214e-9, (13, 2) = 0.18375814870238288e-8, (13, 3) = 0.2664408487251764e-9, (13, 4) = 0.15479926006320276e-9, (14, 1) = .0, (14, 2) = 0.135019512254802e-9, (14, 3) = .0, (14, 4) = -0.29234215873687406e-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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 14, [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[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(14, 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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 14, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 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`(14, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147945961884, (2) = 36893488147945962060, (3) = 36893488147945962236, (4) = 36893488147945962412, (5) = 36893488147945962588}), (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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = .36531165486449185, (1, 2) = .7306233097289837, (1, 3) = 0.9682127100769392e-1, (1, 4) = .19364254201538783, (2, 1) = .41289501000478096, (2, 2) = .718467876397281, (2, 3) = .10918855418408692, (2, 4) = .1824675380601875, (3, 1) = .47024619984810884, (3, 2) = .7042979008975719, (3, 3) = .12320151227522264, (3, 4) = .1642183614428613, (4, 1) = .5335224576787265, (4, 2) = .6897697362041088, (4, 3) = .13691432536325962, (4, 4) = .13642220473370853, (5, 1) = .5951010563987799, (5, 2) = .6772668242487073, (5, 3) = .14762253234563916, (5, 4) = 0.9952745355782924e-1, (6, 1) = .6547215356476412, (6, 2) = .6669347511216006, (6, 3) = .1544378371084248, (6, 4) = 0.5205822577563323e-1, (7, 1) = .7121144167848508, (7, 2) = .6581888388471798, (7, 3) = .15647725131298004, (7, 4) = -0.7347172561527592e-2, (8, 1) = .7667913446363562, (8, 2) = .6493601687652167, (8, 3) = .15295537754851116, (8, 4) = -0.7957279412530668e-1, (9, 1) = .8178035213693529, (9, 2) = .6375156114185013, (9, 3) = .14341085650392546, (9, 4) = -.16426208437903794, (10, 1) = .8647270769625032, (10, 2) = .6183585424052034, (10, 3) = .1276492169887935, (10, 4) = -.26121653298536646, (11, 1) = .9068609348458414, (11, 2) = .5866389689763243, (11, 3) = .1057566625291855, (11, 4) = -.3694656936012331, (12, 1) = .9438049155355319, (12, 2) = .5359124791481735, (12, 3) = 0.777120763772602e-1, (12, 4) = -.4889558373570332, (13, 1) = .975357164180454, (13, 2) = .4566993036928795, (13, 3) = 0.42701838861026103e-1, (13, 4) = -.6223106380301171, (14, 1) = 1.0, (14, 2) = .3369638396540598, (14, 3) = .0, (14, 4) = -.7707466247387982}, datatype = float[8], order = C_order); YP := Matrix(14, 4, {(1, 1) = .7306233097289837, (1, 2) = -.18815907926111763, (1, 3) = .19364254201538783, (1, 4) = -.1479021021235848, (2, 1) = .718467876397281, (2, 2) = -.18151435204588326, (2, 3) = .1824675380601875, (2, 4) = -.19369155155722573, (3, 1) = .7042979008975719, (3, 2) = -.16918929996192675, (3, 3) = .1642183614428613, (3, 4) = -.26117928214325825, (4, 1) = .6897697362041088, (4, 2) = -.14996170926028074, (4, 3) = .13642220473370853, (4, 4) = -.3543756867376687, (5, 1) = .6772668242487073, (5, 2) = -.12724689807399986, (5, 3) = 0.9952745355782924e-1, (5, 4) = -.4684132623504763, (6, 1) = .6669347511216006, (6, 2) = -.10662517201470326, (6, 3) = 0.5205822577563323e-1, (6, 4) = -.6062418066634085, (7, 1) = .6581888388471798, (7, 2) = -0.9850821355263047e-1, (7, 3) = -0.7347172561527592e-2, (7, 4) = -.7706232182244108, (8, 1) = .6493601687652167, (8, 2) = -.11933484852016213, (8, 3) = -0.7957279412530668e-1, (8, 4) = -.9629842331097386, (9, 1) = .6375156114185013, (9, 2) = -.1908764369614947, (9, 3) = -.16426208437903794, (9, 4) = -1.1813129164459082, (10, 1) = .6183585424052034, (10, 2) = -.33932531652856107, (10, 3) = -.26121653298536646, (10, 4) = -1.4236690936832015, (11, 1) = .5866389689763243, (11, 2) = -.5928746142252015, (11, 3) = -.3694656936012331, (11, 4) = -1.6855931271043931, (12, 1) = .5359124791481735, (12, 2) = -.9839816716890175, (12, 3) = -.4889558373570332, (12, 4) = -1.9641476729577971, (13, 1) = .4566993036928795, (13, 2) = -1.5619535854598188, (13, 3) = -.6223106380301171, (13, 4) = -2.2612360962710807, (14, 1) = .3369638396540598, (14, 2) = -2.3847171719303897, (14, 3) = -.7707466247387982, (14, 4) = -2.57338654103372}, 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(14, {(1) = .0, (2) = 0.6567666964522932e-1, (3) = .14630535472945816, (4) = .23710365910466408, (5) = .32721687177053255, (6) = .41594481755647267, (7) = .5025754473277998, (8) = .5861900023693453, (9) = .6654130192834129, (10) = .7400304505073271, (11) = .8097922732423917, (12) = .8753647237882862, (13) = .9385522806494491, (14) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(14, 4, {(1, 1) = 0.3085152021612341e-10, (1, 2) = 0.6170304043224682e-10, (1, 3) = -0.1766625970018477e-9, (1, 4) = -0.3533251940036954e-9, (2, 1) = 0.4007933044100584e-10, (2, 2) = 0.2477625164702909e-9, (2, 3) = -0.19285380024877951e-9, (2, 4) = -0.3823153448293175e-9, (3, 1) = 0.2534957292126147e-10, (3, 2) = 0.3891366058403213e-9, (3, 3) = -0.1901205914709734e-9, (3, 4) = -0.3536846880971569e-9, (4, 1) = -0.7028771249106767e-10, (4, 2) = 0.32192551873865947e-9, (4, 3) = -0.11582889123333185e-9, (4, 4) = -0.12023994406690137e-9, (5, 1) = -0.19313504812116738e-9, (5, 2) = 0.15614502125620848e-9, (5, 3) = 0.11106841445354337e-10, (5, 4) = 0.2554746141304082e-9, (6, 1) = -0.31162964550981474e-9, (6, 2) = -0.3704909185900961e-11, (6, 3) = 0.1842779718312295e-9, (6, 4) = 0.7424850177420777e-9, (7, 1) = -0.37208587971155556e-9, (7, 2) = 0.48749224411776274e-11, (7, 3) = 0.37692829186160853e-9, (7, 4) = 0.12418450202947215e-8, (8, 1) = -0.32209453272329477e-9, (8, 2) = 0.3207096212299892e-9, (8, 3) = 0.5433847696390304e-9, (8, 4) = 0.16036200873369144e-8, (9, 1) = -0.1545185102633329e-9, (9, 2) = 0.9305019287741167e-9, (9, 3) = 0.6432668977904621e-9, (9, 4) = 0.1719606778595859e-8, (10, 1) = 0.8704085830454706e-10, (10, 2) = 0.16570541586815437e-8, (10, 3) = 0.6587972592694492e-9, (10, 4) = 0.15635655215593584e-8, (11, 1) = 0.3262438085589816e-9, (11, 2) = 0.22405702981872977e-8, (11, 3) = 0.5978091574798625e-9, (11, 4) = 0.1203045429549585e-8, (12, 1) = 0.4819354628123843e-9, (12, 2) = 0.24232759124694118e-8, (12, 3) = 0.4712148920379753e-9, (12, 4) = 0.7178490355558668e-9, (13, 1) = 0.43205552579359214e-9, (13, 2) = 0.18375814870238288e-8, (13, 3) = 0.2664408487251764e-9, (13, 4) = 0.15479926006320276e-9, (14, 1) = .0, (14, 2) = 0.135019512254802e-9, (14, 3) = .0, (14, 4) = -0.29234215873687406e-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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 14, [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[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(14, 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[14] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(2.4232759124694118e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 14, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[14] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[14] 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`(14, 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`(14, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147945961884, (2) = 36893488147945962060, (3) = 36893488147945962236, (4) = 36893488147945962412, (5) = 36893488147945962588}), (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.679286821740152)

 

HFloat(0.12212804204300587)

 

[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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .35377285308454487, (1, 2) = .7075457061690897, (1, 3) = 0.7406242819797852e-1, (1, 4) = .14812485639595704, (2, 1) = .41014855033178327, (2, 2) = .6987282678002367, (2, 3) = 0.8567936229689786e-1, (2, 4) = .1410944181667205, (3, 1) = .47870203223233027, (3, 2) = .6881288721647487, (3, 3) = 0.989909349352116e-1, (3, 4) = .1270665276688175, (4, 1) = .5499541037171046, (4, 2) = .6778031057301678, (4, 3) = .11112115951702516, (4, 4) = .10377162398387198, (5, 1) = .6195547808536616, (5, 2) = .6689963266405138, (5, 3) = .12017591896222084, (5, 4) = 0.692171820538062e-1, (6, 1) = .6871283420498032, (6, 2) = .6618810074882052, (6, 3) = .1248729581519247, (6, 4) = 0.2047420294478041e-1, (7, 1) = .7519040842899835, (7, 2) = .6555382573421484, (7, 3) = .12382925029627875, (7, 4) = -0.45156841140105174e-1, (8, 1) = .8126250278769924, (8, 2) = .6471724589082719, (8, 3) = .11589543707261325, (8, 4) = -.12917760707311676, (9, 1) = .8685634035396789, (9, 2) = .6314983390616825, (9, 3) = .10028388874237036, (9, 4) = -.23272115173480284, (10, 1) = .9187635540195175, (10, 2) = .6006761250816522, (10, 3) = 0.7656654087612846e-1, (10, 4) = -.3559855928563839, (11, 1) = .9630203242958632, (11, 2) = .54273147220266, (11, 3) = 0.4373151470083172e-1, (11, 4) = -.502180173111615, (12, 1) = 1.0, (12, 2) = .4388314056912532, (12, 3) = .0, (12, 4) = -.6763311277772065}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .7075457061690897, (1, 2) = -.11009802123140593, (1, 3) = .14812485639595704, (1, 4) = -0.6762976127288478e-1, (2, 1) = .6987282678002367, (2, 2) = -.10938496135590242, (2, 3) = .1410944181667205, (2, 4) = -.10953120063298705, (3, 1) = .6881288721647487, (3, 2) = -.1041523546847557, (3, 3) = .1270665276688175, (3, 4) = -.1775385977376922, (4, 1) = .6778031057301678, (4, 2) = -0.927972234798455e-1, (4, 3) = .10377162398387198, (4, 4) = -.27367249928217197, (5, 1) = .6689963266405138, (5, 2) = -0.7720878878911869e-1, (5, 3) = 0.692171820538062e-1, (5, 4) = -.400890805052426, (6, 1) = .6618810074882052, (6, 2) = -0.642793336956672e-1, (6, 3) = 0.2047420294478041e-1, (6, 4) = -.5666562538626241, (7, 1) = .6555382573421484, (7, 2) = -0.6974033418681913e-1, (7, 3) = -0.45156841140105174e-1, (7, 4) = -.7776721718753054, (8, 1) = .6471724589082719, (8, 2) = -.12090617734514347, (8, 3) = -.12917760707311676, (8, 4) = -1.0368051141543724, (9, 1) = .6314983390616825, (9, 2) = -.2577845098421486, (9, 3) = -.23272115173480284, (9, 4) = -1.3454247426611543, (10, 1) = .6006761250816522, (10, 2) = -.5322533664115292, (10, 3) = -.3559855928563839, (10, 4) = -1.701146192926604, (11, 1) = .54273147220266, (11, 2) = -1.0200319817426176, (11, 3) = -.502180173111615, (11, 4) = -2.108468457277955, (12, 1) = .4388314056912532, (12, 2) = -1.8362523645122633, (12, 3) = -.6763311277772065, (12, 4) = -2.57338654103372}, 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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.6739539944173645e-9, (1, 2) = 0.1347907988834729e-8, (1, 3) = -0.27403171906523084e-9, (1, 4) = -0.5480634381304617e-9, (2, 1) = 0.8246154016106003e-9, (2, 2) = 0.177916788606642e-8, (2, 3) = -0.34929800292899786e-9, (2, 4) = -0.9141915461485723e-9, (3, 1) = 0.933175966836673e-9, (3, 2) = 0.2210305967249187e-8, (3, 3) = -0.41598186437903125e-9, (3, 4) = -0.12539937864473478e-8, (4, 1) = 0.8764780945487576e-9, (4, 2) = 0.22797840288268566e-8, (4, 3) = -0.3587358787818573e-9, (4, 4) = -0.11731322051014227e-8, (5, 1) = 0.6641942931892729e-9, (5, 2) = 0.19520610214544366e-8, (5, 3) = -0.14595717115728755e-9, (5, 4) = -0.5658001203543722e-9, (6, 1) = 0.3429508608302301e-9, (6, 2) = 0.13623018949216881e-8, (6, 3) = 0.25388696007728585e-9, (6, 4) = 0.630291251000569e-9, (7, 1) = 0.8778693810386955e-10, (7, 2) = 0.10050955482189945e-8, (7, 3) = 0.7649805508250406e-9, (7, 4) = 0.20974591182450872e-8, (8, 1) = 0.9363060560285047e-10, (8, 2) = 0.1393065766162641e-8, (8, 3) = 0.1208669135084663e-8, (8, 4) = 0.32129897380129895e-8, (9, 1) = 0.3858916209315626e-9, (9, 2) = 0.24757657030368293e-8, (9, 3) = 0.14349799154447168e-8, (9, 4) = 0.35109199994376865e-8, (10, 1) = 0.7840465902641735e-9, (10, 2) = 0.35352461714892476e-8, (10, 3) = 0.13739465204430303e-8, (10, 4) = 0.28868252750431286e-8, (11, 1) = 0.9225136097963133e-9, (11, 2) = 0.31297445084711146e-8, (11, 3) = 0.9406218111166506e-9, (11, 4) = 0.12708340613089756e-8, (12, 1) = .0, (12, 2) = -0.15378841881379982e-8, (12, 3) = .0, (12, 4) = -0.12377795845377845e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [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[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147946194828, (2) = 36893488147946195004, (3) = 36893488147946195180, (4) = 36893488147946195356, (5) = 36893488147946195532}), (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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .35377285308454487, (1, 2) = .7075457061690897, (1, 3) = 0.7406242819797852e-1, (1, 4) = .14812485639595704, (2, 1) = .41014855033178327, (2, 2) = .6987282678002367, (2, 3) = 0.8567936229689786e-1, (2, 4) = .1410944181667205, (3, 1) = .47870203223233027, (3, 2) = .6881288721647487, (3, 3) = 0.989909349352116e-1, (3, 4) = .1270665276688175, (4, 1) = .5499541037171046, (4, 2) = .6778031057301678, (4, 3) = .11112115951702516, (4, 4) = .10377162398387198, (5, 1) = .6195547808536616, (5, 2) = .6689963266405138, (5, 3) = .12017591896222084, (5, 4) = 0.692171820538062e-1, (6, 1) = .6871283420498032, (6, 2) = .6618810074882052, (6, 3) = .1248729581519247, (6, 4) = 0.2047420294478041e-1, (7, 1) = .7519040842899835, (7, 2) = .6555382573421484, (7, 3) = .12382925029627875, (7, 4) = -0.45156841140105174e-1, (8, 1) = .8126250278769924, (8, 2) = .6471724589082719, (8, 3) = .11589543707261325, (8, 4) = -.12917760707311676, (9, 1) = .8685634035396789, (9, 2) = .6314983390616825, (9, 3) = .10028388874237036, (9, 4) = -.23272115173480284, (10, 1) = .9187635540195175, (10, 2) = .6006761250816522, (10, 3) = 0.7656654087612846e-1, (10, 4) = -.3559855928563839, (11, 1) = .9630203242958632, (11, 2) = .54273147220266, (11, 3) = 0.4373151470083172e-1, (11, 4) = -.502180173111615, (12, 1) = 1.0, (12, 2) = .4388314056912532, (12, 3) = .0, (12, 4) = -.6763311277772065}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .7075457061690897, (1, 2) = -.11009802123140593, (1, 3) = .14812485639595704, (1, 4) = -0.6762976127288478e-1, (2, 1) = .6987282678002367, (2, 2) = -.10938496135590242, (2, 3) = .1410944181667205, (2, 4) = -.10953120063298705, (3, 1) = .6881288721647487, (3, 2) = -.1041523546847557, (3, 3) = .1270665276688175, (3, 4) = -.1775385977376922, (4, 1) = .6778031057301678, (4, 2) = -0.927972234798455e-1, (4, 3) = .10377162398387198, (4, 4) = -.27367249928217197, (5, 1) = .6689963266405138, (5, 2) = -0.7720878878911869e-1, (5, 3) = 0.692171820538062e-1, (5, 4) = -.400890805052426, (6, 1) = .6618810074882052, (6, 2) = -0.642793336956672e-1, (6, 3) = 0.2047420294478041e-1, (6, 4) = -.5666562538626241, (7, 1) = .6555382573421484, (7, 2) = -0.6974033418681913e-1, (7, 3) = -0.45156841140105174e-1, (7, 4) = -.7776721718753054, (8, 1) = .6471724589082719, (8, 2) = -.12090617734514347, (8, 3) = -.12917760707311676, (8, 4) = -1.0368051141543724, (9, 1) = .6314983390616825, (9, 2) = -.2577845098421486, (9, 3) = -.23272115173480284, (9, 4) = -1.3454247426611543, (10, 1) = .6006761250816522, (10, 2) = -.5322533664115292, (10, 3) = -.3559855928563839, (10, 4) = -1.701146192926604, (11, 1) = .54273147220266, (11, 2) = -1.0200319817426176, (11, 3) = -.502180173111615, (11, 4) = -2.108468457277955, (12, 1) = .4388314056912532, (12, 2) = -1.8362523645122633, (12, 3) = -.6763311277772065, (12, 4) = -2.57338654103372}, 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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.6739539944173645e-9, (1, 2) = 0.1347907988834729e-8, (1, 3) = -0.27403171906523084e-9, (1, 4) = -0.5480634381304617e-9, (2, 1) = 0.8246154016106003e-9, (2, 2) = 0.177916788606642e-8, (2, 3) = -0.34929800292899786e-9, (2, 4) = -0.9141915461485723e-9, (3, 1) = 0.933175966836673e-9, (3, 2) = 0.2210305967249187e-8, (3, 3) = -0.41598186437903125e-9, (3, 4) = -0.12539937864473478e-8, (4, 1) = 0.8764780945487576e-9, (4, 2) = 0.22797840288268566e-8, (4, 3) = -0.3587358787818573e-9, (4, 4) = -0.11731322051014227e-8, (5, 1) = 0.6641942931892729e-9, (5, 2) = 0.19520610214544366e-8, (5, 3) = -0.14595717115728755e-9, (5, 4) = -0.5658001203543722e-9, (6, 1) = 0.3429508608302301e-9, (6, 2) = 0.13623018949216881e-8, (6, 3) = 0.25388696007728585e-9, (6, 4) = 0.630291251000569e-9, (7, 1) = 0.8778693810386955e-10, (7, 2) = 0.10050955482189945e-8, (7, 3) = 0.7649805508250406e-9, (7, 4) = 0.20974591182450872e-8, (8, 1) = 0.9363060560285047e-10, (8, 2) = 0.1393065766162641e-8, (8, 3) = 0.1208669135084663e-8, (8, 4) = 0.32129897380129895e-8, (9, 1) = 0.3858916209315626e-9, (9, 2) = 0.24757657030368293e-8, (9, 3) = 0.14349799154447168e-8, (9, 4) = 0.35109199994376865e-8, (10, 1) = 0.7840465902641735e-9, (10, 2) = 0.35352461714892476e-8, (10, 3) = 0.13739465204430303e-8, (10, 4) = 0.28868252750431286e-8, (11, 1) = 0.9225136097963133e-9, (11, 2) = 0.31297445084711146e-8, (11, 3) = 0.9406218111166506e-9, (11, 4) = 0.12708340613089756e-8, (12, 1) = .0, (12, 2) = -0.15378841881379982e-8, (12, 3) = .0, (12, 4) = -0.12377795845377845e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [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[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147946194828, (2) = 36893488147946195004, (3) = 36893488147946195180, (4) = 36893488147946195356, (5) = 36893488147946195532}), (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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .35377285308454487, (1, 2) = .7075457061690897, (1, 3) = 0.7406242819797852e-1, (1, 4) = .14812485639595704, (2, 1) = .41014855033178327, (2, 2) = .6987282678002367, (2, 3) = 0.8567936229689786e-1, (2, 4) = .1410944181667205, (3, 1) = .47870203223233027, (3, 2) = .6881288721647487, (3, 3) = 0.989909349352116e-1, (3, 4) = .1270665276688175, (4, 1) = .5499541037171046, (4, 2) = .6778031057301678, (4, 3) = .11112115951702516, (4, 4) = .10377162398387198, (5, 1) = .6195547808536616, (5, 2) = .6689963266405138, (5, 3) = .12017591896222084, (5, 4) = 0.692171820538062e-1, (6, 1) = .6871283420498032, (6, 2) = .6618810074882052, (6, 3) = .1248729581519247, (6, 4) = 0.2047420294478041e-1, (7, 1) = .7519040842899835, (7, 2) = .6555382573421484, (7, 3) = .12382925029627875, (7, 4) = -0.45156841140105174e-1, (8, 1) = .8126250278769924, (8, 2) = .6471724589082719, (8, 3) = .11589543707261325, (8, 4) = -.12917760707311676, (9, 1) = .8685634035396789, (9, 2) = .6314983390616825, (9, 3) = .10028388874237036, (9, 4) = -.23272115173480284, (10, 1) = .9187635540195175, (10, 2) = .6006761250816522, (10, 3) = 0.7656654087612846e-1, (10, 4) = -.3559855928563839, (11, 1) = .9630203242958632, (11, 2) = .54273147220266, (11, 3) = 0.4373151470083172e-1, (11, 4) = -.502180173111615, (12, 1) = 1.0, (12, 2) = .4388314056912532, (12, 3) = .0, (12, 4) = -.6763311277772065}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .7075457061690897, (1, 2) = -.11009802123140593, (1, 3) = .14812485639595704, (1, 4) = -0.6762976127288478e-1, (2, 1) = .6987282678002367, (2, 2) = -.10938496135590242, (2, 3) = .1410944181667205, (2, 4) = -.10953120063298705, (3, 1) = .6881288721647487, (3, 2) = -.1041523546847557, (3, 3) = .1270665276688175, (3, 4) = -.1775385977376922, (4, 1) = .6778031057301678, (4, 2) = -0.927972234798455e-1, (4, 3) = .10377162398387198, (4, 4) = -.27367249928217197, (5, 1) = .6689963266405138, (5, 2) = -0.7720878878911869e-1, (5, 3) = 0.692171820538062e-1, (5, 4) = -.400890805052426, (6, 1) = .6618810074882052, (6, 2) = -0.642793336956672e-1, (6, 3) = 0.2047420294478041e-1, (6, 4) = -.5666562538626241, (7, 1) = .6555382573421484, (7, 2) = -0.6974033418681913e-1, (7, 3) = -0.45156841140105174e-1, (7, 4) = -.7776721718753054, (8, 1) = .6471724589082719, (8, 2) = -.12090617734514347, (8, 3) = -.12917760707311676, (8, 4) = -1.0368051141543724, (9, 1) = .6314983390616825, (9, 2) = -.2577845098421486, (9, 3) = -.23272115173480284, (9, 4) = -1.3454247426611543, (10, 1) = .6006761250816522, (10, 2) = -.5322533664115292, (10, 3) = -.3559855928563839, (10, 4) = -1.701146192926604, (11, 1) = .54273147220266, (11, 2) = -1.0200319817426176, (11, 3) = -.502180173111615, (11, 4) = -2.108468457277955, (12, 1) = .4388314056912532, (12, 2) = -1.8362523645122633, (12, 3) = -.6763311277772065, (12, 4) = -2.57338654103372}, 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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.6739539944173645e-9, (1, 2) = 0.1347907988834729e-8, (1, 3) = -0.27403171906523084e-9, (1, 4) = -0.5480634381304617e-9, (2, 1) = 0.8246154016106003e-9, (2, 2) = 0.177916788606642e-8, (2, 3) = -0.34929800292899786e-9, (2, 4) = -0.9141915461485723e-9, (3, 1) = 0.933175966836673e-9, (3, 2) = 0.2210305967249187e-8, (3, 3) = -0.41598186437903125e-9, (3, 4) = -0.12539937864473478e-8, (4, 1) = 0.8764780945487576e-9, (4, 2) = 0.22797840288268566e-8, (4, 3) = -0.3587358787818573e-9, (4, 4) = -0.11731322051014227e-8, (5, 1) = 0.6641942931892729e-9, (5, 2) = 0.19520610214544366e-8, (5, 3) = -0.14595717115728755e-9, (5, 4) = -0.5658001203543722e-9, (6, 1) = 0.3429508608302301e-9, (6, 2) = 0.13623018949216881e-8, (6, 3) = 0.25388696007728585e-9, (6, 4) = 0.630291251000569e-9, (7, 1) = 0.8778693810386955e-10, (7, 2) = 0.10050955482189945e-8, (7, 3) = 0.7649805508250406e-9, (7, 4) = 0.20974591182450872e-8, (8, 1) = 0.9363060560285047e-10, (8, 2) = 0.1393065766162641e-8, (8, 3) = 0.1208669135084663e-8, (8, 4) = 0.32129897380129895e-8, (9, 1) = 0.3858916209315626e-9, (9, 2) = 0.24757657030368293e-8, (9, 3) = 0.14349799154447168e-8, (9, 4) = 0.35109199994376865e-8, (10, 1) = 0.7840465902641735e-9, (10, 2) = 0.35352461714892476e-8, (10, 3) = 0.13739465204430303e-8, (10, 4) = 0.28868252750431286e-8, (11, 1) = 0.9225136097963133e-9, (11, 2) = 0.31297445084711146e-8, (11, 3) = 0.9406218111166506e-9, (11, 4) = 0.12708340613089756e-8, (12, 1) = .0, (12, 2) = -0.15378841881379982e-8, (12, 3) = .0, (12, 4) = -0.12377795845377845e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [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[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147946194828, (2) = 36893488147946195004, (3) = 36893488147946195180, (4) = 36893488147946195356, (5) = 36893488147946195532}), (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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .35377285308454487, (1, 2) = .7075457061690897, (1, 3) = 0.7406242819797852e-1, (1, 4) = .14812485639595704, (2, 1) = .41014855033178327, (2, 2) = .6987282678002367, (2, 3) = 0.8567936229689786e-1, (2, 4) = .1410944181667205, (3, 1) = .47870203223233027, (3, 2) = .6881288721647487, (3, 3) = 0.989909349352116e-1, (3, 4) = .1270665276688175, (4, 1) = .5499541037171046, (4, 2) = .6778031057301678, (4, 3) = .11112115951702516, (4, 4) = .10377162398387198, (5, 1) = .6195547808536616, (5, 2) = .6689963266405138, (5, 3) = .12017591896222084, (5, 4) = 0.692171820538062e-1, (6, 1) = .6871283420498032, (6, 2) = .6618810074882052, (6, 3) = .1248729581519247, (6, 4) = 0.2047420294478041e-1, (7, 1) = .7519040842899835, (7, 2) = .6555382573421484, (7, 3) = .12382925029627875, (7, 4) = -0.45156841140105174e-1, (8, 1) = .8126250278769924, (8, 2) = .6471724589082719, (8, 3) = .11589543707261325, (8, 4) = -.12917760707311676, (9, 1) = .8685634035396789, (9, 2) = .6314983390616825, (9, 3) = .10028388874237036, (9, 4) = -.23272115173480284, (10, 1) = .9187635540195175, (10, 2) = .6006761250816522, (10, 3) = 0.7656654087612846e-1, (10, 4) = -.3559855928563839, (11, 1) = .9630203242958632, (11, 2) = .54273147220266, (11, 3) = 0.4373151470083172e-1, (11, 4) = -.502180173111615, (12, 1) = 1.0, (12, 2) = .4388314056912532, (12, 3) = .0, (12, 4) = -.6763311277772065}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .7075457061690897, (1, 2) = -.11009802123140593, (1, 3) = .14812485639595704, (1, 4) = -0.6762976127288478e-1, (2, 1) = .6987282678002367, (2, 2) = -.10938496135590242, (2, 3) = .1410944181667205, (2, 4) = -.10953120063298705, (3, 1) = .6881288721647487, (3, 2) = -.1041523546847557, (3, 3) = .1270665276688175, (3, 4) = -.1775385977376922, (4, 1) = .6778031057301678, (4, 2) = -0.927972234798455e-1, (4, 3) = .10377162398387198, (4, 4) = -.27367249928217197, (5, 1) = .6689963266405138, (5, 2) = -0.7720878878911869e-1, (5, 3) = 0.692171820538062e-1, (5, 4) = -.400890805052426, (6, 1) = .6618810074882052, (6, 2) = -0.642793336956672e-1, (6, 3) = 0.2047420294478041e-1, (6, 4) = -.5666562538626241, (7, 1) = .6555382573421484, (7, 2) = -0.6974033418681913e-1, (7, 3) = -0.45156841140105174e-1, (7, 4) = -.7776721718753054, (8, 1) = .6471724589082719, (8, 2) = -.12090617734514347, (8, 3) = -.12917760707311676, (8, 4) = -1.0368051141543724, (9, 1) = .6314983390616825, (9, 2) = -.2577845098421486, (9, 3) = -.23272115173480284, (9, 4) = -1.3454247426611543, (10, 1) = .6006761250816522, (10, 2) = -.5322533664115292, (10, 3) = -.3559855928563839, (10, 4) = -1.701146192926604, (11, 1) = .54273147220266, (11, 2) = -1.0200319817426176, (11, 3) = -.502180173111615, (11, 4) = -2.108468457277955, (12, 1) = .4388314056912532, (12, 2) = -1.8362523645122633, (12, 3) = -.6763311277772065, (12, 4) = -2.57338654103372}, 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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.6739539944173645e-9, (1, 2) = 0.1347907988834729e-8, (1, 3) = -0.27403171906523084e-9, (1, 4) = -0.5480634381304617e-9, (2, 1) = 0.8246154016106003e-9, (2, 2) = 0.177916788606642e-8, (2, 3) = -0.34929800292899786e-9, (2, 4) = -0.9141915461485723e-9, (3, 1) = 0.933175966836673e-9, (3, 2) = 0.2210305967249187e-8, (3, 3) = -0.41598186437903125e-9, (3, 4) = -0.12539937864473478e-8, (4, 1) = 0.8764780945487576e-9, (4, 2) = 0.22797840288268566e-8, (4, 3) = -0.3587358787818573e-9, (4, 4) = -0.11731322051014227e-8, (5, 1) = 0.6641942931892729e-9, (5, 2) = 0.19520610214544366e-8, (5, 3) = -0.14595717115728755e-9, (5, 4) = -0.5658001203543722e-9, (6, 1) = 0.3429508608302301e-9, (6, 2) = 0.13623018949216881e-8, (6, 3) = 0.25388696007728585e-9, (6, 4) = 0.630291251000569e-9, (7, 1) = 0.8778693810386955e-10, (7, 2) = 0.10050955482189945e-8, (7, 3) = 0.7649805508250406e-9, (7, 4) = 0.20974591182450872e-8, (8, 1) = 0.9363060560285047e-10, (8, 2) = 0.1393065766162641e-8, (8, 3) = 0.1208669135084663e-8, (8, 4) = 0.32129897380129895e-8, (9, 1) = 0.3858916209315626e-9, (9, 2) = 0.24757657030368293e-8, (9, 3) = 0.14349799154447168e-8, (9, 4) = 0.35109199994376865e-8, (10, 1) = 0.7840465902641735e-9, (10, 2) = 0.35352461714892476e-8, (10, 3) = 0.13739465204430303e-8, (10, 4) = 0.28868252750431286e-8, (11, 1) = 0.9225136097963133e-9, (11, 2) = 0.31297445084711146e-8, (11, 3) = 0.9406218111166506e-9, (11, 4) = 0.12708340613089756e-8, (12, 1) = .0, (12, 2) = -0.15378841881379982e-8, (12, 3) = .0, (12, 4) = -0.12377795845377845e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [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[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147946194828, (2) = 36893488147946195004, (3) = 36893488147946195180, (4) = 36893488147946195356, (5) = 36893488147946195532}), (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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .35377285308454487, (1, 2) = .7075457061690897, (1, 3) = 0.7406242819797852e-1, (1, 4) = .14812485639595704, (2, 1) = .41014855033178327, (2, 2) = .6987282678002367, (2, 3) = 0.8567936229689786e-1, (2, 4) = .1410944181667205, (3, 1) = .47870203223233027, (3, 2) = .6881288721647487, (3, 3) = 0.989909349352116e-1, (3, 4) = .1270665276688175, (4, 1) = .5499541037171046, (4, 2) = .6778031057301678, (4, 3) = .11112115951702516, (4, 4) = .10377162398387198, (5, 1) = .6195547808536616, (5, 2) = .6689963266405138, (5, 3) = .12017591896222084, (5, 4) = 0.692171820538062e-1, (6, 1) = .6871283420498032, (6, 2) = .6618810074882052, (6, 3) = .1248729581519247, (6, 4) = 0.2047420294478041e-1, (7, 1) = .7519040842899835, (7, 2) = .6555382573421484, (7, 3) = .12382925029627875, (7, 4) = -0.45156841140105174e-1, (8, 1) = .8126250278769924, (8, 2) = .6471724589082719, (8, 3) = .11589543707261325, (8, 4) = -.12917760707311676, (9, 1) = .8685634035396789, (9, 2) = .6314983390616825, (9, 3) = .10028388874237036, (9, 4) = -.23272115173480284, (10, 1) = .9187635540195175, (10, 2) = .6006761250816522, (10, 3) = 0.7656654087612846e-1, (10, 4) = -.3559855928563839, (11, 1) = .9630203242958632, (11, 2) = .54273147220266, (11, 3) = 0.4373151470083172e-1, (11, 4) = -.502180173111615, (12, 1) = 1.0, (12, 2) = .4388314056912532, (12, 3) = .0, (12, 4) = -.6763311277772065}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .7075457061690897, (1, 2) = -.11009802123140593, (1, 3) = .14812485639595704, (1, 4) = -0.6762976127288478e-1, (2, 1) = .6987282678002367, (2, 2) = -.10938496135590242, (2, 3) = .1410944181667205, (2, 4) = -.10953120063298705, (3, 1) = .6881288721647487, (3, 2) = -.1041523546847557, (3, 3) = .1270665276688175, (3, 4) = -.1775385977376922, (4, 1) = .6778031057301678, (4, 2) = -0.927972234798455e-1, (4, 3) = .10377162398387198, (4, 4) = -.27367249928217197, (5, 1) = .6689963266405138, (5, 2) = -0.7720878878911869e-1, (5, 3) = 0.692171820538062e-1, (5, 4) = -.400890805052426, (6, 1) = .6618810074882052, (6, 2) = -0.642793336956672e-1, (6, 3) = 0.2047420294478041e-1, (6, 4) = -.5666562538626241, (7, 1) = .6555382573421484, (7, 2) = -0.6974033418681913e-1, (7, 3) = -0.45156841140105174e-1, (7, 4) = -.7776721718753054, (8, 1) = .6471724589082719, (8, 2) = -.12090617734514347, (8, 3) = -.12917760707311676, (8, 4) = -1.0368051141543724, (9, 1) = .6314983390616825, (9, 2) = -.2577845098421486, (9, 3) = -.23272115173480284, (9, 4) = -1.3454247426611543, (10, 1) = .6006761250816522, (10, 2) = -.5322533664115292, (10, 3) = -.3559855928563839, (10, 4) = -1.701146192926604, (11, 1) = .54273147220266, (11, 2) = -1.0200319817426176, (11, 3) = -.502180173111615, (11, 4) = -2.108468457277955, (12, 1) = .4388314056912532, (12, 2) = -1.8362523645122633, (12, 3) = -.6763311277772065, (12, 4) = -2.57338654103372}, 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(12, {(1) = .0, (2) = 0.8017793616248046e-1, (3) = .17904570210048149, (4) = .2833882229654413, (5) = .386766128731164, (6) = .48833056176957546, (7) = .5866618444207777, (8) = .679828444050603, (9) = .7671881376888104, (10) = .8484268727072408, (11) = .925419438371784, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.6739539944173645e-9, (1, 2) = 0.1347907988834729e-8, (1, 3) = -0.27403171906523084e-9, (1, 4) = -0.5480634381304617e-9, (2, 1) = 0.8246154016106003e-9, (2, 2) = 0.177916788606642e-8, (2, 3) = -0.34929800292899786e-9, (2, 4) = -0.9141915461485723e-9, (3, 1) = 0.933175966836673e-9, (3, 2) = 0.2210305967249187e-8, (3, 3) = -0.41598186437903125e-9, (3, 4) = -0.12539937864473478e-8, (4, 1) = 0.8764780945487576e-9, (4, 2) = 0.22797840288268566e-8, (4, 3) = -0.3587358787818573e-9, (4, 4) = -0.11731322051014227e-8, (5, 1) = 0.6641942931892729e-9, (5, 2) = 0.19520610214544366e-8, (5, 3) = -0.14595717115728755e-9, (5, 4) = -0.5658001203543722e-9, (6, 1) = 0.3429508608302301e-9, (6, 2) = 0.13623018949216881e-8, (6, 3) = 0.25388696007728585e-9, (6, 4) = 0.630291251000569e-9, (7, 1) = 0.8778693810386955e-10, (7, 2) = 0.10050955482189945e-8, (7, 3) = 0.7649805508250406e-9, (7, 4) = 0.20974591182450872e-8, (8, 1) = 0.9363060560285047e-10, (8, 2) = 0.1393065766162641e-8, (8, 3) = 0.1208669135084663e-8, (8, 4) = 0.32129897380129895e-8, (9, 1) = 0.3858916209315626e-9, (9, 2) = 0.24757657030368293e-8, (9, 3) = 0.14349799154447168e-8, (9, 4) = 0.35109199994376865e-8, (10, 1) = 0.7840465902641735e-9, (10, 2) = 0.35352461714892476e-8, (10, 3) = 0.13739465204430303e-8, (10, 4) = 0.28868252750431286e-8, (11, 1) = 0.9225136097963133e-9, (11, 2) = 0.31297445084711146e-8, (11, 3) = 0.9406218111166506e-9, (11, 4) = 0.12708340613089756e-8, (12, 1) = .0, (12, 2) = -0.15378841881379982e-8, (12, 3) = .0, (12, 4) = -0.12377795845377845e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [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[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.5352461714892476e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147946194828, (2) = 36893488147946195004, (3) = 36893488147946195180, (4) = 36893488147946195356, (5) = 36893488147946195532}), (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.67074585555132)

 

HFloat(0.09768577679425426)

(1)

  for j to numelems(MVals) do
      Ans1[j] := dsolve
                 ( eval([OdeSys1, Cond1], M = MVals[j]),
                   numeric,
                   output = listprocedure
                 );
      Theta_B[j] := evalf
                    ( Int
                      ( eval
                        ( V(Y)*Phi(Y),
                          Ans1[j]
                        )(Y),
                        Y = 0 .. 1
                      )
                      /
                      Int
                      ( eval
                        ( V(Y),
                          Ans1[j]
                        )(Y),
                        Y = 0 .. 1
                      )
                    );
      Q_B[j] := evalf
                ( Int
                  ( eval
                    ( V(Y),
                      Ans1[j]
                    )(Y),
                    Y = 0 .. 1
                  )
                );
  end do;

[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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = .37011472508610516, (1, 2) = .7402294501722103, (1, 3) = 0.9617726269098015e-1, (1, 4) = .1923545253819603, (2, 1) = .42405539553761595, (2, 2) = .7237285556987445, (2, 3) = .10977598766591004, (2, 4) = .17601498710028135, (3, 1) = .4875383529872861, (3, 2) = .7056280388591866, (3, 3) = .12433816366889967, (3, 4) = .1506707752412156, (4, 1) = .5538695361180471, (4, 2) = .6888602346947308, (4, 3) = .13707387660882178, (4, 4) = .11547379341334339, (5, 1) = .6182389209309441, (5, 2) = .6750832269182833, (5, 3) = .14595039939572577, (5, 4) = 0.707835769310139e-1, (6, 1) = .680530140378815, (6, 2) = .66378747765336, (6, 3) = .15005622421593565, (6, 4) = 0.15408401531541044e-1, (7, 1) = .7403157766308347, (7, 2) = .6532881675526276, (7, 3) = .14852507311851704, (7, 4) = -0.514375953910214e-1, (8, 1) = .7970936189954868, (8, 2) = .6402750707670106, (8, 3) = .14066709543287112, (8, 4) = -.13022411414957727, (9, 1) = .8496518621546855, (9, 2) = .619888650699003, (9, 3) = .12618907595928755, (9, 4) = -.22005479618172752, (10, 1) = .8972230863062723, (10, 2) = .5857202684459403, (10, 3) = .10502687717752907, (10, 4) = -.3203542869186487, (11, 1) = .9387277156979107, (11, 2) = .5303419364613979, (11, 3) = 0.7733498985729967e-1, (11, 4) = -.4300640742723624, (12, 1) = .9735686445041153, (12, 2) = .44345098579739195, (12, 3) = 0.4258149540741165e-1, (12, 4) = -.5505985744923263, (13, 1) = 1.0, (13, 2) = .3114515208726402, (13, 3) = .0, (13, 4) = -.6831251563226346}, datatype = float[8], order = C_order); YP := Matrix(13, 4, {(1, 1) = .7402294501722103, (1, 2) = -.2316182624004788, (1, 3) = .1923545253819603, (1, 4) = -.19579046854318088, (2, 1) = .7237285556987445, (2, 2) = -.21550132106330766, (2, 3) = .17601498710028135, (2, 4) = -.24888451995411193, (3, 1) = .7056280388591866, (3, 2) = -.191110806167757, (3, 3) = .1506707752412156, (3, 4) = -.323693039316643, (4, 1) = .6888602346947308, (4, 2) = -.16087185837176027, (4, 3) = .11547379341334339, (4, 4) = -.4187824666755069, (5, 1) = .6750832269182833, (5, 2) = -.13176773720896984, (5, 3) = 0.707835769310139e-1, (5, 4) = -.5310994706470673, (6, 1) = .66378747765336, (6, 2) = -.11395181443907797, (6, 3) = 0.15408401531541044e-1, (6, 4) = -.6626119628422562, (7, 1) = .6532881675526276, (7, 2) = -.1237234529372893, (7, 3) = -0.514375953910214e-1, (7, 4) = -.8143229262399916, (8, 1) = .6402750707670106, (8, 2) = -.18401903192065988, (8, 3) = -.13022411414957727, (8, 4) = -.9862824242858506, (9, 1) = .619888650699003, (9, 2) = -.32224905154227224, (9, 3) = -.22005479618172752, (9, 4) = -1.1751059641562245, (10, 1) = .5857202684459403, (10, 2) = -.5691885078717881, (10, 3) = -.3203542869186487, (10, 4) = -1.3774838569272116, (11, 1) = .5303419364613979, (11, 2) = -.9561925482845609, (11, 3) = -.4300640742723624, (11, 4) = -1.5883142409388165, (12, 1) = .44345098579739195, (12, 2) = -1.5272773139962066, (12, 3) = -.5505985744923263, (12, 4) = -1.8060418111757008, (13, 1) = .3114515208726402, (13, 2) = -2.336999004441265, (13, 3) = -.6831251563226346, (13, 4) = -2.026479240455}, 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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = -0.16631305238129668e-9, (1, 2) = -0.33262610476259336e-9, (1, 3) = -0.9545986068624163e-10, (1, 4) = -0.19091972137248327e-9, (2, 1) = -0.2123700880649466e-9, (2, 2) = -0.1330105386229234e-9, (2, 3) = -0.7621090265137495e-10, (2, 4) = -0.9489046795984934e-10, (3, 1) = -0.32722234717361996e-9, (3, 2) = -0.10521221536298323e-9, (3, 3) = 0.4210795739906091e-11, (3, 4) = 0.15293005861686622e-9, (4, 1) = -0.5054806238515781e-9, (4, 2) = -0.26757179128451264e-9, (4, 3) = 0.16643401071508548e-9, (4, 4) = 0.5924990878560916e-9, (5, 1) = -0.6603538516238979e-9, (5, 2) = -0.38983527542439666e-9, (5, 3) = 0.3796974947396959e-9, (5, 4) = 0.11334300631613333e-8, (6, 1) = -0.719313157245616e-9, (6, 2) = -0.2493317248427158e-9, (6, 3) = 0.617187262146357e-9, (6, 4) = 0.16807342833285288e-8, (7, 1) = -0.6041216882903283e-9, (7, 2) = 0.3581914247228119e-9, (7, 3) = 0.8276207817634277e-9, (7, 4) = 0.2076401099068068e-8, (8, 1) = -0.2857463706629024e-9, (8, 2) = 0.1446228056245314e-8, (8, 3) = 0.9506303495435844e-9, (8, 4) = 0.2158709966766208e-8, (9, 1) = 0.1618654422075527e-9, (9, 2) = 0.27139915516367474e-8, (9, 3) = 0.9546015772974895e-9, (9, 4) = 0.1888932030638245e-8, (10, 1) = 0.5998423382129844e-9, (10, 2) = 0.36908275740467556e-8, (10, 3) = 0.8375445469515748e-9, (10, 4) = 0.13300992228940345e-8, (11, 1) = 0.8666418172270557e-9, (11, 2) = 0.3926688413142195e-8, (11, 3) = 0.6297479454578739e-9, (11, 4) = 0.6488226934700825e-9, (12, 1) = 0.760034686178409e-9, (12, 2) = 0.29522642013878006e-8, (12, 3) = 0.33776646527100715e-9, (12, 4) = -0.11059249972295288e-10, (13, 1) = .0, (13, 2) = 0.4323518796355457e-9, (13, 3) = .0, (13, 4) = -0.3407769756336271e-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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 13, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(13, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 13, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 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`(13, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994797348, (2) = 36893488147994797524, (3) = 36893488147994797700, (4) = 36893488147994797876, (5) = 36893488147994798052}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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, Phi(Y) = proc (Y) local res, data, solnproc, `Phi(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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = .37011472508610516, (1, 2) = .7402294501722103, (1, 3) = 0.9617726269098015e-1, (1, 4) = .1923545253819603, (2, 1) = .42405539553761595, (2, 2) = .7237285556987445, (2, 3) = .10977598766591004, (2, 4) = .17601498710028135, (3, 1) = .4875383529872861, (3, 2) = .7056280388591866, (3, 3) = .12433816366889967, (3, 4) = .1506707752412156, (4, 1) = .5538695361180471, (4, 2) = .6888602346947308, (4, 3) = .13707387660882178, (4, 4) = .11547379341334339, (5, 1) = .6182389209309441, (5, 2) = .6750832269182833, (5, 3) = .14595039939572577, (5, 4) = 0.707835769310139e-1, (6, 1) = .680530140378815, (6, 2) = .66378747765336, (6, 3) = .15005622421593565, (6, 4) = 0.15408401531541044e-1, (7, 1) = .7403157766308347, (7, 2) = .6532881675526276, (7, 3) = .14852507311851704, (7, 4) = -0.514375953910214e-1, (8, 1) = .7970936189954868, (8, 2) = .6402750707670106, (8, 3) = .14066709543287112, (8, 4) = -.13022411414957727, (9, 1) = .8496518621546855, (9, 2) = .619888650699003, (9, 3) = .12618907595928755, (9, 4) = -.22005479618172752, (10, 1) = .8972230863062723, (10, 2) = .5857202684459403, (10, 3) = .10502687717752907, (10, 4) = -.3203542869186487, (11, 1) = .9387277156979107, (11, 2) = .5303419364613979, (11, 3) = 0.7733498985729967e-1, (11, 4) = -.4300640742723624, (12, 1) = .9735686445041153, (12, 2) = .44345098579739195, (12, 3) = 0.4258149540741165e-1, (12, 4) = -.5505985744923263, (13, 1) = 1.0, (13, 2) = .3114515208726402, (13, 3) = .0, (13, 4) = -.6831251563226346}, datatype = float[8], order = C_order); YP := Matrix(13, 4, {(1, 1) = .7402294501722103, (1, 2) = -.2316182624004788, (1, 3) = .1923545253819603, (1, 4) = -.19579046854318088, (2, 1) = .7237285556987445, (2, 2) = -.21550132106330766, (2, 3) = .17601498710028135, (2, 4) = -.24888451995411193, (3, 1) = .7056280388591866, (3, 2) = -.191110806167757, (3, 3) = .1506707752412156, (3, 4) = -.323693039316643, (4, 1) = .6888602346947308, (4, 2) = -.16087185837176027, (4, 3) = .11547379341334339, (4, 4) = -.4187824666755069, (5, 1) = .6750832269182833, (5, 2) = -.13176773720896984, (5, 3) = 0.707835769310139e-1, (5, 4) = -.5310994706470673, (6, 1) = .66378747765336, (6, 2) = -.11395181443907797, (6, 3) = 0.15408401531541044e-1, (6, 4) = -.6626119628422562, (7, 1) = .6532881675526276, (7, 2) = -.1237234529372893, (7, 3) = -0.514375953910214e-1, (7, 4) = -.8143229262399916, (8, 1) = .6402750707670106, (8, 2) = -.18401903192065988, (8, 3) = -.13022411414957727, (8, 4) = -.9862824242858506, (9, 1) = .619888650699003, (9, 2) = -.32224905154227224, (9, 3) = -.22005479618172752, (9, 4) = -1.1751059641562245, (10, 1) = .5857202684459403, (10, 2) = -.5691885078717881, (10, 3) = -.3203542869186487, (10, 4) = -1.3774838569272116, (11, 1) = .5303419364613979, (11, 2) = -.9561925482845609, (11, 3) = -.4300640742723624, (11, 4) = -1.5883142409388165, (12, 1) = .44345098579739195, (12, 2) = -1.5272773139962066, (12, 3) = -.5505985744923263, (12, 4) = -1.8060418111757008, (13, 1) = .3114515208726402, (13, 2) = -2.336999004441265, (13, 3) = -.6831251563226346, (13, 4) = -2.026479240455}, 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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = -0.16631305238129668e-9, (1, 2) = -0.33262610476259336e-9, (1, 3) = -0.9545986068624163e-10, (1, 4) = -0.19091972137248327e-9, (2, 1) = -0.2123700880649466e-9, (2, 2) = -0.1330105386229234e-9, (2, 3) = -0.7621090265137495e-10, (2, 4) = -0.9489046795984934e-10, (3, 1) = -0.32722234717361996e-9, (3, 2) = -0.10521221536298323e-9, (3, 3) = 0.4210795739906091e-11, (3, 4) = 0.15293005861686622e-9, (4, 1) = -0.5054806238515781e-9, (4, 2) = -0.26757179128451264e-9, (4, 3) = 0.16643401071508548e-9, (4, 4) = 0.5924990878560916e-9, (5, 1) = -0.6603538516238979e-9, (5, 2) = -0.38983527542439666e-9, (5, 3) = 0.3796974947396959e-9, (5, 4) = 0.11334300631613333e-8, (6, 1) = -0.719313157245616e-9, (6, 2) = -0.2493317248427158e-9, (6, 3) = 0.617187262146357e-9, (6, 4) = 0.16807342833285288e-8, (7, 1) = -0.6041216882903283e-9, (7, 2) = 0.3581914247228119e-9, (7, 3) = 0.8276207817634277e-9, (7, 4) = 0.2076401099068068e-8, (8, 1) = -0.2857463706629024e-9, (8, 2) = 0.1446228056245314e-8, (8, 3) = 0.9506303495435844e-9, (8, 4) = 0.2158709966766208e-8, (9, 1) = 0.1618654422075527e-9, (9, 2) = 0.27139915516367474e-8, (9, 3) = 0.9546015772974895e-9, (9, 4) = 0.1888932030638245e-8, (10, 1) = 0.5998423382129844e-9, (10, 2) = 0.36908275740467556e-8, (10, 3) = 0.8375445469515748e-9, (10, 4) = 0.13300992228940345e-8, (11, 1) = 0.8666418172270557e-9, (11, 2) = 0.3926688413142195e-8, (11, 3) = 0.6297479454578739e-9, (11, 4) = 0.6488226934700825e-9, (12, 1) = 0.760034686178409e-9, (12, 2) = 0.29522642013878006e-8, (12, 3) = 0.33776646527100715e-9, (12, 4) = -0.11059249972295288e-10, (13, 1) = .0, (13, 2) = 0.4323518796355457e-9, (13, 3) = .0, (13, 4) = -0.3407769756336271e-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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 13, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(13, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 13, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 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`(13, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994797348, (2) = 36893488147994797524, (3) = 36893488147994797700, (4) = 36893488147994797876, (5) = 36893488147994798052}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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 `Phi(Y)` := pointto(data[2][2]); return ('`Phi(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[2] catch: error  end try end proc, diff(Phi(Y), Y) = proc (Y) local res, data, solnproc, `diff(Phi(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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = .37011472508610516, (1, 2) = .7402294501722103, (1, 3) = 0.9617726269098015e-1, (1, 4) = .1923545253819603, (2, 1) = .42405539553761595, (2, 2) = .7237285556987445, (2, 3) = .10977598766591004, (2, 4) = .17601498710028135, (3, 1) = .4875383529872861, (3, 2) = .7056280388591866, (3, 3) = .12433816366889967, (3, 4) = .1506707752412156, (4, 1) = .5538695361180471, (4, 2) = .6888602346947308, (4, 3) = .13707387660882178, (4, 4) = .11547379341334339, (5, 1) = .6182389209309441, (5, 2) = .6750832269182833, (5, 3) = .14595039939572577, (5, 4) = 0.707835769310139e-1, (6, 1) = .680530140378815, (6, 2) = .66378747765336, (6, 3) = .15005622421593565, (6, 4) = 0.15408401531541044e-1, (7, 1) = .7403157766308347, (7, 2) = .6532881675526276, (7, 3) = .14852507311851704, (7, 4) = -0.514375953910214e-1, (8, 1) = .7970936189954868, (8, 2) = .6402750707670106, (8, 3) = .14066709543287112, (8, 4) = -.13022411414957727, (9, 1) = .8496518621546855, (9, 2) = .619888650699003, (9, 3) = .12618907595928755, (9, 4) = -.22005479618172752, (10, 1) = .8972230863062723, (10, 2) = .5857202684459403, (10, 3) = .10502687717752907, (10, 4) = -.3203542869186487, (11, 1) = .9387277156979107, (11, 2) = .5303419364613979, (11, 3) = 0.7733498985729967e-1, (11, 4) = -.4300640742723624, (12, 1) = .9735686445041153, (12, 2) = .44345098579739195, (12, 3) = 0.4258149540741165e-1, (12, 4) = -.5505985744923263, (13, 1) = 1.0, (13, 2) = .3114515208726402, (13, 3) = .0, (13, 4) = -.6831251563226346}, datatype = float[8], order = C_order); YP := Matrix(13, 4, {(1, 1) = .7402294501722103, (1, 2) = -.2316182624004788, (1, 3) = .1923545253819603, (1, 4) = -.19579046854318088, (2, 1) = .7237285556987445, (2, 2) = -.21550132106330766, (2, 3) = .17601498710028135, (2, 4) = -.24888451995411193, (3, 1) = .7056280388591866, (3, 2) = -.191110806167757, (3, 3) = .1506707752412156, (3, 4) = -.323693039316643, (4, 1) = .6888602346947308, (4, 2) = -.16087185837176027, (4, 3) = .11547379341334339, (4, 4) = -.4187824666755069, (5, 1) = .6750832269182833, (5, 2) = -.13176773720896984, (5, 3) = 0.707835769310139e-1, (5, 4) = -.5310994706470673, (6, 1) = .66378747765336, (6, 2) = -.11395181443907797, (6, 3) = 0.15408401531541044e-1, (6, 4) = -.6626119628422562, (7, 1) = .6532881675526276, (7, 2) = -.1237234529372893, (7, 3) = -0.514375953910214e-1, (7, 4) = -.8143229262399916, (8, 1) = .6402750707670106, (8, 2) = -.18401903192065988, (8, 3) = -.13022411414957727, (8, 4) = -.9862824242858506, (9, 1) = .619888650699003, (9, 2) = -.32224905154227224, (9, 3) = -.22005479618172752, (9, 4) = -1.1751059641562245, (10, 1) = .5857202684459403, (10, 2) = -.5691885078717881, (10, 3) = -.3203542869186487, (10, 4) = -1.3774838569272116, (11, 1) = .5303419364613979, (11, 2) = -.9561925482845609, (11, 3) = -.4300640742723624, (11, 4) = -1.5883142409388165, (12, 1) = .44345098579739195, (12, 2) = -1.5272773139962066, (12, 3) = -.5505985744923263, (12, 4) = -1.8060418111757008, (13, 1) = .3114515208726402, (13, 2) = -2.336999004441265, (13, 3) = -.6831251563226346, (13, 4) = -2.026479240455}, 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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = -0.16631305238129668e-9, (1, 2) = -0.33262610476259336e-9, (1, 3) = -0.9545986068624163e-10, (1, 4) = -0.19091972137248327e-9, (2, 1) = -0.2123700880649466e-9, (2, 2) = -0.1330105386229234e-9, (2, 3) = -0.7621090265137495e-10, (2, 4) = -0.9489046795984934e-10, (3, 1) = -0.32722234717361996e-9, (3, 2) = -0.10521221536298323e-9, (3, 3) = 0.4210795739906091e-11, (3, 4) = 0.15293005861686622e-9, (4, 1) = -0.5054806238515781e-9, (4, 2) = -0.26757179128451264e-9, (4, 3) = 0.16643401071508548e-9, (4, 4) = 0.5924990878560916e-9, (5, 1) = -0.6603538516238979e-9, (5, 2) = -0.38983527542439666e-9, (5, 3) = 0.3796974947396959e-9, (5, 4) = 0.11334300631613333e-8, (6, 1) = -0.719313157245616e-9, (6, 2) = -0.2493317248427158e-9, (6, 3) = 0.617187262146357e-9, (6, 4) = 0.16807342833285288e-8, (7, 1) = -0.6041216882903283e-9, (7, 2) = 0.3581914247228119e-9, (7, 3) = 0.8276207817634277e-9, (7, 4) = 0.2076401099068068e-8, (8, 1) = -0.2857463706629024e-9, (8, 2) = 0.1446228056245314e-8, (8, 3) = 0.9506303495435844e-9, (8, 4) = 0.2158709966766208e-8, (9, 1) = 0.1618654422075527e-9, (9, 2) = 0.27139915516367474e-8, (9, 3) = 0.9546015772974895e-9, (9, 4) = 0.1888932030638245e-8, (10, 1) = 0.5998423382129844e-9, (10, 2) = 0.36908275740467556e-8, (10, 3) = 0.8375445469515748e-9, (10, 4) = 0.13300992228940345e-8, (11, 1) = 0.8666418172270557e-9, (11, 2) = 0.3926688413142195e-8, (11, 3) = 0.6297479454578739e-9, (11, 4) = 0.6488226934700825e-9, (12, 1) = 0.760034686178409e-9, (12, 2) = 0.29522642013878006e-8, (12, 3) = 0.33776646527100715e-9, (12, 4) = -0.11059249972295288e-10, (13, 1) = .0, (13, 2) = 0.4323518796355457e-9, (13, 3) = .0, (13, 4) = -0.3407769756336271e-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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 13, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(13, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 13, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 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`(13, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994797348, (2) = 36893488147994797524, (3) = 36893488147994797700, (4) = 36893488147994797876, (5) = 36893488147994798052}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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(Phi(Y),Y)` := pointto(data[2][3]); return ('`diff(Phi(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[3] catch: error  end try end proc, V(Y) = proc (Y) local res, data, solnproc, `V(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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = .37011472508610516, (1, 2) = .7402294501722103, (1, 3) = 0.9617726269098015e-1, (1, 4) = .1923545253819603, (2, 1) = .42405539553761595, (2, 2) = .7237285556987445, (2, 3) = .10977598766591004, (2, 4) = .17601498710028135, (3, 1) = .4875383529872861, (3, 2) = .7056280388591866, (3, 3) = .12433816366889967, (3, 4) = .1506707752412156, (4, 1) = .5538695361180471, (4, 2) = .6888602346947308, (4, 3) = .13707387660882178, (4, 4) = .11547379341334339, (5, 1) = .6182389209309441, (5, 2) = .6750832269182833, (5, 3) = .14595039939572577, (5, 4) = 0.707835769310139e-1, (6, 1) = .680530140378815, (6, 2) = .66378747765336, (6, 3) = .15005622421593565, (6, 4) = 0.15408401531541044e-1, (7, 1) = .7403157766308347, (7, 2) = .6532881675526276, (7, 3) = .14852507311851704, (7, 4) = -0.514375953910214e-1, (8, 1) = .7970936189954868, (8, 2) = .6402750707670106, (8, 3) = .14066709543287112, (8, 4) = -.13022411414957727, (9, 1) = .8496518621546855, (9, 2) = .619888650699003, (9, 3) = .12618907595928755, (9, 4) = -.22005479618172752, (10, 1) = .8972230863062723, (10, 2) = .5857202684459403, (10, 3) = .10502687717752907, (10, 4) = -.3203542869186487, (11, 1) = .9387277156979107, (11, 2) = .5303419364613979, (11, 3) = 0.7733498985729967e-1, (11, 4) = -.4300640742723624, (12, 1) = .9735686445041153, (12, 2) = .44345098579739195, (12, 3) = 0.4258149540741165e-1, (12, 4) = -.5505985744923263, (13, 1) = 1.0, (13, 2) = .3114515208726402, (13, 3) = .0, (13, 4) = -.6831251563226346}, datatype = float[8], order = C_order); YP := Matrix(13, 4, {(1, 1) = .7402294501722103, (1, 2) = -.2316182624004788, (1, 3) = .1923545253819603, (1, 4) = -.19579046854318088, (2, 1) = .7237285556987445, (2, 2) = -.21550132106330766, (2, 3) = .17601498710028135, (2, 4) = -.24888451995411193, (3, 1) = .7056280388591866, (3, 2) = -.191110806167757, (3, 3) = .1506707752412156, (3, 4) = -.323693039316643, (4, 1) = .6888602346947308, (4, 2) = -.16087185837176027, (4, 3) = .11547379341334339, (4, 4) = -.4187824666755069, (5, 1) = .6750832269182833, (5, 2) = -.13176773720896984, (5, 3) = 0.707835769310139e-1, (5, 4) = -.5310994706470673, (6, 1) = .66378747765336, (6, 2) = -.11395181443907797, (6, 3) = 0.15408401531541044e-1, (6, 4) = -.6626119628422562, (7, 1) = .6532881675526276, (7, 2) = -.1237234529372893, (7, 3) = -0.514375953910214e-1, (7, 4) = -.8143229262399916, (8, 1) = .6402750707670106, (8, 2) = -.18401903192065988, (8, 3) = -.13022411414957727, (8, 4) = -.9862824242858506, (9, 1) = .619888650699003, (9, 2) = -.32224905154227224, (9, 3) = -.22005479618172752, (9, 4) = -1.1751059641562245, (10, 1) = .5857202684459403, (10, 2) = -.5691885078717881, (10, 3) = -.3203542869186487, (10, 4) = -1.3774838569272116, (11, 1) = .5303419364613979, (11, 2) = -.9561925482845609, (11, 3) = -.4300640742723624, (11, 4) = -1.5883142409388165, (12, 1) = .44345098579739195, (12, 2) = -1.5272773139962066, (12, 3) = -.5505985744923263, (12, 4) = -1.8060418111757008, (13, 1) = .3114515208726402, (13, 2) = -2.336999004441265, (13, 3) = -.6831251563226346, (13, 4) = -2.026479240455}, 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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = -0.16631305238129668e-9, (1, 2) = -0.33262610476259336e-9, (1, 3) = -0.9545986068624163e-10, (1, 4) = -0.19091972137248327e-9, (2, 1) = -0.2123700880649466e-9, (2, 2) = -0.1330105386229234e-9, (2, 3) = -0.7621090265137495e-10, (2, 4) = -0.9489046795984934e-10, (3, 1) = -0.32722234717361996e-9, (3, 2) = -0.10521221536298323e-9, (3, 3) = 0.4210795739906091e-11, (3, 4) = 0.15293005861686622e-9, (4, 1) = -0.5054806238515781e-9, (4, 2) = -0.26757179128451264e-9, (4, 3) = 0.16643401071508548e-9, (4, 4) = 0.5924990878560916e-9, (5, 1) = -0.6603538516238979e-9, (5, 2) = -0.38983527542439666e-9, (5, 3) = 0.3796974947396959e-9, (5, 4) = 0.11334300631613333e-8, (6, 1) = -0.719313157245616e-9, (6, 2) = -0.2493317248427158e-9, (6, 3) = 0.617187262146357e-9, (6, 4) = 0.16807342833285288e-8, (7, 1) = -0.6041216882903283e-9, (7, 2) = 0.3581914247228119e-9, (7, 3) = 0.8276207817634277e-9, (7, 4) = 0.2076401099068068e-8, (8, 1) = -0.2857463706629024e-9, (8, 2) = 0.1446228056245314e-8, (8, 3) = 0.9506303495435844e-9, (8, 4) = 0.2158709966766208e-8, (9, 1) = 0.1618654422075527e-9, (9, 2) = 0.27139915516367474e-8, (9, 3) = 0.9546015772974895e-9, (9, 4) = 0.1888932030638245e-8, (10, 1) = 0.5998423382129844e-9, (10, 2) = 0.36908275740467556e-8, (10, 3) = 0.8375445469515748e-9, (10, 4) = 0.13300992228940345e-8, (11, 1) = 0.8666418172270557e-9, (11, 2) = 0.3926688413142195e-8, (11, 3) = 0.6297479454578739e-9, (11, 4) = 0.6488226934700825e-9, (12, 1) = 0.760034686178409e-9, (12, 2) = 0.29522642013878006e-8, (12, 3) = 0.33776646527100715e-9, (12, 4) = -0.11059249972295288e-10, (13, 1) = .0, (13, 2) = 0.4323518796355457e-9, (13, 3) = .0, (13, 4) = -0.3407769756336271e-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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 13, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(13, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 13, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 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`(13, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994797348, (2) = 36893488147994797524, (3) = 36893488147994797700, (4) = 36893488147994797876, (5) = 36893488147994798052}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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 `V(Y)` := pointto(data[2][4]); return ('`V(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[4] catch: error  end try end proc, diff(V(Y), Y) = proc (Y) local res, data, solnproc, `diff(V(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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = .37011472508610516, (1, 2) = .7402294501722103, (1, 3) = 0.9617726269098015e-1, (1, 4) = .1923545253819603, (2, 1) = .42405539553761595, (2, 2) = .7237285556987445, (2, 3) = .10977598766591004, (2, 4) = .17601498710028135, (3, 1) = .4875383529872861, (3, 2) = .7056280388591866, (3, 3) = .12433816366889967, (3, 4) = .1506707752412156, (4, 1) = .5538695361180471, (4, 2) = .6888602346947308, (4, 3) = .13707387660882178, (4, 4) = .11547379341334339, (5, 1) = .6182389209309441, (5, 2) = .6750832269182833, (5, 3) = .14595039939572577, (5, 4) = 0.707835769310139e-1, (6, 1) = .680530140378815, (6, 2) = .66378747765336, (6, 3) = .15005622421593565, (6, 4) = 0.15408401531541044e-1, (7, 1) = .7403157766308347, (7, 2) = .6532881675526276, (7, 3) = .14852507311851704, (7, 4) = -0.514375953910214e-1, (8, 1) = .7970936189954868, (8, 2) = .6402750707670106, (8, 3) = .14066709543287112, (8, 4) = -.13022411414957727, (9, 1) = .8496518621546855, (9, 2) = .619888650699003, (9, 3) = .12618907595928755, (9, 4) = -.22005479618172752, (10, 1) = .8972230863062723, (10, 2) = .5857202684459403, (10, 3) = .10502687717752907, (10, 4) = -.3203542869186487, (11, 1) = .9387277156979107, (11, 2) = .5303419364613979, (11, 3) = 0.7733498985729967e-1, (11, 4) = -.4300640742723624, (12, 1) = .9735686445041153, (12, 2) = .44345098579739195, (12, 3) = 0.4258149540741165e-1, (12, 4) = -.5505985744923263, (13, 1) = 1.0, (13, 2) = .3114515208726402, (13, 3) = .0, (13, 4) = -.6831251563226346}, datatype = float[8], order = C_order); YP := Matrix(13, 4, {(1, 1) = .7402294501722103, (1, 2) = -.2316182624004788, (1, 3) = .1923545253819603, (1, 4) = -.19579046854318088, (2, 1) = .7237285556987445, (2, 2) = -.21550132106330766, (2, 3) = .17601498710028135, (2, 4) = -.24888451995411193, (3, 1) = .7056280388591866, (3, 2) = -.191110806167757, (3, 3) = .1506707752412156, (3, 4) = -.323693039316643, (4, 1) = .6888602346947308, (4, 2) = -.16087185837176027, (4, 3) = .11547379341334339, (4, 4) = -.4187824666755069, (5, 1) = .6750832269182833, (5, 2) = -.13176773720896984, (5, 3) = 0.707835769310139e-1, (5, 4) = -.5310994706470673, (6, 1) = .66378747765336, (6, 2) = -.11395181443907797, (6, 3) = 0.15408401531541044e-1, (6, 4) = -.6626119628422562, (7, 1) = .6532881675526276, (7, 2) = -.1237234529372893, (7, 3) = -0.514375953910214e-1, (7, 4) = -.8143229262399916, (8, 1) = .6402750707670106, (8, 2) = -.18401903192065988, (8, 3) = -.13022411414957727, (8, 4) = -.9862824242858506, (9, 1) = .619888650699003, (9, 2) = -.32224905154227224, (9, 3) = -.22005479618172752, (9, 4) = -1.1751059641562245, (10, 1) = .5857202684459403, (10, 2) = -.5691885078717881, (10, 3) = -.3203542869186487, (10, 4) = -1.3774838569272116, (11, 1) = .5303419364613979, (11, 2) = -.9561925482845609, (11, 3) = -.4300640742723624, (11, 4) = -1.5883142409388165, (12, 1) = .44345098579739195, (12, 2) = -1.5272773139962066, (12, 3) = -.5505985744923263, (12, 4) = -1.8060418111757008, (13, 1) = .3114515208726402, (13, 2) = -2.336999004441265, (13, 3) = -.6831251563226346, (13, 4) = -2.026479240455}, 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(13, {(1) = .0, (2) = 0.7370152197937505e-1, (3) = .16255131661999772, (4) = .2577175067792219, (5) = .35213656690197026, (6) = .44520647306212086, (7) = .5359821687472668, (8) = .6237081846617136, (9) = .7069970354405457, (10) = .7857028830711559, (11) = .8597636498731034, (12) = .9308281857874675, (13) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(13, 4, {(1, 1) = -0.16631305238129668e-9, (1, 2) = -0.33262610476259336e-9, (1, 3) = -0.9545986068624163e-10, (1, 4) = -0.19091972137248327e-9, (2, 1) = -0.2123700880649466e-9, (2, 2) = -0.1330105386229234e-9, (2, 3) = -0.7621090265137495e-10, (2, 4) = -0.9489046795984934e-10, (3, 1) = -0.32722234717361996e-9, (3, 2) = -0.10521221536298323e-9, (3, 3) = 0.4210795739906091e-11, (3, 4) = 0.15293005861686622e-9, (4, 1) = -0.5054806238515781e-9, (4, 2) = -0.26757179128451264e-9, (4, 3) = 0.16643401071508548e-9, (4, 4) = 0.5924990878560916e-9, (5, 1) = -0.6603538516238979e-9, (5, 2) = -0.38983527542439666e-9, (5, 3) = 0.3796974947396959e-9, (5, 4) = 0.11334300631613333e-8, (6, 1) = -0.719313157245616e-9, (6, 2) = -0.2493317248427158e-9, (6, 3) = 0.617187262146357e-9, (6, 4) = 0.16807342833285288e-8, (7, 1) = -0.6041216882903283e-9, (7, 2) = 0.3581914247228119e-9, (7, 3) = 0.8276207817634277e-9, (7, 4) = 0.2076401099068068e-8, (8, 1) = -0.2857463706629024e-9, (8, 2) = 0.1446228056245314e-8, (8, 3) = 0.9506303495435844e-9, (8, 4) = 0.2158709966766208e-8, (9, 1) = 0.1618654422075527e-9, (9, 2) = 0.27139915516367474e-8, (9, 3) = 0.9546015772974895e-9, (9, 4) = 0.1888932030638245e-8, (10, 1) = 0.5998423382129844e-9, (10, 2) = 0.36908275740467556e-8, (10, 3) = 0.8375445469515748e-9, (10, 4) = 0.13300992228940345e-8, (11, 1) = 0.8666418172270557e-9, (11, 2) = 0.3926688413142195e-8, (11, 3) = 0.6297479454578739e-9, (11, 4) = 0.6488226934700825e-9, (12, 1) = 0.760034686178409e-9, (12, 2) = 0.29522642013878006e-8, (12, 3) = 0.33776646527100715e-9, (12, 4) = -0.11059249972295288e-10, (13, 1) = .0, (13, 2) = 0.4323518796355457e-9, (13, 3) = .0, (13, 4) = -0.3407769756336271e-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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 13, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(13, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[13] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.926688413142195e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 13, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[13] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[13] 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`(13, 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`(13, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994797348, (2) = 36893488147994797524, (3) = 36893488147994797700, (4) = 36893488147994797876, (5) = 36893488147994798052}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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(V(Y),Y)` := pointto(data[2][5]); return ('`diff(V(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[5] catch: error  end try end proc]

 

HFloat(0.6803939297744601)

 

HFloat(0.11697783953058233)

 

[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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .3570179622513015, (1, 2) = .714035924502603, (1, 3) = 0.744027056263022e-1, (1, 4) = .1488054112526044, (2, 1) = .4154719046230548, (2, 2) = .7028304282410502, (2, 3) = 0.8625464529037288e-1, (2, 4) = .13784466257542877, (3, 1) = .48334190184057546, (3, 2) = .6904674334048575, (3, 3) = 0.9884702749063672e-1, (3, 4) = .11955079314273101, (4, 1) = .5526622328144887, (4, 2) = .679101575109549, (4, 3) = .10967131499314504, (4, 4) = 0.9278015118696008e-1, (5, 1) = .6204145501190071, (5, 2) = .6696643816133148, (5, 3) = .11725404122950828, (5, 4) = 0.5628718991611909e-1, (6, 1) = .6864054544682436, (6, 2) = .6619514656114219, (6, 3) = .12055511197512106, (6, 4) = 0.8046291614122724e-2, (7, 1) = .750095801157572, (7, 2) = .6545953900893556, (7, 3) = .11847507843082528, (7, 4) = -0.5375289735946124e-1, (8, 1) = .8105427942313077, (8, 2) = .6444118075653255, (8, 3) = .11006414458154776, (8, 4) = -.13022181670646316, (9, 1) = .8668452642565985, (9, 2) = .6259042989114706, (9, 3) = 0.9462817589746902e-1, (9, 4) = -.22204924293275274, (10, 1) = .9178273662933578, (10, 2) = .5911759635239611, (10, 3) = 0.7175848620983327e-1, (10, 4) = -.3292575087686381, (11, 1) = .9627446831872639, (11, 2) = .5287159421533129, (11, 3) = 0.4068545775196199e-1, (11, 4) = -.4536222755916294, (12, 1) = 1.0, (12, 2) = .4210578709701116, (12, 3) = .0, (12, 4) = -.5983615050778698}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .714035924502603, (1, 2) = -.13861346882293335, (1, 3) = .1488054112526044, (1, 4) = -.11138957179464909, (2, 1) = .7028304282410502, (2, 2) = -.13241466613643962, (2, 3) = .13784466257542877, (2, 4) = -.1559173606425232, (3, 1) = .6904674334048575, (3, 2) = -.120506377906041, (3, 3) = .11955079314273101, (3, 4) = -.22226633348552927, (4, 1) = .679101575109549, (4, 2) = -.10334334548587512, (4, 3) = 0.9278015118696008e-1, (4, 4) = -.31006015851950963, (5, 1) = .6696643816133148, (5, 2) = -0.8471788499243274e-1, (5, 3) = 0.5628718991611909e-1, (5, 4) = -.420563353088491, (6, 1) = .6619514656114219, (6, 2) = -0.7310710641726373e-1, (6, 3) = 0.8046291614122724e-2, (6, 4) = -.5579702350796149, (7, 1) = .6545953900893556, (7, 2) = -0.8476275727043002e-1, (7, 3) = -0.5375289735946124e-1, (7, 4) = -.7258159800772535, (8, 1) = .6444118075653255, (8, 2) = -.14558963324477606, (8, 3) = -.13022181670646316, (8, 4) = -.9255496495904706, (9, 1) = .6259042989114706, (9, 2) = -.29176360652502714, (9, 3) = -.22204924293275274, (9, 4) = -1.1570229662153737, (10, 1) = .5911759635239611, (10, 2) = -.5686990999488276, (10, 3) = -.3292575087686381, (10, 4) = -1.4175220543767815, (11, 1) = .5287159421533129, (11, 2) = -1.0387866156824876, (11, 3) = -.4536222755916294, (11, 4) = -1.707116302360715, (12, 1) = .4210578709701116, (12, 2) = -1.7930205283309093, (12, 3) = -.5983615050778698, (12, 4) = -2.026479240455}, 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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.44654706882920567e-9, (1, 2) = 0.8930941376584113e-9, (1, 3) = -0.11660115003507387e-9, (1, 4) = -0.23320230007014775e-9, (2, 1) = 0.5184164874659681e-9, (2, 2) = 0.11702278412752037e-8, (2, 3) = -0.12215030472928e-9, (2, 4) = -0.2769165153771866e-9, (3, 1) = 0.5130138189599054e-9, (3, 2) = 0.12810914378531673e-8, (3, 3) = -0.6593922001992472e-10, (3, 4) = -0.15202622009505384e-9, (4, 1) = 0.4038331950671749e-9, (4, 2) = 0.1122843286762141e-8, (4, 3) = 0.8891551945238254e-10, (4, 4) = 0.23405932754668444e-9, (5, 1) = 0.23653878436036223e-9, (5, 2) = 0.8158774833557765e-9, (5, 3) = 0.33869220703374234e-9, (5, 4) = 0.864229826349527e-9, (6, 1) = 0.8213819287650267e-10, (6, 2) = 0.587357581392559e-9, (6, 3) = 0.6707163289876966e-9, (6, 4) = 0.1677372598131597e-8, (7, 1) = 0.6768735483580909e-10, (7, 2) = 0.793239507018046e-9, (7, 3) = 0.10186007336928863e-8, (7, 4) = 0.24459136401624438e-8, (8, 1) = 0.29108135009660333e-9, (8, 2) = 0.16444914194945938e-8, (8, 3) = 0.12749780366438772e-8, (8, 4) = 0.2848025643497729e-8, (9, 1) = 0.7127901463753679e-9, (9, 2) = 0.28880114397219305e-8, (9, 3) = 0.13434974398120434e-8, (9, 4) = 0.2649666391003752e-8, (10, 1) = 0.1121310314937023e-8, (10, 2) = 0.3761297312048101e-8, (10, 3) = 0.11817608149834825e-8, (10, 4) = 0.1850786086210383e-8, (11, 1) = 0.11326214302410168e-8, (11, 2) = 0.3016482235544339e-8, (11, 3) = 0.7489823551154503e-9, (11, 4) = 0.5470796602469208e-9, (12, 1) = .0, (12, 2) = -0.13340452196429917e-8, (12, 3) = .0, (12, 4) = -0.9285060467618693e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994833684, (2) = 36893488147994833860, (3) = 36893488147994834036, (4) = 36893488147994834212, (5) = 36893488147994834388}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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, Phi(Y) = proc (Y) local res, data, solnproc, `Phi(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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .3570179622513015, (1, 2) = .714035924502603, (1, 3) = 0.744027056263022e-1, (1, 4) = .1488054112526044, (2, 1) = .4154719046230548, (2, 2) = .7028304282410502, (2, 3) = 0.8625464529037288e-1, (2, 4) = .13784466257542877, (3, 1) = .48334190184057546, (3, 2) = .6904674334048575, (3, 3) = 0.9884702749063672e-1, (3, 4) = .11955079314273101, (4, 1) = .5526622328144887, (4, 2) = .679101575109549, (4, 3) = .10967131499314504, (4, 4) = 0.9278015118696008e-1, (5, 1) = .6204145501190071, (5, 2) = .6696643816133148, (5, 3) = .11725404122950828, (5, 4) = 0.5628718991611909e-1, (6, 1) = .6864054544682436, (6, 2) = .6619514656114219, (6, 3) = .12055511197512106, (6, 4) = 0.8046291614122724e-2, (7, 1) = .750095801157572, (7, 2) = .6545953900893556, (7, 3) = .11847507843082528, (7, 4) = -0.5375289735946124e-1, (8, 1) = .8105427942313077, (8, 2) = .6444118075653255, (8, 3) = .11006414458154776, (8, 4) = -.13022181670646316, (9, 1) = .8668452642565985, (9, 2) = .6259042989114706, (9, 3) = 0.9462817589746902e-1, (9, 4) = -.22204924293275274, (10, 1) = .9178273662933578, (10, 2) = .5911759635239611, (10, 3) = 0.7175848620983327e-1, (10, 4) = -.3292575087686381, (11, 1) = .9627446831872639, (11, 2) = .5287159421533129, (11, 3) = 0.4068545775196199e-1, (11, 4) = -.4536222755916294, (12, 1) = 1.0, (12, 2) = .4210578709701116, (12, 3) = .0, (12, 4) = -.5983615050778698}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .714035924502603, (1, 2) = -.13861346882293335, (1, 3) = .1488054112526044, (1, 4) = -.11138957179464909, (2, 1) = .7028304282410502, (2, 2) = -.13241466613643962, (2, 3) = .13784466257542877, (2, 4) = -.1559173606425232, (3, 1) = .6904674334048575, (3, 2) = -.120506377906041, (3, 3) = .11955079314273101, (3, 4) = -.22226633348552927, (4, 1) = .679101575109549, (4, 2) = -.10334334548587512, (4, 3) = 0.9278015118696008e-1, (4, 4) = -.31006015851950963, (5, 1) = .6696643816133148, (5, 2) = -0.8471788499243274e-1, (5, 3) = 0.5628718991611909e-1, (5, 4) = -.420563353088491, (6, 1) = .6619514656114219, (6, 2) = -0.7310710641726373e-1, (6, 3) = 0.8046291614122724e-2, (6, 4) = -.5579702350796149, (7, 1) = .6545953900893556, (7, 2) = -0.8476275727043002e-1, (7, 3) = -0.5375289735946124e-1, (7, 4) = -.7258159800772535, (8, 1) = .6444118075653255, (8, 2) = -.14558963324477606, (8, 3) = -.13022181670646316, (8, 4) = -.9255496495904706, (9, 1) = .6259042989114706, (9, 2) = -.29176360652502714, (9, 3) = -.22204924293275274, (9, 4) = -1.1570229662153737, (10, 1) = .5911759635239611, (10, 2) = -.5686990999488276, (10, 3) = -.3292575087686381, (10, 4) = -1.4175220543767815, (11, 1) = .5287159421533129, (11, 2) = -1.0387866156824876, (11, 3) = -.4536222755916294, (11, 4) = -1.707116302360715, (12, 1) = .4210578709701116, (12, 2) = -1.7930205283309093, (12, 3) = -.5983615050778698, (12, 4) = -2.026479240455}, 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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.44654706882920567e-9, (1, 2) = 0.8930941376584113e-9, (1, 3) = -0.11660115003507387e-9, (1, 4) = -0.23320230007014775e-9, (2, 1) = 0.5184164874659681e-9, (2, 2) = 0.11702278412752037e-8, (2, 3) = -0.12215030472928e-9, (2, 4) = -0.2769165153771866e-9, (3, 1) = 0.5130138189599054e-9, (3, 2) = 0.12810914378531673e-8, (3, 3) = -0.6593922001992472e-10, (3, 4) = -0.15202622009505384e-9, (4, 1) = 0.4038331950671749e-9, (4, 2) = 0.1122843286762141e-8, (4, 3) = 0.8891551945238254e-10, (4, 4) = 0.23405932754668444e-9, (5, 1) = 0.23653878436036223e-9, (5, 2) = 0.8158774833557765e-9, (5, 3) = 0.33869220703374234e-9, (5, 4) = 0.864229826349527e-9, (6, 1) = 0.8213819287650267e-10, (6, 2) = 0.587357581392559e-9, (6, 3) = 0.6707163289876966e-9, (6, 4) = 0.1677372598131597e-8, (7, 1) = 0.6768735483580909e-10, (7, 2) = 0.793239507018046e-9, (7, 3) = 0.10186007336928863e-8, (7, 4) = 0.24459136401624438e-8, (8, 1) = 0.29108135009660333e-9, (8, 2) = 0.16444914194945938e-8, (8, 3) = 0.12749780366438772e-8, (8, 4) = 0.2848025643497729e-8, (9, 1) = 0.7127901463753679e-9, (9, 2) = 0.28880114397219305e-8, (9, 3) = 0.13434974398120434e-8, (9, 4) = 0.2649666391003752e-8, (10, 1) = 0.1121310314937023e-8, (10, 2) = 0.3761297312048101e-8, (10, 3) = 0.11817608149834825e-8, (10, 4) = 0.1850786086210383e-8, (11, 1) = 0.11326214302410168e-8, (11, 2) = 0.3016482235544339e-8, (11, 3) = 0.7489823551154503e-9, (11, 4) = 0.5470796602469208e-9, (12, 1) = .0, (12, 2) = -0.13340452196429917e-8, (12, 3) = .0, (12, 4) = -0.9285060467618693e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994833684, (2) = 36893488147994833860, (3) = 36893488147994834036, (4) = 36893488147994834212, (5) = 36893488147994834388}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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 `Phi(Y)` := pointto(data[2][2]); return ('`Phi(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[2] catch: error  end try end proc, diff(Phi(Y), Y) = proc (Y) local res, data, solnproc, `diff(Phi(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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .3570179622513015, (1, 2) = .714035924502603, (1, 3) = 0.744027056263022e-1, (1, 4) = .1488054112526044, (2, 1) = .4154719046230548, (2, 2) = .7028304282410502, (2, 3) = 0.8625464529037288e-1, (2, 4) = .13784466257542877, (3, 1) = .48334190184057546, (3, 2) = .6904674334048575, (3, 3) = 0.9884702749063672e-1, (3, 4) = .11955079314273101, (4, 1) = .5526622328144887, (4, 2) = .679101575109549, (4, 3) = .10967131499314504, (4, 4) = 0.9278015118696008e-1, (5, 1) = .6204145501190071, (5, 2) = .6696643816133148, (5, 3) = .11725404122950828, (5, 4) = 0.5628718991611909e-1, (6, 1) = .6864054544682436, (6, 2) = .6619514656114219, (6, 3) = .12055511197512106, (6, 4) = 0.8046291614122724e-2, (7, 1) = .750095801157572, (7, 2) = .6545953900893556, (7, 3) = .11847507843082528, (7, 4) = -0.5375289735946124e-1, (8, 1) = .8105427942313077, (8, 2) = .6444118075653255, (8, 3) = .11006414458154776, (8, 4) = -.13022181670646316, (9, 1) = .8668452642565985, (9, 2) = .6259042989114706, (9, 3) = 0.9462817589746902e-1, (9, 4) = -.22204924293275274, (10, 1) = .9178273662933578, (10, 2) = .5911759635239611, (10, 3) = 0.7175848620983327e-1, (10, 4) = -.3292575087686381, (11, 1) = .9627446831872639, (11, 2) = .5287159421533129, (11, 3) = 0.4068545775196199e-1, (11, 4) = -.4536222755916294, (12, 1) = 1.0, (12, 2) = .4210578709701116, (12, 3) = .0, (12, 4) = -.5983615050778698}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .714035924502603, (1, 2) = -.13861346882293335, (1, 3) = .1488054112526044, (1, 4) = -.11138957179464909, (2, 1) = .7028304282410502, (2, 2) = -.13241466613643962, (2, 3) = .13784466257542877, (2, 4) = -.1559173606425232, (3, 1) = .6904674334048575, (3, 2) = -.120506377906041, (3, 3) = .11955079314273101, (3, 4) = -.22226633348552927, (4, 1) = .679101575109549, (4, 2) = -.10334334548587512, (4, 3) = 0.9278015118696008e-1, (4, 4) = -.31006015851950963, (5, 1) = .6696643816133148, (5, 2) = -0.8471788499243274e-1, (5, 3) = 0.5628718991611909e-1, (5, 4) = -.420563353088491, (6, 1) = .6619514656114219, (6, 2) = -0.7310710641726373e-1, (6, 3) = 0.8046291614122724e-2, (6, 4) = -.5579702350796149, (7, 1) = .6545953900893556, (7, 2) = -0.8476275727043002e-1, (7, 3) = -0.5375289735946124e-1, (7, 4) = -.7258159800772535, (8, 1) = .6444118075653255, (8, 2) = -.14558963324477606, (8, 3) = -.13022181670646316, (8, 4) = -.9255496495904706, (9, 1) = .6259042989114706, (9, 2) = -.29176360652502714, (9, 3) = -.22204924293275274, (9, 4) = -1.1570229662153737, (10, 1) = .5911759635239611, (10, 2) = -.5686990999488276, (10, 3) = -.3292575087686381, (10, 4) = -1.4175220543767815, (11, 1) = .5287159421533129, (11, 2) = -1.0387866156824876, (11, 3) = -.4536222755916294, (11, 4) = -1.707116302360715, (12, 1) = .4210578709701116, (12, 2) = -1.7930205283309093, (12, 3) = -.5983615050778698, (12, 4) = -2.026479240455}, 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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.44654706882920567e-9, (1, 2) = 0.8930941376584113e-9, (1, 3) = -0.11660115003507387e-9, (1, 4) = -0.23320230007014775e-9, (2, 1) = 0.5184164874659681e-9, (2, 2) = 0.11702278412752037e-8, (2, 3) = -0.12215030472928e-9, (2, 4) = -0.2769165153771866e-9, (3, 1) = 0.5130138189599054e-9, (3, 2) = 0.12810914378531673e-8, (3, 3) = -0.6593922001992472e-10, (3, 4) = -0.15202622009505384e-9, (4, 1) = 0.4038331950671749e-9, (4, 2) = 0.1122843286762141e-8, (4, 3) = 0.8891551945238254e-10, (4, 4) = 0.23405932754668444e-9, (5, 1) = 0.23653878436036223e-9, (5, 2) = 0.8158774833557765e-9, (5, 3) = 0.33869220703374234e-9, (5, 4) = 0.864229826349527e-9, (6, 1) = 0.8213819287650267e-10, (6, 2) = 0.587357581392559e-9, (6, 3) = 0.6707163289876966e-9, (6, 4) = 0.1677372598131597e-8, (7, 1) = 0.6768735483580909e-10, (7, 2) = 0.793239507018046e-9, (7, 3) = 0.10186007336928863e-8, (7, 4) = 0.24459136401624438e-8, (8, 1) = 0.29108135009660333e-9, (8, 2) = 0.16444914194945938e-8, (8, 3) = 0.12749780366438772e-8, (8, 4) = 0.2848025643497729e-8, (9, 1) = 0.7127901463753679e-9, (9, 2) = 0.28880114397219305e-8, (9, 3) = 0.13434974398120434e-8, (9, 4) = 0.2649666391003752e-8, (10, 1) = 0.1121310314937023e-8, (10, 2) = 0.3761297312048101e-8, (10, 3) = 0.11817608149834825e-8, (10, 4) = 0.1850786086210383e-8, (11, 1) = 0.11326214302410168e-8, (11, 2) = 0.3016482235544339e-8, (11, 3) = 0.7489823551154503e-9, (11, 4) = 0.5470796602469208e-9, (12, 1) = .0, (12, 2) = -0.13340452196429917e-8, (12, 3) = .0, (12, 4) = -0.9285060467618693e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994833684, (2) = 36893488147994833860, (3) = 36893488147994834036, (4) = 36893488147994834212, (5) = 36893488147994834388}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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(Phi(Y),Y)` := pointto(data[2][3]); return ('`diff(Phi(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[3] catch: error  end try end proc, V(Y) = proc (Y) local res, data, solnproc, `V(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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .3570179622513015, (1, 2) = .714035924502603, (1, 3) = 0.744027056263022e-1, (1, 4) = .1488054112526044, (2, 1) = .4154719046230548, (2, 2) = .7028304282410502, (2, 3) = 0.8625464529037288e-1, (2, 4) = .13784466257542877, (3, 1) = .48334190184057546, (3, 2) = .6904674334048575, (3, 3) = 0.9884702749063672e-1, (3, 4) = .11955079314273101, (4, 1) = .5526622328144887, (4, 2) = .679101575109549, (4, 3) = .10967131499314504, (4, 4) = 0.9278015118696008e-1, (5, 1) = .6204145501190071, (5, 2) = .6696643816133148, (5, 3) = .11725404122950828, (5, 4) = 0.5628718991611909e-1, (6, 1) = .6864054544682436, (6, 2) = .6619514656114219, (6, 3) = .12055511197512106, (6, 4) = 0.8046291614122724e-2, (7, 1) = .750095801157572, (7, 2) = .6545953900893556, (7, 3) = .11847507843082528, (7, 4) = -0.5375289735946124e-1, (8, 1) = .8105427942313077, (8, 2) = .6444118075653255, (8, 3) = .11006414458154776, (8, 4) = -.13022181670646316, (9, 1) = .8668452642565985, (9, 2) = .6259042989114706, (9, 3) = 0.9462817589746902e-1, (9, 4) = -.22204924293275274, (10, 1) = .9178273662933578, (10, 2) = .5911759635239611, (10, 3) = 0.7175848620983327e-1, (10, 4) = -.3292575087686381, (11, 1) = .9627446831872639, (11, 2) = .5287159421533129, (11, 3) = 0.4068545775196199e-1, (11, 4) = -.4536222755916294, (12, 1) = 1.0, (12, 2) = .4210578709701116, (12, 3) = .0, (12, 4) = -.5983615050778698}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .714035924502603, (1, 2) = -.13861346882293335, (1, 3) = .1488054112526044, (1, 4) = -.11138957179464909, (2, 1) = .7028304282410502, (2, 2) = -.13241466613643962, (2, 3) = .13784466257542877, (2, 4) = -.1559173606425232, (3, 1) = .6904674334048575, (3, 2) = -.120506377906041, (3, 3) = .11955079314273101, (3, 4) = -.22226633348552927, (4, 1) = .679101575109549, (4, 2) = -.10334334548587512, (4, 3) = 0.9278015118696008e-1, (4, 4) = -.31006015851950963, (5, 1) = .6696643816133148, (5, 2) = -0.8471788499243274e-1, (5, 3) = 0.5628718991611909e-1, (5, 4) = -.420563353088491, (6, 1) = .6619514656114219, (6, 2) = -0.7310710641726373e-1, (6, 3) = 0.8046291614122724e-2, (6, 4) = -.5579702350796149, (7, 1) = .6545953900893556, (7, 2) = -0.8476275727043002e-1, (7, 3) = -0.5375289735946124e-1, (7, 4) = -.7258159800772535, (8, 1) = .6444118075653255, (8, 2) = -.14558963324477606, (8, 3) = -.13022181670646316, (8, 4) = -.9255496495904706, (9, 1) = .6259042989114706, (9, 2) = -.29176360652502714, (9, 3) = -.22204924293275274, (9, 4) = -1.1570229662153737, (10, 1) = .5911759635239611, (10, 2) = -.5686990999488276, (10, 3) = -.3292575087686381, (10, 4) = -1.4175220543767815, (11, 1) = .5287159421533129, (11, 2) = -1.0387866156824876, (11, 3) = -.4536222755916294, (11, 4) = -1.707116302360715, (12, 1) = .4210578709701116, (12, 2) = -1.7930205283309093, (12, 3) = -.5983615050778698, (12, 4) = -2.026479240455}, 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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.44654706882920567e-9, (1, 2) = 0.8930941376584113e-9, (1, 3) = -0.11660115003507387e-9, (1, 4) = -0.23320230007014775e-9, (2, 1) = 0.5184164874659681e-9, (2, 2) = 0.11702278412752037e-8, (2, 3) = -0.12215030472928e-9, (2, 4) = -0.2769165153771866e-9, (3, 1) = 0.5130138189599054e-9, (3, 2) = 0.12810914378531673e-8, (3, 3) = -0.6593922001992472e-10, (3, 4) = -0.15202622009505384e-9, (4, 1) = 0.4038331950671749e-9, (4, 2) = 0.1122843286762141e-8, (4, 3) = 0.8891551945238254e-10, (4, 4) = 0.23405932754668444e-9, (5, 1) = 0.23653878436036223e-9, (5, 2) = 0.8158774833557765e-9, (5, 3) = 0.33869220703374234e-9, (5, 4) = 0.864229826349527e-9, (6, 1) = 0.8213819287650267e-10, (6, 2) = 0.587357581392559e-9, (6, 3) = 0.6707163289876966e-9, (6, 4) = 0.1677372598131597e-8, (7, 1) = 0.6768735483580909e-10, (7, 2) = 0.793239507018046e-9, (7, 3) = 0.10186007336928863e-8, (7, 4) = 0.24459136401624438e-8, (8, 1) = 0.29108135009660333e-9, (8, 2) = 0.16444914194945938e-8, (8, 3) = 0.12749780366438772e-8, (8, 4) = 0.2848025643497729e-8, (9, 1) = 0.7127901463753679e-9, (9, 2) = 0.28880114397219305e-8, (9, 3) = 0.13434974398120434e-8, (9, 4) = 0.2649666391003752e-8, (10, 1) = 0.1121310314937023e-8, (10, 2) = 0.3761297312048101e-8, (10, 3) = 0.11817608149834825e-8, (10, 4) = 0.1850786086210383e-8, (11, 1) = 0.11326214302410168e-8, (11, 2) = 0.3016482235544339e-8, (11, 3) = 0.7489823551154503e-9, (11, 4) = 0.5470796602469208e-9, (12, 1) = .0, (12, 2) = -0.13340452196429917e-8, (12, 3) = .0, (12, 4) = -0.9285060467618693e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994833684, (2) = 36893488147994833860, (3) = 36893488147994834036, (4) = 36893488147994834212, (5) = 36893488147994834388}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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 `V(Y)` := pointto(data[2][4]); return ('`V(Y)`')(Y) end if end if; try res := solnproc(outpoint); res[4] catch: error  end try end proc, diff(V(Y), Y) = proc (Y) local res, data, solnproc, `diff(V(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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = .3570179622513015, (1, 2) = .714035924502603, (1, 3) = 0.744027056263022e-1, (1, 4) = .1488054112526044, (2, 1) = .4154719046230548, (2, 2) = .7028304282410502, (2, 3) = 0.8625464529037288e-1, (2, 4) = .13784466257542877, (3, 1) = .48334190184057546, (3, 2) = .6904674334048575, (3, 3) = 0.9884702749063672e-1, (3, 4) = .11955079314273101, (4, 1) = .5526622328144887, (4, 2) = .679101575109549, (4, 3) = .10967131499314504, (4, 4) = 0.9278015118696008e-1, (5, 1) = .6204145501190071, (5, 2) = .6696643816133148, (5, 3) = .11725404122950828, (5, 4) = 0.5628718991611909e-1, (6, 1) = .6864054544682436, (6, 2) = .6619514656114219, (6, 3) = .12055511197512106, (6, 4) = 0.8046291614122724e-2, (7, 1) = .750095801157572, (7, 2) = .6545953900893556, (7, 3) = .11847507843082528, (7, 4) = -0.5375289735946124e-1, (8, 1) = .8105427942313077, (8, 2) = .6444118075653255, (8, 3) = .11006414458154776, (8, 4) = -.13022181670646316, (9, 1) = .8668452642565985, (9, 2) = .6259042989114706, (9, 3) = 0.9462817589746902e-1, (9, 4) = -.22204924293275274, (10, 1) = .9178273662933578, (10, 2) = .5911759635239611, (10, 3) = 0.7175848620983327e-1, (10, 4) = -.3292575087686381, (11, 1) = .9627446831872639, (11, 2) = .5287159421533129, (11, 3) = 0.4068545775196199e-1, (11, 4) = -.4536222755916294, (12, 1) = 1.0, (12, 2) = .4210578709701116, (12, 3) = .0, (12, 4) = -.5983615050778698}, datatype = float[8], order = C_order); YP := Matrix(12, 4, {(1, 1) = .714035924502603, (1, 2) = -.13861346882293335, (1, 3) = .1488054112526044, (1, 4) = -.11138957179464909, (2, 1) = .7028304282410502, (2, 2) = -.13241466613643962, (2, 3) = .13784466257542877, (2, 4) = -.1559173606425232, (3, 1) = .6904674334048575, (3, 2) = -.120506377906041, (3, 3) = .11955079314273101, (3, 4) = -.22226633348552927, (4, 1) = .679101575109549, (4, 2) = -.10334334548587512, (4, 3) = 0.9278015118696008e-1, (4, 4) = -.31006015851950963, (5, 1) = .6696643816133148, (5, 2) = -0.8471788499243274e-1, (5, 3) = 0.5628718991611909e-1, (5, 4) = -.420563353088491, (6, 1) = .6619514656114219, (6, 2) = -0.7310710641726373e-1, (6, 3) = 0.8046291614122724e-2, (6, 4) = -.5579702350796149, (7, 1) = .6545953900893556, (7, 2) = -0.8476275727043002e-1, (7, 3) = -0.5375289735946124e-1, (7, 4) = -.7258159800772535, (8, 1) = .6444118075653255, (8, 2) = -.14558963324477606, (8, 3) = -.13022181670646316, (8, 4) = -.9255496495904706, (9, 1) = .6259042989114706, (9, 2) = -.29176360652502714, (9, 3) = -.22204924293275274, (9, 4) = -1.1570229662153737, (10, 1) = .5911759635239611, (10, 2) = -.5686990999488276, (10, 3) = -.3292575087686381, (10, 4) = -1.4175220543767815, (11, 1) = .5287159421533129, (11, 2) = -1.0387866156824876, (11, 3) = -.4536222755916294, (11, 4) = -1.707116302360715, (12, 1) = .4210578709701116, (12, 2) = -1.7930205283309093, (12, 3) = -.5983615050778698, (12, 4) = -2.026479240455}, 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(12, {(1) = .0, (2) = 0.825165401861855e-1, (3) = .1799535978182488, (4) = .281204481969896, (5) = .38169353083773294, (6) = .4808221778560114, (7) = .5775625837649319, (8) = .670562383213479, (9) = .7590565540628164, (10) = .8425711109769515, (11) = .9223448208475137, (12) = 1.0}, datatype = float[8], order = C_order); Y := Matrix(12, 4, {(1, 1) = 0.44654706882920567e-9, (1, 2) = 0.8930941376584113e-9, (1, 3) = -0.11660115003507387e-9, (1, 4) = -0.23320230007014775e-9, (2, 1) = 0.5184164874659681e-9, (2, 2) = 0.11702278412752037e-8, (2, 3) = -0.12215030472928e-9, (2, 4) = -0.2769165153771866e-9, (3, 1) = 0.5130138189599054e-9, (3, 2) = 0.12810914378531673e-8, (3, 3) = -0.6593922001992472e-10, (3, 4) = -0.15202622009505384e-9, (4, 1) = 0.4038331950671749e-9, (4, 2) = 0.1122843286762141e-8, (4, 3) = 0.8891551945238254e-10, (4, 4) = 0.23405932754668444e-9, (5, 1) = 0.23653878436036223e-9, (5, 2) = 0.8158774833557765e-9, (5, 3) = 0.33869220703374234e-9, (5, 4) = 0.864229826349527e-9, (6, 1) = 0.8213819287650267e-10, (6, 2) = 0.587357581392559e-9, (6, 3) = 0.6707163289876966e-9, (6, 4) = 0.1677372598131597e-8, (7, 1) = 0.6768735483580909e-10, (7, 2) = 0.793239507018046e-9, (7, 3) = 0.10186007336928863e-8, (7, 4) = 0.24459136401624438e-8, (8, 1) = 0.29108135009660333e-9, (8, 2) = 0.16444914194945938e-8, (8, 3) = 0.12749780366438772e-8, (8, 4) = 0.2848025643497729e-8, (9, 1) = 0.7127901463753679e-9, (9, 2) = 0.28880114397219305e-8, (9, 3) = 0.13434974398120434e-8, (9, 4) = 0.2649666391003752e-8, (10, 1) = 0.1121310314937023e-8, (10, 2) = 0.3761297312048101e-8, (10, 3) = 0.11817608149834825e-8, (10, 4) = 0.1850786086210383e-8, (11, 1) = 0.11326214302410168e-8, (11, 2) = 0.3016482235544339e-8, (11, 3) = 0.7489823551154503e-9, (11, 4) = 0.5470796602469208e-9, (12, 1) = .0, (12, 2) = -0.13340452196429917e-8, (12, 3) = .0, (12, 4) = -0.9285060467618693e-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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then error "this is already the error procedure" elif outpoint = "rawdata" then return [4, 12, [Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(Y), Y)], X, Y] else return ('procname')(x_bvp) end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 4, X, Y, outpoint, var(yout), var(L), var(V))) else L := Vector(4, 'datatype' = 'sfloat'); yout := Vector(4, 'datatype' = 'sfloat'); `dsolve/numeric/lagrange`(12, 4, X, Y, outpoint, yout, L, V) end if; [Y = outpoint, seq('[Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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[12] elif outpoint = "order" then return 6 elif outpoint = "error" then return HFloat(3.761297312048101e-9) elif outpoint = "errorproc" then return eval(errproc) elif outpoint = "rawdata" then return [4, 12, "depnames", X, Y, YP] else error "non-numeric value" end if end if; if outpoint < X[1] or X[12] < outpoint then error "solution is only defined in the range %1..%2", X[1], X[12] 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`(12, 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`(12, 4, X, Y, YP, outpoint, yout, L, V) end if; [outpoint, seq(yout[i], i = 1 .. 4)] end proc, (2) = Array(1..5, {(1) = 36893488147994833684, (2) = 36893488147994833860, (3) = 36893488147994834036, (4) = 36893488147994834212, (5) = 36893488147994834388}), (3) = [Y, Phi(Y), diff(Phi(Y), Y), V(Y), diff(V(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(V(Y),Y)` := pointto(data[2][5]); return ('`diff(V(Y),Y)`')(Y) end if end if; try res := solnproc(outpoint); res[5] catch: error  end try end proc]

 

HFloat(0.6693996008781684)

 

HFloat(0.0941275573450485)