tomleslie

13876 Reputation

20 Badges

15 years, 172 days

MaplePrimes Activity


These are answers submitted by tomleslie

requires that the variable be 'L' be given a value.

The attached uses L=10, althogh it can easily be changed

  restart;
#
# Have to give 'L' a value to enable
# numeric solution
#
  L:=10:
  PDE := 35139.16048*(diff(w(x, t), x, x, x, x))+98646.00937*(diff(w(x, t), t, t))-2771.636*(diff(w(x, t), x, x)) = 24883.20000:
  bcs:= w(0,t)=0, D[1](w)(0,t)=0, D[1,1](w)(L,t)=0, D[1,1,1](w)(L,t)=0:
  ics:= w(x,0)=0, D[2](w)(x,0)=0:
  sol:=pdsolve(PDE, [bcs, ics], numeric):
#
# Plot w(x,t) for x=L/2 and t=0..10
#
  sol:-plot(x=L/2, t=0..10);
#
# Plot w(x,t) for x=0..L and t=5
#
  sol:-plot(t=0.5, x=0..L);
#
# 3D plot of w(x,t) for x=0..L, and t=0..10)
#
  sol:-plot3d( x=0..L, t=0..10);

 

 

 

 

 

 


 

Download solvePDE2.mw

You cannot really expect the drawing tool within Maple to have the capabilities of a serious drawing program. Maple is a system for mathemetical calculation - not drawing.

You have two choices

  1. Use an external drawing packing (Gimp/Visio/whatever). Export from that package into a format understood by the Maple drawing tool, and then use an "import" command
  2. Use the plottoools() package within Maple to produce a suitable drawing, export the result in an appropriate format. Then use an import command in the target worksheet as in (1) above

upload actual worksheet using the big green up-arrow in the Mapleprimes toolbar.

The code you present in your oriignal post cannot produce the output you present for three reasons

  1. the variable 'q' is undefined
  2. you have two first order differential equations, which obviously require two initlal conditions in order for a numeric solution to be feasible. No initial conditions are supplied

What is wrong with a simple function definition, as in the attached; the function may be called from top-level or from within a package. Scoping is pretty much the same as any other function definition

  restart;
  r:= (x,y)-> Record( 'name'=x, 'age'=y):
  myModule:= module()
                    global r;
                    option package;
                    export makeRec;
                    makeRec:= proc( a, b )
                                    return r(a,b)
                              end proc;
             end module:
  with(myModule):

  s1:=r("JohnDoe1", 26):
  s2:=r("JohnDoe2", 28):
  s3:=makeRec("JohnDoe3", 30):
  s1:-name;
  s2:-age;
  s3:-age;

"JohnDoe1"

 

28

 

30

(1)

 

 


 

Download makeRec.mw

With R=0.5, the integrand is positive over some of the domain z=-R..R, y=0..R and negative over the rest. My "calibrated eyeball" thnks that, overall, the integral ought to be negative - which it is. See the attached

No idea what your plot command is doing because 'phi' is undefined


 

Integrand := parse(FileTools[Text][ReadFile]("C:/Users/TomLeslie/Desktop/1.txt")):
#
# Evaluate the integral
#
  R:=0.5:
  evalf(Int(Integrand, [z = -R .. R, y = 0 .. R]));
#
# Plot the integrand over the region specified
# by the limits of integration
#
  plot3d(Integrand, z=-R..R, y=0..R);

-0.1342931338e-2

 

 

 


 

Download posNegInt.mw

 

which doesn't use the 'background' option. (and just because I like alternatives)

Rendering is better in the worksheet than it is on this site - honest!

Differential Geometry

restart;

with(VectorCalculus):with(LinearAlgebra):with(plots):

Digits:=10:
interface(displayPrecision=10):
with(VectorCalculus):BasisFormat(false):

Frenet Frame

 

frenet := proc(p)
               local vel, speed, unitT, curv, kappa, unitN, unitB, tors:
               vel := diff(p,s):
               speed := simplify(Norm(vel)):
               unitT := simplify(vel/speed):
               curv := simplify(diff(unitT,s)):
               kappa := simplify(Norm(curv)):
               unitN := simplify(curv/kappa):
               unitB := simplify(unitT &x unitN):
               tors := diff(unitB,s)/~unitN:
              # print("Velocity",vel,"Speed",speed,"T",unitT,"Curvature",curv,"Kappa",kappa,"N",unitN,"B",unitB,"Torsion",tors);
               return([vel,curv,unitB]):
          end proc:

Testing

 

p :=unapply( <3*arcsinh(s/5), (25+s^2)^(1/2), 4*arcsinh(s/5)>, s):
ptan:=unapply(frenet(p(s))[1],s):
display( [ spacecurve
           ( p(s),
             s = 0 .. 16*Pi,
             numpoints = 1000
           ),
           display
           ( [ seq
               ( arrow
                 ( p(A),
                   ptan(A),
                   width=0.3,
                   length=4
                 ),
                 A=0..50
               )
             ],
             insequence=true
           )
         ]
       );

 

 

Download anim.mw

the same way as you would generate any other subGraph - see the attached

  restart;
  with(GraphTheory):
  with(RandomGraphs):
#
# Create some random weighted graph
# and draw it
#
  G := RandomDigraph(10, .5, weights=1..5);
  DrawGraph(G);

GRAPHLN(directed, weighted, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Array(%id = 18446744074329129078), `GRAPHLN/table/1`, Matrix(%id = 18446744074329130638))

 

 

#
# Output the edges of the above graph then
# select a few of these
#
  E:=Edges(G);
  e:=E[1..5];
#
# Create a subgraph on the restricted set of edges
# then draw it
#
  s:=Subgraph(G, e);
  DrawGraph(s);
  

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

 

{[1, 2], [1, 6], [1, 9], [1, 10], [2, 3]}

 

GRAPHLN(directed, weighted, [1, 2, 3, 6, 9, 10], Array(%id = 18446744074347199174), `GRAPHLN/table/5`, Matrix(%id = 18446744074347200374))

 

 

 


 

Download subG.mw

so I'm going to "fix" all of your typos by pure guesswork - in which case I get the attached

restart;
w:=(x)->sin(lambda*x)+b*cos(lambda*x)-sinh(lambda*x)-b*cosh(lambda*x);
b := -(sin(lambda*L)+sinh(lambda*L))/(cos(lambda*L)+cosh(lambda*L));

proc (x) options operator, arrow; sin(lambda*x)+b*cos(lambda*x)-sinh(lambda*x)-b*cosh(lambda*x) end proc

 

-(sin(lambda*L)+sinh(lambda*L))/(cos(lambda*L)+cosh(lambda*L))

(1)

expr:=eval(int(w(x)^2,x=0..L), L=10);
plot( expr, lambda=-1..1)

(1/8)*(20*lambda*exp(40*lambda)+80*sin(10*lambda)*lambda*exp(30*lambda)-80*cos(10*lambda)^2*lambda*exp(20*lambda)-6*sin(10*lambda)*cos(10*lambda)*exp(40*lambda)+6*exp(40*lambda)*cos(10*lambda)^2+40*lambda*exp(20*lambda)-80*sin(10*lambda)*lambda*exp(10*lambda)+exp(40*lambda)-10*sin(10*lambda)*exp(30*lambda)+14*cos(10*lambda)*exp(30*lambda)-12*sin(10*lambda)*cos(10*lambda)*exp(20*lambda)-4*exp(20*lambda)*sin(10*lambda)*cosh(10*lambda)-4*exp(20*lambda)*sinh(10*lambda)*cos(10*lambda)-4*exp(20*lambda)*sinh(10*lambda)*cosh(10*lambda)+20*lambda-10*sin(10*lambda)*exp(10*lambda)-14*cos(10*lambda)*exp(10*lambda)-6*sin(10*lambda)*cos(10*lambda)-6*cos(10*lambda)^2-1)*exp(-20*lambda)/(lambda*(cos(10*lambda)^2+2*cos(10*lambda)*cosh(10*lambda)+cosh(10*lambda)^2))

 

 

fsolve( expr=1, lambda=-0.5..0);
fsolve( expr=1, lambda= 0..0.5);

-.1007127230

 

.1007127230

(2)

 


 

Download solveEq2.mw

with a large numeber of points (eg 1000) you are going to run out of labels in the dataframe quite quickly - in fact after about 26 entries. Generating appropriate labels for your 'dataframe' will probably become more cumbersome than generating the data - so why bother??? For your requirement a 2X1000(ish) matrix would suffice.

If your datapoints have integer values, then Maple will calculate exact distances which will (almost certainly) contain square root symbols. Trust me, Excel isn't going to like these! It is probably a good idea to "force" a floating point conversion within the ExcelTools:-Export() command.

The attached illustrates the technique

  restart;
  with(Student:-Calculus1):
#
# Specify the "reference" points
#
  refpts:=[ [1,1],
            [2,4]
          ];
#
# Generate 'n' random points whose x-coordinates
# are in the range -xRange..xRange and y-coordinates
# are in the range -yRange..yRange.
#
# Specific values chose below are just for illustration
#
  n:=100: xRange:=10: yRange:=20:
  xR:=rand(-xRange..xRange):
  yR:=rand(-yRange..yRange):
  pts:=[seq([xR(), yR()],j=1..n)]:
#
# Produce a matrix
#
#  1. first row is the distance from refpts[1] to
#     each of the random points generated above
#  2. second row is the distance from refpts[2] to
#     each of the random points generated above
#
  d:= Matrix
      ( 2,
        n,
        (i,j)-> Distance
                ( refpts[i],
                  pts[j]
                )
      );
#
# Export the distance matrix to Excel. Note that if
# integers have been used in the above calculations
# then the computed distance value is likely to contain
# a square root symbol, whihc Excel isn't going to like!
# Best to force a floating point evaluation at this point
#
# OP will also have to change the file path to something
# appropriate for his/her machine
#
  ExcelTools:-Export( evalf~(d),
                      "C:/Users/TomLeslie/Desktop/test.xlsx",
                       1, "B2"
                    );

refpts := [[1, 1], [2, 4]]

 

_rtable[18446744074399240054]

(1)

 


Download toXL.mw

On my machine this produces the file

test.xlsx

as in the attached

restart;
expr1:=(x^2-1)*y/x^2+(x^2-1)/x^2;
thaw(algsubs((y+1)=freeze((y+1)), expr1));

(x^2-1)*y/x^2+(x^2-1)/x^2

 

(y+1)*(x^2-1)/x^2

(1)

 

Download frth2.mw

Although, I do admit that working out exactly which sub-expression to "freeze", can sometimes be a bit of a "black art"

  1. Please upload a worksheet using the big green up-arrow in the MaplePrimes toolbar
  2. By using a lot of guesswork, I managed to come up with the attached - but this did involve butchery on the code you originally presented
  3. Main syntax-type changes I made were
    1. Using square brackets ( ie [] not () ) when one wants to access an indexaxable quantity
    2. Realising that when one uses Statistics:-Mean() to compute the "mean" of a Matrix, the result is returned as a vector. Hence the quantity 'MeanY' in your worksheet  can only be used with a single index - so MeanY[1] rather than MeanY[1,1] everywhere it is used

For what it is worth, and bearing in mind the outright butchery I performed on the code you posted, the attached now actually runs without error. Whether or not it bears any relation to what you want, I have no idea


 

restart:               

interface(rtablesize = 50); with(LinearAlgebra): with(plots):with(Statistics): with(ArrayTools):
Y := Matrix(12, 1, [2, 3, 2, 7, 6, 8, 10, 7, 8, 12, 11, 14]);
MeanY := Mean(Y);
n := ArrayNumElems(Y);
type(Y, Matrix);
X := Matrix(12, 3, [1, 0, 2, 1, 2, 6, 1, 2, 7, 1, 2, 5, 1, 4, 9, 1, 4, 8, 1, 4, 7, 1, 6, 10, 1, 6, 11, 1, 6, 9, 1, 8, 15, 1, 8, 13]);
 k := NumElems(X)/n;
Xprimed := Transpose(X);
XprimedX := Xprimed . X;
XprimedXinverse := MatrixInverse(XprimedX);
XprimedY := Xprimed . Y;
Betahat := XprimedXinverse . XprimedY;
Betahat := convert(Betahat, float);
fit := plot3d(5.38+3.01*X1-1.29*X2, X1 = 0 .. 8, X2 = 2 .. 15);
data := pointplot3d({[0, 2, 2], [2, 5, 7], [2, 6, 3], [2, 7, 2], [4, 7, 10], [4, 8, 8], [4, 9, 6], [6, 9, 12], [6, 10, 7], [6, 11, 8], [8, 13, 14], [8, 15, 11]}, axes = normal, color = red, symbol = soliddiamond, symbolsize = 40, scaling = unconstrained, title = `\` Data vs Best Fit ' `);

display({data, fit});
Yprimed := Transpose(Y);
 YprimedY := Yprimed . Y;
 BetahatPrime := Transpose(Betahat);
SSE := YprimedY-BetahatPrime . XprimedY;
SampleVariance := (YprimedY-BetahatPrime . XprimedY)/(n-k-1);
SSR := Transpose(Betahat) . Transpose(X) . Y-n*MeanY(1, 1)^2;

SST := SSR+SSE;
 F := SSR[1, 1]*(n-k-1)/(k*SSE);

RsquaredNonCentered := Determinant(SSR)/Determinant(SST);
 R := sqrt(%);
RsquaredCentered:= ((Transpose(Betahat) . Transpose(X) . Y) - n*MeanY[1]^2) .(1/((Yprimed . Y) - n*MeanY[1]^2));
F := SSR[1, 1]*(n-k-1)/(k*SSE[1, 1]);
 SSE; SSR; SSR+SSE;
 Total := Yprimed . Y-n*MeanY[1]^2;

[10, 10]

 

Vector(12, {(1) = 2, (2) = 3, (3) = 2, (4) = 7, (5) = 6, (6) = 8, (7) = 10, (8) = 7, (9) = 8, (10) = 12, (11) = 11, (12) = 14})

 

Vector(1, {(1) = 7.5})

 

n := 12

 

true

 

Matrix(12, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 2, (2, 1) = 1, (2, 2) = 2, (2, 3) = 6, (3, 1) = 1, (3, 2) = 2, (3, 3) = 7, (4, 1) = 1, (4, 2) = 2, (4, 3) = 5, (5, 1) = 1, (5, 2) = 4, (5, 3) = 9, (6, 1) = 1, (6, 2) = 4, (6, 3) = 8, (7, 1) = 1, (7, 2) = 4, (7, 3) = 7, (8, 1) = 1, (8, 2) = 6, (8, 3) = 10, (9, 1) = 1, (9, 2) = 6, (9, 3) = 11, (10, 1) = 1, (10, 2) = 6, (10, 3) = 9, (11, 1) = 1, (11, 2) = 8, (11, 3) = 15, (12, 1) = 1, (12, 2) = 8, (12, 3) = 13})

 

k := 3

 

Matrix(3, 12, {(1, 1) = 1, (1, 2) = 1, (1, 3) = 1, (1, 4) = 1, (1, 5) = 1, (1, 6) = 1, (1, 7) = 1, (1, 8) = 1, (1, 9) = 1, (1, 10) = 1, (1, 11) = 1, (1, 12) = 1, (2, 1) = 0, (2, 2) = 2, (2, 3) = 2, (2, 4) = 2, (2, 5) = 4, (2, 6) = 4, (2, 7) = 4, (2, 8) = 6, (2, 9) = 6, (2, 10) = 6, (2, 11) = 8, (2, 12) = 8, (3, 1) = 2, (3, 2) = 6, (3, 3) = 7, (3, 4) = 5, (3, 5) = 9, (3, 6) = 8, (3, 7) = 7, (3, 8) = 10, (3, 9) = 11, (3, 10) = 9, (3, 11) = 15, (3, 12) = 13})

 

Matrix(3, 3, {(1, 1) = 12, (1, 2) = 52, (1, 3) = 102, (2, 1) = 52, (2, 2) = 296, (2, 3) = 536, (3, 1) = 102, (3, 2) = 536, (3, 3) = 1004})

 

Matrix(3, 3, {(1, 1) = 309/317, (1, 2) = 77/317, (1, 3) = -145/634, (2, 1) = 77/317, (2, 2) = 411/2536, (2, 3) = -141/1268, (3, 1) = -145/634, (3, 2) = -141/1268, (3, 3) = 53/634})

 

Vector(3, {(1) = 90, (2) = 482, (3) = 872})

 

Vector(3, {(1) = 1704/317, (2) = 3819/1268, (3) = -815/634})

 

Vector(3, {(1) = 5.375394322, (2) = 3.011829653, (3) = -1.285488959})

 

 

 

 

Vector[row](12, {(1) = 2, (2) = 3, (3) = 2, (4) = 7, (5) = 6, (6) = 8, (7) = 10, (8) = 7, (9) = 8, (10) = 12, (11) = 11, (12) = 14})

 

Vector(1, {(1) = 840})

 

Vector[row](3, {(1) = 5.375394322, (2) = 3.011829653, (3) = -1.285488959})

 

Vector(1, {(1) = 25.458990522000022})

 

Vector(1, {(1) = 3.1823738152500027})

 

Vector(1, {(1) = 139.54100947799998})

 

Vector(1, {(1) = 165.0})

 

Vector(1, {(1) = 14.616029582415962})

 

RsquaredNonCentered := .845703087745454

 

R := .919621165342259

 

Vector(1, {(1) = .8457030877454544})

 

F := 14.6160295824160

 

Vector(1, {(1) = 25.458990522000022})

 

Vector(1, {(1) = 139.54100947799998})

 

Vector(1, {(1) = 165.0})

 

Matrix(%id = 18446744074376644238)

(1)

 


 

Download matProb.mw

 

Just put the desired values of Mh in a list and add another loop, which will permit a sequence of plots to be obtained. Thes can then be displayed together. Just make sure that the number of entries in the list 'colors' is the same as the number of entries in the list 'Mh'

Code changes are highlighted in the attached

restart:
with(plots):
m:=10:H:=1:b:=0.02:a:=0.05:V:=Array(0..m): V[0]:=1-exp(-t):
plts:=NULL:
Mh:=[1,2,3,4]:
colors:=[red, blue, green, black]:
for zz from 1 to 4 by 1 do
    for k from 1 to m do
        if   k=1
        then chi:=0:
        else chi:=1: # OP's code here didn't make sense
        fi:
        p:=0:
        for j from 0 to k-1 do
            p:=p+(V[k-1-j]*diff(V[j],t$2)-diff(V[k-1-j],t)*diff(V[j],t)-a*(2*diff(V[k-1-j],t)*diff(V[j],t$3)-diff(V[k-1-j],t$2)*diff(V[j],t$2)-V[k-1-j]*diff(V[j],t$4))):
        od:
        p:=(p+diff(V[k-1],t$3)-b*(diff(V[k-1],t$2)+t*diff(V[k-1],t$3))-Mh[zz]*diff(V[k-1],t))*h*H:
        p:=factor(p):
        V[k]:=(-int(p,t)+0.5*exp(t)*int(exp(-t)*p,t)+0.5*exp(-t)*int(exp(t)*p,t)+chi*V[k-1]+C1+C3*exp(-t)):
        v:=unapply(V[k],t):
        V[k]:=frontend(expand,[V[k]]):
        V[k]:=subs(C3=solve(eval(subs(t=0,diff(V[k],t))),C3),V[k]):
        V[k]:=frontend(expand,[V[k]]):
        V[k]:=subs(C1=solve(eval(subs(t=0,-V[k]-diff(V[k],t))),C1),V[k]):
    od:
    appr:=0:
    for k from 0 to m do
        appr:=appr+V[k]:
    od:
    u_appr:=unapply(appr,(h,t)):
    u_appr_1:=unapply(diff(u_appr(h,t),t),(h,t)):
    evalf(u_appr_1(-0.4,t)):
    plts:=plts, plot([u_appr_1(-0.4,t)],t=0..4,0..1.2,color=colors[zz],axes=frame):
od:
display([plts]);

 

 

 


 

Download odeProb.mw

something like

restart;
f := a*x+b;
g := (p, q) -> unapply( eval(f, [a=p, b=q]), x):
g(a, b)(x);
g(2, 3)(t);

a*x+b

 

a*x+b

 

2*t+3

(1)

 


Download funcomp.mw

to generate all the data which you want.

The only difficulty seems to be how you want data to be saved and then accessed - only you know this

Amongst other things, the attached will output all values of -R(0)[3])  and also demonstrate how to access/display a value corresponding to a specific combination of 'bi' and 'pr'.

It is trivial to organise this data any way you want. You just have to be able to specify how you want it!!

  restart:
  with(plots):
  fcns:= {T(eta), f(eta)}:
  m:= .5: bet:= 1: na:= 1/6: N:= 5:
  eq1:= diff(f(eta), eta$3)*pr+m-m*(diff(f(eta), eta))+((m+1)*(1/2))*(diff(f(eta), eta$2))*f(eta) = 0:
  eq2:= diff(T(eta), eta$2)+((m+1)*(1/2))*(diff(T(eta), eta))*f(eta) = 0:
  bc:= f(0) = 0, D(f)(0) = 0, D(f)(N) = 1, D(T)(0) = -bi*(1-T(0)), T(N) = 0:
  plts:=NULL:
  for bi from 1 to 4 by 0.1 do    
      for pr from 1 to 2 by 0.1 do  
          R:= dsolve
              ( {bc, eq1, eq2},
                fcns,
                type = numeric,
                method = bvp[midrich],
                maxmesh=2400
              ):
          X1[bi, pr]:= -R(0)[3]:
          plts:= plts,
                 odeplot
                 ( R,
                   [ [ eta, T(eta)],
                     [ eta, diff(T(eta),eta)],
                     [ eta, f(eta)],
                     [ eta, diff(f(eta), eta)]
                   ],
                   eta =0..N,
                   color=[red, blue, green, grey]
                 ):
      end do:  
  end do:
#
# Display all plots
#
  display([plts]);
#
# Output all values of -R(0)[3]
#
  X1();
#
# Output the value of -R(0)[3] for
# bi=3.7, pr=1.2 (just as an example)
#
  X1[3.7, 1.2]

 

(table( [( 1.9, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3685471185517967), ( 2.1, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3566056707899961), ( 4.0, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.4063555123062397), ( 2.3, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3598368356117598), ( 2.7, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.37059028404251043), ( 1.3, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.32286620738758504), ( 3.2, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3865857817486042), ( 1.8, 1 ) = -(diff(T(eta), eta)) = HFloat(0.36804774565588166), ( 3.6, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.39492554189970075), ( 4.0, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.38546715936994363), ( 3.9, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3869313670902811), ( 1.9, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3653348257498673), ( 2.6, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.38885436707254006), ( 3.4, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3768095431377291), ( 2.3, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3851685693796018), ( 2.3, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3691357324117606), ( 3.3, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3777454974137787), ( 3.5, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.39063075394660707), ( 4.0, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.38789347061256635), ( 1.3, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3382638404805423), ( 2.0, 1 ) = -(diff(T(eta), eta)) = HFloat(0.37573034018595075), ( 2.3, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3779743868095872), ( 1.7, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.35179304049512566), ( 2.0, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3536033621581177), ( 2.5, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3865419283936697), ( 1.9, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.35244584182886457), ( 2.9, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.38473780714072997), ( 2.8, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.37479258580492053), ( 2.1, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3545539547959186), ( 2.7, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.39102032086987887), ( 1.2, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.321793665926088), ( 4.0, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3932207957938002), ( 1.2, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.31317761068874317), ( 3.4, 1 ) = -(diff(T(eta), eta)) = HFloat(0.40723230179133924), ( 2.4, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3840676244365858), ( 3.1, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.39125827860964574), ( 3.9, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3982865144973882), ( 1, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.30541363725338794), ( 2.6, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.36864418784988556), ( 1.4, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.328697264397516), ( 3.4, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3813671546811552), ( 1, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3020235978500463), ( 2.7, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.38407676304619276), ( 3.6, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.39823920996118556), ( 1.7, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3603244234728465), ( 2.2, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3572959611729115), ( 3.1, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3749762774891147), ( 3.4, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.38385988650143804), ( 1.2, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3238679200134328), ( 1.7, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.34706124579439357), ( 3.2, 1 ) = -(diff(T(eta), eta)) = HFloat(0.40420645762960516), ( 1, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3137706271733252), ( 1.5, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3423471283438797), ( 2.7, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3781263901888064), ( 2.8, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3829234582291056), ( 3.4, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3865155334849777), ( 3.7, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.4069487730117626), ( 1.5, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.35042125985954675), ( 1.3, 1 ) = -(diff(T(eta), eta)) = HFloat(0.34121377991131435), ( 2.5, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.36886763496416), ( 2.9, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.37413178088547927), ( 3.9, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.38224061058665876), ( 3.5, 1 ) = -(diff(T(eta), eta)) = HFloat(0.40863068507444056), ( 2.4, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.36219792535626677), ( 2.8, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3773238353192568), ( 1.6, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3386355296322837), ( 4.0, 1 ) = -(diff(T(eta), eta)) = HFloat(0.4146825424884372), ( 1.2, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.32849000634897485), ( 1.2, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3147041036872464), ( 1.5, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.34751592381768215), ( 2.4, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3690353920191932), ( 1.7, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3572532740134888), ( 2.8, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3930532814172942), ( 2.8, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.37241586206570343), ( 1.6, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.33678484790971086), ( 1.4, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.334612249292344), ( 2.5, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.37131922424305897), ( 3.2, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.37871222084608863), ( 1.9, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3483628064613999), ( 3.8, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.38352196043007053), ( 2.3, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3578424954891447), ( 3.0, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3734704435606725), ( 2.6, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3643839023617166), ( 2.7, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.366285161840364), ( 2.2, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.35937962775126775), ( 1.5, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.33042453837685737), ( 1.7, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3636735874534946), ( 3.1, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.37971123630146947), ( 1.6, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.34059950522842625), ( 1.4, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3269533364595742), ( 1, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3036651914095638), ( 1.9, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3503432946508047), ( 2.5, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.36656523184049145), ( 3.9, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.4092571122590745), ( 2.0, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.35158595032730894), ( 3.4, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3956645508412699), ( 3.5, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.39698448941014014), ( 3.9, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.39515410474112506), ( 1.1, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.30891672890295835), ( 1.4, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3477330830463698), ( 2.9, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.39496513287872526), ( 3.0, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.38349714542020613), ( 2.2, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.37517190913970366), ( 3.6, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.40181990862712075), ( 2.4, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.37438996419239506), ( 3.5, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.4044071054842335), ( 3.7, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.4030357327934403), ( 3.7, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.38247865344742626), ( 2.3, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.36419494878582065), ( 1.3, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3195936082090132), ( 3.8, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.4041943727139419), ( 1, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.29764181576423043), ( 2.1, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.35878428940294954), ( 3.3, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.40159484907645293), ( 2.0, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.36306271123728656), ( 2.7, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.38099367758642233), ( 3.4, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.40303743155023797), ( 3.7, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3874062229183938), ( 3.1, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.39846636352015974), ( 3.2, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3895833058517508), ( 3.5, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3780064881037774), ( 3.7, 1 ) = -(diff(T(eta), eta)) = HFloat(0.4112258899131765), ( 1.7, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3544200112627842), ( 2.1, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.363578387317663), ( 3.5, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.38023261702883665), ( 2.4, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3773666809488808), ( 2.6, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3761005562049321), ( 1.6, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.33503722669472785), ( 1.8, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3488507831697624), ( 2.1, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3721498277720235), ( 3.3, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.380075281000164), ( 1.1, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.31055028071881824), ( 4.0, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3993059900807851), ( 2.5, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3643976599399065), ( 1.5, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3378644111695954), ( 3.4, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3923934147435261), ( 2.5, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3830097916407869), ( 2.2, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3720485474076505), ( 3.2, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3928075650180713), ( 3.8, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3812572637027126), ( 2.2, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3639479050584537), ( 3.7, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.39011133854393143), ( 1.6, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3556135323470227), ( 2.5, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3767407635419642), ( 2.2, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.36159237733249944), ( 2.4, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.36017740089977307), ( 2.6, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3709728639050683), ( 3.2, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3763990670019762), ( 3.3, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.38518860497208984), ( 3.1, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.39471399733718954), ( 2.0, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.36045803614789024), ( 1.6, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.342688673879741), ( 1.8, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3510427269752175), ( 3.7, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3802262252308929), ( 1.3, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.33073421488058646), ( 1.5, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3358334754857911), ( 1.8, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3533814156603244), ( 3.3, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3977836113541952), ( 3.5, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.4005425596402157), ( 1.3, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3246510460110759), ( 2.1, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.36622851883207386), ( 3.6, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3889721310461709), ( 3.8, 1 ) = -(diff(T(eta), eta)) = HFloat(0.41243216858828297), ( 2.2, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3785603228758816), ( 3.6, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.38375854196516357), ( 3.8, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.39721899110022213), ( 3.0, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.39304581794356863), ( 3.3, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3755483115285272), ( 1.2, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3180324833997474), ( 1.7, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.34934701240835236), ( 1.8, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.34485014671142067), ( 2.4, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3666137690948643), ( 3.5, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.38777503832374033), ( 3.6, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3813835253994172), ( 1, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3163072299330439), ( 2.5, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.37975512983086623), ( 3.9, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.4016570644919745), ( 3.3, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3880062143784469), ( 3.9, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.389497613042579), ( 1, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.2990202854243228), ( 1.3, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3265486010270545), ( 1.4, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.34185871693758163), ( 2.6, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3789370873515808), ( 3.6, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3791439394364868), ( 3.0, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.38074440525362274), ( 3.4, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.37902155520890407), ( 3.8, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.38592376918072846), ( 2.0, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3721565188173238), ( 2.2, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.36915481801438305), ( 3.0, 1 ) = -(diff(T(eta), eta)) = HFloat(0.4008310721278625), ( 3.8, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.38847662305765734), ( 1, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3004782952076783), ( 2.7, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3874062474583827), ( 3.2, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.39629082731924675), ( 2.5, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3903988075273821), ( 1.8, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3646179115878063), ( 1.2, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.31631948489453166), ( 1.1, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3256719939432692), ( 1.1, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.30737588763760404), ( 2.7, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.37544994364370754), ( 2.6, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.36645203320105985), ( 2.3, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.37480438589252574), ( 1.2, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.32609307015762823), ( 3.2, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.38378868426040913), ( 3.9, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.38451703956376165), ( 3.5, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3825932765957472), ( 2.4, 1 ) = -(diff(T(eta), eta)) = HFloat(0.38787504168927445), ( 3.1, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.37727192360263034), ( 1.1, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.31611197119666096), ( 1.4, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3305473392940528), ( 1.3, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3355558224488306), ( 2.6, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3852800381773658), ( 3.5, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.38510211551544343), ( 1, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3114392278325224), ( 1.1, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3141355723317724), ( 3.1, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3880592995534765), ( 3.1, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3823095905835051), ( 3.2, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.4000733774409443), ( 2.6, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.38198684465838234), ( 1.4, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.344669848418153), ( 2.8, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3800271613355227), ( 3.0, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3781672111665577), ( 3.6, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.39184557085753946), ( 2.9, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3765305272852101), ( 3.2, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3742174712037255), ( 3.9, 1 ) = -(diff(T(eta), eta)) = HFloat(0.4135831469305623), ( 2.9, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.36974446993189164), ( 1.1, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.32298360647457947), ( 1.2, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3310847383610217), ( 1.6, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.34491702237039507), ( 2.2, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3664623264968471), ( 2.9, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3718740760344962), ( 1.9, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3623724602690272), ( 2.9, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.38181410382365494), ( 3.1, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3728110959578103), ( 2.7, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3729436899300281), ( 1.5, 1 ) = -(diff(T(eta), eta)) = HFloat(0.35358804777262876), ( 1.7, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3449185897589872), ( 1.3, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.32118344645902996), ( 1.8, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3585731319644271), ( 2.6, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.37345261088488585), ( 2.8, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.36806846894995554), ( 2.9, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3989928110636767), ( 1.4, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.33685562578796946), ( 1.9, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3570709547588308), ( 2.9, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3912781142179875), ( 2.4, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3716208507983714), ( 2.7, 1 ) = -(diff(T(eta), eta)) = HFloat(0.39496754396155204), ( 2.0, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.368881277728723), ( 3.2, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3811702547181832), ( 1.7, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.33921552922483195), ( 3.7, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.38486737184532166), ( 3.8, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.39119676024932254), ( 1.6, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3588752983264506), ( 1.3, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.32857137000406), ( 3.0, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.37574763294930563), ( 1.9, 1 ) = -(diff(T(eta), eta)) = HFloat(0.37205162751761583), ( 3.0, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3967663844289941), ( 3.0, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3896191204763884), ( 3.6, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.3862827369241901), ( 2.2, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3822588050767603), ( 2.8, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.386037982872599), ( 2.1, 1 ) = -(diff(T(eta), eta)) = HFloat(0.37912195009157135), ( 3.6, 1 ) = -(diff(T(eta), eta)) = HFloat(0.4099602273343711), ( 3.1, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3850850920173563), ( 3.5, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3936915826803844), ( 1.4, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3253060104247713), ( 1.5, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.34003026305275075), ( 1.1, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3182314735147397), ( 4.0, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3961575874128777), ( 2.8, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3894017058089653), ( 2.1, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.36907637577365987), ( 2.8, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.37017875729098837), ( 2.8, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3970418646833052), ( 2.0, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3658613571136523), ( 2.2, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3553296094640667), ( 2.7, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.368374992797939), ( 1.8, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.34301804710187034), ( 1.2, 1 ) = -(diff(T(eta), eta)) = HFloat(0.3339102682255454), ( 2.9, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.37908538642631023), ( 3.8, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.39410328469630357), ( 4.0, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.41033359905916317), ( 1.9, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.34649329422995595), ( 3.0, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3864467805537068), ( 3.7, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.39943342958153755), ( 1.4, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.33926348582563653), ( 2.9, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.38788203704965574), ( 3.4, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.38935266047337647), ( 3.3, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3942741737124612), ( 1.9, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3596267360315394), ( 2.3, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.3814138435292724), ( 2.4, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.3805803582828228), ( 4.0, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.383179500106091), ( 1.1, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.32051382561549696), ( 3.3, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.38255109844856033), ( 1.5, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.34483442530962616), ( 3.1, 1 ) = -(diff(T(eta), eta)) = HFloat(0.40256613677874253), ( 3.8, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.40813005339209757), ( 1, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.30728148449883236), ( 1.5, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.33392392531117804), ( 1.6, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.34986126735407697), ( 3.8, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.40057142116439926), ( 3.9, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.40529977004143064), ( 3.3, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3910258925933461), ( 1.7, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.3410071285143856), ( 1.8, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.36147345615835635), ( 3.0, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.37132256722603857), ( 1.2, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3198532403645723), ( 2.1, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.37548363019999353), ( 2.0, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.358025065490636), ( 2.3, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.37186779804032405), ( 2.5, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3623525877663485), ( 3.3, 1 ) = -(diff(T(eta), eta)) = HFloat(0.40575958871173634), ( 1, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.3092838505060341), ( 2.3, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.36195033078560784), ( 3.6, 1.1 ) = -(diff(T(eta), eta)) = HFloat(0.405709261875519), ( 1.3, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.33305505619179404), ( 2.0, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.349681778175179), ( 3.4, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.39919889455893887), ( 2.1, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3526175863486376), ( 1.4, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3325146556271503), ( 2.0, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.35574534089036086), ( 1.7, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3429046359334747), ( 2.1, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3611032563226344), ( 3.7, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3930016967901932), ( 4.0, 1.7 ) = -(diff(T(eta), eta)) = HFloat(0.39047253688520034), ( 1.9, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3546833411641723), ( 2.6, 1 ) = -(diff(T(eta), eta)) = HFloat(0.39275776382186073), ( 4.0, 1.3 ) = -(diff(T(eta), eta)) = HFloat(0.4026938904273606), ( 1.1, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3122861394663878), ( 1.1, 2.0 ) = -(diff(T(eta), eta)) = HFloat(0.3059194943965801), ( 1.6, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.3473011969639276), ( 1.8, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.3467907851593792), ( 3.9, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.39223211742615066), ( 2.5, 1.5 ) = -(diff(T(eta), eta)) = HFloat(0.3739368965926833), ( 3.7, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.39609994117837094), ( 1.8, 1.4 ) = -(diff(T(eta), eta)) = HFloat(0.355884467914531), ( 2.4, 1.8 ) = -(diff(T(eta), eta)) = HFloat(0.36433932968600935), ( 1.6, 1.2 ) = -(diff(T(eta), eta)) = HFloat(0.35262182912593965), ( 2.3, 1.6 ) = -(diff(T(eta), eta)) = HFloat(0.3665846185344934), ( 1.5, 1.9 ) = -(diff(T(eta), eta)) = HFloat(0.332124247381247) ] ))()

 

-(diff(T(eta), eta)) = HFloat(0.4030357327934403)

(1)

 

-(diff(T(eta), eta)) = HFloat(0.3163072299330439)

(2)

 


 

Download odeSol.mw

You (as author) have control over the order of arguments in the function call, so why use an order that you do not want? This seems perverse

The only(?) way I can think of doing this is to use some kind of "wrapper" procedure which accepts both the target procedure name and its arguments, then checks the latter, before invoking the former.

The attached will "work" for the example you posted, but can probably be "beaten" for some argument combinations

foo := proc(a::expects(integer):=0, b::expects(integer):=0, {c::integer:= 1, d::integer:= 1},$)
    print("a=",a," b=",b," c=",c," d=",d);
end proc:
foo(1,2);                                #case 1                                             
foo(1, 2,'c' = 1, 'd' = 2);              #case 2
foo('c' = 1, 1, 'd' = 2, 2);             #case 3
foo('c' = 1, 1, 2);                      #case 4
foo(1, 'c'=1, 2);                        #case 5       

"a=", 1, " b=", 2, " c=", 1, " d=", 1

 

"a=", 1, " b=", 2, " c=", 1, " d=", 2

 

"a=", 1, " b=", 2, " c=", 1, " d=", 2

 

"a=", 1, " b=", 2, " c=", 1, " d=", 1

 

"a=", 1, " b=", 2, " c=", 1, " d=", 1

(1)

checkPar:= proc()
               local p:=selectremove(not type, [_passed][2..-1], `=`);
               if [ p[1][], p[2][] ]=[_passed][2..-1]
               then _passed[1]( _passed[2..-1] )
               else error "Wrong parameter order";
               fi;
           end proc:
checkPar( foo, 1,2);                                #case 1                                             
checkPar( foo, 1, 2,'c' = 1, 'd' = 2);              #case 2
checkPar( foo, 'c' = 1, 1, 'd' = 2, 2);             #case 3
checkPar( foo, 'c' = 1, 1, 2);                      #case 4
checkPar( foo, 1, 'c'=1, 2);                        #case 5  

"a=", 1, " b=", 2, " c=", 1, " d=", 1

 

"a=", 1, " b=", 2, " c=", 1, " d=", 2

 

Error, (in checkPar) Wrong parameter order

 

Error, (in checkPar) Wrong parameter order

 

Error, (in checkPar) Wrong parameter order

 

 


 

Download parChk.mw

 

First 96 97 98 99 100 101 102 Last Page 98 of 207