acer

32385 Reputation

29 Badges

19 years, 334 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are answers submitted by acer

restart;

X := Statistics:-RandomVariable(Normal(0, 1)):
pp:=[attributes(X)][3]:
pp:-ParentName;
                       NormalDistribution
pp:-Parameters;
                             [0, 1]

Y := Statistics:-RandomVariable(Normal(5, 17)):
pp:=[attributes(Y)][3]:
pp:-ParentName;
                       NormalDistribution
pp:-Parameters;
                            [5, 17]

Z := Statistics:-RandomVariable(Exponential(3)):
pp:=[attributes(Z)][3]:
pp:-ParentName;
                    ExponentialDistribution
pp:-Parameters;
                              [3]

You can easily construct your own float[8] Array to denote the color, using either HUE or RGB specification.

restart;

x1:=[seq(x,x=1..2,0.02)]:
y1:=[seq(y^3,y=1..2,0.02)]:

N:=nops(x1);
z1:=[seq(x1[i]/y1[i],i=1..N)]:

51

#
# HUE requires one float per point, to denote the color.
#
plots:-pointplot([x1,y1],
                 gridlines=false,
                 symbol=solidcircle, symbolsize=15,
                 color=COLOR(HUE,Array(1..N,z1,datatype=float[8])));

#
# RGB requires three floats per point, to denote the color.
#
C:=Array(1..51,1..3,datatype=float[8]):
#
# Alter only blue layer here.
#
C[..,3]:=Array(1..51,z1,datatype=float[8]):

plots:-pointplot([x1,y1],
                 gridlines=false,
                 symbol=solidcircle, symbolsize=15,
                 color=COLOR(RGB,C));

#
# Alter blue and green layers here (differently).
#
C[..,3]:=map(c->1-(c-min(z1))/(max(z1)-min(z1)), Array(1..51,z1,datatype=float[8])):
C[..,2]:=map(c->(c-min(z1))/(max(z1)-min(z1)), Array(1..51,z1,datatype=float[8])):
plots:-pointplot([x1,y1],
                 gridlines=false,
                 symbol=solidcircle, symbolsize=15,
                 color=COLOR(RGB,C));

 

Download color_pointplot.mw

On MS-Windows I add the following undocumented option (following a blank space) to the launch command in the Properties of the desktop icon,

  -standalone

The main effect, apparently, is that the icon subsequently launches wholly separate java virtual machines.

If one of these GUI instances crashes (while printing a huge result, rotating a huge plot, waiting on a crashed Maple kernel, etc) then the other GUI instance remains responsive and its worksheets can still be saved properly and promptly, etc.

Since I quite often run multiple GUI sessions, often with examples that can crash the GUI, this has been very useful in saving my other work in progress.

My machine has adequate RAM, and I don't care that separate GUI JVMs can take up 300MB footprint each while running. It is much more valuable to me that I don't lose work in progress.

(Sorry, I did not notice this Question before now.)

 

One way to disable the discontinuity check done by evalf(Int(...)) is to use operator form for the integrand. And fsolve prefers everything in operator form when it detects such (even if not really necessary for a numeric scalar like 0.5 on the rhs).

restart;
fe := Int(x -> sqrt(1+(-5.557990765*sin(5.557990765*x)-7.3*cos(5.557990765*x)
               -5.6*sinh(5.557990765*x)+7.3*cosh(5.557990765*x))^2), 0 .. al) = 0.5:

fsolve(unapply((lhs-rhs)(fe), al), 0..1);

                          0.1550088024

That works even when the original int call had already been formed for the given example: We can recast the int call with integrand in expression form to an Int call with integrand in operator form.

restart;
fe := int(sqrt(1+(-5.557990765*sin(5.557990765*x)-7.3*cos(5.557990765*x)
          -5.6*sinh(5.557990765*x)+7.3*cosh(5.557990765*x))^2), x=0 .. al) = 0.5:

F := subsindets(fe, specfunc({int,Int}),
                u->Int(unapply(op(1,u),lhs(op(2,u))),rhs(op(2,u)),op(3..,u))):

fsolve(unapply((lhs-rhs)(F), al), 0..1);

                          0.1550088024

Now some comments about Maple's numeric integration.

It is long-standing and unfortunate behaviour that evalf(Int(...)) (ie, numeric integration) offers no all-round easy option to disable its examination of the integrand for discontinuities.

The important 1D numeric quadrature schemes utilized have error estimates that rely on certain degrees of smoothness, and thus they should often split the domain in the presence of a finite number of discontinuities. But there are lots of examples where the check for discontinuity consumes enormous resources, and where that check is not necessary or wanted (because there are no such points).

The typical unfortunate scenario occurs when a symbolic discontinutiy check on an expression containing float coefficients causes a symbolic expansion which runs amok when the floats get converted to exact rationals with large numerator or denominator.

Sometimes the check can be avoided by specifiying the method=_d01ajc for evalf(Int(...)) example. But that method requires Digits<=15, and when the calling environment has default Digits=10 then fsolve may try and resolve the question of convergence (or a root candidate) at yet higher working precision.

While it would indeed be useful if fsolve were to accept an accuracy tolerance option, the runaway crash in this particular example is due (IMO) to a bug in evalf(Int(...)) and not in fsolve.

In my opinion it is a very longstanding and serious bug that evalf(Int(...)) offers no option to forcibly disable its discontinuity test. I have answered dozens of Mapleprimes questions over the years where evalf(Int(...)) showed serious performance problems for users, where it was not originally obvious that the discontinuity check was the culprit.

I have seen several examples that don't involve fsolve at all, where the evalf(Int(...)) misbehaviour causes unnecessary very slow performance or even a crash. Some of these are plotting examples. Some are simply single instances of a numeric integration. The central problem is not in fsolve.

Consider this example, which runs amok (don't try it if you don't want a crash):

restart;
Q := Int(sqrt(1+(-5.557990765*sin(5.557990765*x)-7.3*cos(5.557990765*x)
         -5.6*sinh(5.557990765*x)+7.3*cosh(5.557990765*x))^2), x=0 .. al):
evalf[25](eval(Q,al=0.3));

The way that I disable the discontinuity check at the start of this Answer is to use operator form for the integrand. That can become very tricky when the problem involves nested integrals or integrands that depend on (scoped) parameters, etc. It can become so tricky that it really cannot be considered a practical alternative to a (currently missing) dedicated option to prevent the discontinuity check.

Here is the first plot obtained in the worksheet below, but without the blue plane. It has a smooth lower edge and no missing portion (for larger y values).

An upper bound y=20 was supplied. For the first approach below you could increase that (and the `view`, accordingly). An upper bound for the z was also supplied, in the `view` option, which you could also adjust to taste.

restart;

solve({x^3*y*z=1/2,x<y , y<z}, [z], real, parametric, explicit);

piecewise(x < 0 and x < y and y < 0, [[z = 1/(2*y*x^3)]], `and`(`and`(`and`(0 < x, x < RootOf(2*_Z^5-1, .8125 .. .875)), x < y), y < sqrt(2)*sqrt(x^3)/(2*x^3)), [[z = 1/(2*y*x^3)]], [])

#
# You can exclude the blue plane if you desire.
#
plots:-display(
  plot3d(1/(2*y*x^3), x=0 .. RootOf(2*_Z^5-1,0.8125..0.875),
                      y=x..sqrt(2)*sqrt(x^3)/(2*x^3),
         color=green),
  plot3d(y, x=0..1, y=0..20,
         color=blue),
  view=[0..1,0..20,0..100]
);

#
# One problem with this approach is that a portion of the
# green surface is missing (and the missing portion is
# reduced only as the grid resolution is made very fine).
#
# Another problem is that the blue plane is needed to
# delimit the correct green surface's lower boundary.
#
f:=x^3*y*z:
S:=solve(f=1/2, z);
plot3d([S, y], x=0..y, y=0..20,
       color=[green,blue],grid=[200,200],
       view=[0..1,0..20,0..100]);

(1/2)/(y*x^3)

#
# It is not easy to produce a smooth lower edge for the
# valid part of the green surface.
#
# This also increases the missing portion of the green
# surface for larger y values.
#
plot3d([piecewise(S>y,S,undefined), y], x=0..y, y=0..20,
       color=[green,blue],grid=[200,200],
       view=[0..1,0..20,0..100]);

 

Download plot3d_inequality.mw

Here are a few ways, each involving just a few calls to LinearAlgebra:-GenerateMatrix.

I didn't keep exactly the same names as you have for Vector X, etc.

I include the situation where the final LHS is left in the form Matrix.diff(X) , as opposed to being fully explicit.

(But I would not be surprised if there were utilities to help in DEtools or PDEtools.)

[edit] I have included a way to print the Matrix equations (using either X.DX, or DX explicitly on the LHS) with inert multiplication. In case you were after such a visual display. For the case of the explicit LHS I've separated the inverse of X using its determinant factor and its adjoint.

restart;

eq1:=(L1/n12 + n12*L2)*diff(i2(t), t) + L1*diff(i3(t), t)/n13 = -v1(t) - R1*i3(t)/n13 - R1*i2(t)/n12 + n12*v2(t) - n12*R2*i2(t);

eq2:=L1*diff(i2(t), t)/n12 + (L1/n13 + n13*L3)*diff(i3(t), t) = -v1(t) - R1*i3(t)/n13 - R1*i2(t)/n12 + n13*v3(t) - n13*R3*i3(t);

eq3:=-L2*diff(i2(t), t) + L1*diff(i1(t), t)/n12 = -v2(t) + R2*i2(t) + v1(t)/n12 - R1*i1(t)/n12;

(L1/n12+n12*L2)*(diff(i2(t), t))+L1*(diff(i3(t), t))/n13 = -v1(t)-R1*i3(t)/n13-R1*i2(t)/n12+n12*v2(t)-n12*R2*i2(t)

L1*(diff(i2(t), t))/n12+(L1/n13+n13*L3)*(diff(i3(t), t)) = -v1(t)-R1*i3(t)/n13-R1*i2(t)/n12+n13*v3(t)-n13*R3*i3(t)

-L2*(diff(i2(t), t))+L1*(diff(i1(t), t))/n12 = -v2(t)+R2*i2(t)+v1(t)/n12-R1*i1(t)/n12

with(LinearAlgebra):

DT:=[diff(i1(t),t),diff(i2(t),t),diff(i3(t),t)]:
DX:=Vector(DT):

iT:=[i1(t),i2(t),i3(t)]:
Vi:=Vector(iT):

vT:=[v1(t),v2(t),v3(t)]:
Vv:=Vector(vT):

X:=GenerateMatrix(map(lhs,[eq1,eq2,eq3]),DT)[1];
altA:=GenerateMatrix(map[2](select,has,expand(map(rhs,[eq1,eq2,eq3])),iT),iT)[1];
altB:=GenerateMatrix(map[2](select,has,expand(map(rhs,[eq1,eq2,eq3])),vT),vT)[1];

Matrix(3, 3, {(1, 1) = 0, (1, 2) = L1/n12+n12*L2, (1, 3) = L1/n13, (2, 1) = 0, (2, 2) = L1/n12, (2, 3) = L1/n13+n13*L3, (3, 1) = L1/n12, (3, 2) = -L2, (3, 3) = 0})

Matrix(3, 3, {(1, 1) = 0, (1, 2) = -R1/n12-n12*R2, (1, 3) = -R1/n13, (2, 1) = 0, (2, 2) = -R1/n12, (2, 3) = -R1/n13-n13*R3, (3, 1) = -R1/n12, (3, 2) = R2, (3, 3) = 0})

Matrix(%id = 18446884362352865638)

X.DX = map(expand, altA.Vi + altB.Vv );

(Vector(3, {(1) = (L1/n12+n12*L2)*(diff(i2(t), t))+L1*(diff(i3(t), t))/n13, (2) = L1*(diff(i2(t), t))/n12+(L1/n13+n13*L3)*(diff(i3(t), t)), (3) = -L2*(diff(i2(t), t))+L1*(diff(i1(t), t))/n12})) = (Vector(3, {(1) = -v1(t)-R1*i3(t)/n13-R1*i2(t)/n12+n12*v2(t)-n12*R2*i2(t), (2) = -v1(t)-R1*i3(t)/n13-R1*i2(t)/n12+n13*v3(t)-n13*R3*i3(t), (3) = -v2(t)+R2*i2(t)+v1(t)/n12-R1*i1(t)/n12}))

T:=map(rhs,solve([eq1,eq2,eq3],DT)[1]):

A:=GenerateMatrix(map[2](select,has,expand(T),iT),iT)[1]:

B:=GenerateMatrix(map[2](select,has,expand(T),vT),vT)[1]:

simplify(DX = A.Vi + B.Vv);

(Vector(3, {(1) = diff(i1(t), t), (2) = diff(i2(t), t), (3) = diff(i3(t), t)})) = (Vector(3, {(1) = (-(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)*R1*i1(t)+L3*n12*n13^2*(L1*R2-L2*R1)*i2(t)+L2*n12^2*n13*(L1*R3-L3*R1)*i3(t)+L1*((L2*n12^2+L3*n13^2)*v1(t)-v2(t)*L3*n12*n13^2-v3(t)*L2*n12^2*n13))/(L1*(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)), (2) = ((-R2*(L3*n13^2+L1)*n12^2-L3*R1*n13^2)*i2(t)+(n13*(L1*R3-L3*R1)*i3(t)+n12*(L3*n13^2+L1)*v2(t)-v1(t)*L3*n13^2-v3(t)*L1*n13)*n12)/(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2), (3) = ((-R3*(L2*n12^2+L1)*n13^2-L2*R1*n12^2)*i3(t)+(n12*(L1*R2-L2*R1)*i2(t)+n13*(L2*n12^2+L1)*v3(t)-v1(t)*L2*n12^2-v2(t)*L1*n12)*n13)/(L3*(L2*n12^2+L1)*n13^2+L1*L2*n12^2)}))

DX = simplify(LinearSolve(X, map(expand, altA.Vi + altB.Vv )));

(Vector(3, {(1) = diff(i1(t), t), (2) = diff(i2(t), t), (3) = diff(i3(t), t)})) = (Vector(3, {(1) = (-(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)*R1*i1(t)+L3*n12*n13^2*(L1*R2-L2*R1)*i2(t)+L2*n12^2*n13*(L1*R3-L3*R1)*i3(t)+L1*((L2*n12^2+L3*n13^2)*v1(t)-v2(t)*L3*n12*n13^2-v3(t)*L2*n12^2*n13))/(L1*(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)), (2) = ((-R2*(L3*n13^2+L1)*n12^2-L3*R1*n13^2)*i2(t)+(n13*(L1*R3-L3*R1)*i3(t)+n12*(L3*n13^2+L1)*v2(t)-v1(t)*L3*n13^2-v3(t)*L1*n13)*n12)/(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2), (3) = ((-R3*(L2*n12^2+L1)*n13^2-L2*R1*n12^2)*i3(t)+(n12*(L1*R2-L2*R1)*i2(t)+n13*(L2*n12^2+L1)*v3(t)-v1(t)*L2*n12^2-v2(t)*L1*n12)*n13)/(L3*(L2*n12^2+L1)*n13^2+L1*L2*n12^2)}))

Xinv:=X^(-1):
fullA:=simplify(Xinv.altA):
fullB:=simplify(Xinv.altB):

DX = simplify(fullA.Vi + fullB.Vv);

(Vector(3, {(1) = diff(i1(t), t), (2) = diff(i2(t), t), (3) = diff(i3(t), t)})) = (Vector(3, {(1) = (-(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)*R1*i1(t)+L3*n12*n13^2*(L1*R2-L2*R1)*i2(t)+L2*n12^2*n13*(L1*R3-L3*R1)*i3(t)+L1*((L2*n12^2+L3*n13^2)*v1(t)-v2(t)*L3*n12*n13^2-v3(t)*L2*n12^2*n13))/(L1*(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)), (2) = ((-R2*(L3*n13^2+L1)*n12^2-L3*R1*n13^2)*i2(t)+(n13*(L1*R3-L3*R1)*i3(t)+n12*(L3*n13^2+L1)*v2(t)-v1(t)*L3*n13^2-v3(t)*L1*n13)*n12)/(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2), (3) = ((-R3*(L2*n12^2+L1)*n13^2-L2*R1*n12^2)*i3(t)+(n12*(L1*R2-L2*R1)*i2(t)+n13*(L2*n12^2+L1)*v3(t)-v1(t)*L2*n12^2-v2(t)*L1*n12)*n13)/(L3*(L2*n12^2+L1)*n13^2+L1*L2*n12^2)}))

simplify(A - fullA), simplify(B - fullB);

Matrix(3, 3, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0}), Matrix(3, 3, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0})

X %. DX = altA %. Vi + altB %. Vv;

`%.`(Matrix(3, 3, {(1, 1) = 0, (1, 2) = L1/n12+n12*L2, (1, 3) = L1/n13, (2, 1) = 0, (2, 2) = L1/n12, (2, 3) = L1/n13+n13*L3, (3, 1) = L1/n12, (3, 2) = -L2, (3, 3) = 0}), Vector(3, {(1) = diff(i1(t), t), (2) = diff(i2(t), t), (3) = diff(i3(t), t)})) = `%.`(Matrix(3, 3, {(1, 1) = 0, (1, 2) = -R1/n12-n12*R2, (1, 3) = -R1/n13, (2, 1) = 0, (2, 2) = -R1/n12, (2, 3) = -R1/n13-n13*R3, (3, 1) = -R1/n12, (3, 2) = R2, (3, 3) = 0}), Vector(3, {(1) = i1(t), (2) = i2(t), (3) = i3(t)}))+`%.`(Matrix(3, 3, {(1, 1) = -1, (1, 2) = n12, (1, 3) = 0, (2, 1) = -1, (2, 2) = 0, (2, 3) = n13, (3, 1) = 1/n12, (3, 2) = -1, (3, 3) = 0}), Vector(3, {(1) = v1(t), (2) = v2(t), (3) = v3(t)}))

DX = ((1/Determinant(X)) %* Adjoint(X)) %. (altA %. Vi + altB %. Vv);

(Vector(3, {(1) = diff(i1(t), t), (2) = diff(i2(t), t), (3) = diff(i3(t), t)})) = `%.`(`%*`(n12^2*n13/(L1*(L2*L3*n12^2*n13^2+L1*L2*n12^2+L1*L3*n13^2)), Matrix(3, 3, {(1, 1) = L2*(L3*n13^2+L1)/n13, (1, 2) = -L1*L2/n13, (1, 3) = (L2*L3*n12^2*n13^2+L1*L2*n12^2+L1*L3*n13^2)/(n12*n13), (2, 1) = (L3*n13^2+L1)*L1/(n12*n13), (2, 2) = -L1^2/(n12*n13), (2, 3) = 0, (3, 1) = -L1^2/n12^2, (3, 2) = (L2*n12^2+L1)*L1/n12^2, (3, 3) = 0})), `%.`(Matrix(3, 3, {(1, 1) = 0, (1, 2) = -R1/n12-n12*R2, (1, 3) = -R1/n13, (2, 1) = 0, (2, 2) = -R1/n12, (2, 3) = -R1/n13-n13*R3, (3, 1) = -R1/n12, (3, 2) = R2, (3, 3) = 0}), Vector(3, {(1) = i1(t), (2) = i2(t), (3) = i3(t)}))+`%.`(Matrix(3, 3, {(1, 1) = -1, (1, 2) = n12, (1, 3) = 0, (2, 1) = -1, (2, 2) = 0, (2, 3) = n13, (3, 1) = 1/n12, (3, 2) = -1, (3, 3) = 0}), Vector(3, {(1) = v1(t), (2) = v2(t), (3) = v3(t)})))

simplify(value(%));

(Vector(3, {(1) = diff(i1(t), t), (2) = diff(i2(t), t), (3) = diff(i3(t), t)})) = (Vector(3, {(1) = (-(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)*R1*i1(t)+L3*n12*n13^2*(L1*R2-L2*R1)*i2(t)+L2*n12^2*n13*(L1*R3-L3*R1)*i3(t)+L1*((L2*n12^2+L3*n13^2)*v1(t)-v2(t)*L3*n12*n13^2-v3(t)*L2*n12^2*n13))/(L1*(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2)), (2) = ((-R2*(L3*n13^2+L1)*n12^2-L3*R1*n13^2)*i2(t)+(n13*(L1*R3-L3*R1)*i3(t)+n12*(L3*n13^2+L1)*v2(t)-v1(t)*L3*n13^2-v3(t)*L1*n13)*n12)/(L2*(L3*n13^2+L1)*n12^2+L1*L3*n13^2), (3) = ((-R3*(L2*n12^2+L1)*n13^2-L2*R1*n12^2)*i3(t)+(n12*(L1*R2-L2*R1)*i2(t)+n13*(L2*n12^2+L1)*v3(t)-v1(t)*L2*n12^2-v2(t)*L1*n12)*n13)/(L3*(L2*n12^2+L1)*n13^2+L1*L2*n12^2)}))

 

Download various2.mw

I don't see why it's necessary to call expand here.

This produces a result close to your supplied target expression.

By the way, it looks like you gave a target expression with a wrong sign on one L1/n12 subterm.

restart;

eqn := v1(t) - R1*(-i3(t)/n13 - i2(t)/n12) - L1*diff(-i3(t)/n13
       - i2(t)/n12, t) = n12*(v2(t) - R2*i2(t) - L2*diff(i2(t), t));

v1(t)-R1*(-i3(t)/n13-i2(t)/n12)-L1*(-(diff(i3(t), t))/n13-(diff(i2(t), t))/n12) = n12*(v2(t)-R2*i2(t)-L2*(diff(i2(t), t)))

((L,R)->L=-R)(selectremove(has,collect((rhs-lhs)(eqn),diff),diff));

(-n12*L2-L1/n12)*(diff(i2(t), t))-L1*(diff(i3(t), t))/n13 = -n12*(-R2*i2(t)+v2(t))+v1(t)-R1*(-i3(t)/n13-i2(t)/n12)

(proc(L,R)
   local s; s:=sign(L);
   collect(L*s,diff)=-R*s;
 end proc)(selectremove(has,collect((rhs-lhs)(eqn),diff),diff));

(n12*L2+L1/n12)*(diff(i2(t), t))+L1*(diff(i3(t), t))/n13 = n12*(-R2*i2(t)+v2(t))-v1(t)+R1*(-i3(t)/n13-i2(t)/n12)

simplify((lhs-rhs)(%-eqn));

0

Download collect_diff_ac.mw

You haven't told us what numeric value your "to" has.

So here are a couple of ways to do it purely as numeric quadrature, quickly, with the domain being specified by the parameter of a procedure.

restart;

f1:=proc(c) options remember, system;
  if not c::numeric then return 'procname'(_passed); end if;
  evalf(Int(exp((5+I*6)*x)*sin(1+erf(x)),x=-c..c, method=_Dexp,_rest));
end proc:

CodeTools:-Usage( f1(1.2) );

memory used=4.06MiB, alloc change=32.00MiB, cpu time=76.00ms, real time=76.00ms, gc time=7.24ms

49.09997652+1.408399186*I

CodeTools:-Usage( plot([Re(f1(t,epsilon=1e-3)),
                        Im(f1(t,epsilon=1e-3))],
                       t=0..1, gridlines=false) );

memory used=239.36MiB, alloc change=38.00MiB, cpu time=2.53s, real time=2.41s, gc time=352.02ms

restart;

#
# This is faster.
#

Ref:=evalc(Re(exp((5+I*6)*x)*sin(1+erf(x)))):

Imf:=evalc(Im(exp((5+I*6)*x)*sin(1+erf(x)))):

f2:=proc(c) options remember, system;
  if not c::numeric then return 'procname'(_passed); end if;
  evalf(Int(Ref,x=-c..c, method=_d01ajc,_rest)
        +I*Int(Imf,x=-c..c, method=_d01ajc,_rest));
end proc:

CodeTools:-Usage( f2(1.2) );

memory used=0.51MiB, alloc change=0 bytes, cpu time=9.00ms, real time=9.00ms, gc time=0ns

49.09997652+1.408399186*I

CodeTools:-Usage( plot([Re(f2(t,epsilon=1e-3)),
                        Im(f2(t,epsilon=1e-3))],
                       t=0..1, gridlines=false) );

memory used=13.54MiB, alloc change=0 bytes, cpu time=129.00ms, real time=130.00ms, gc time=0ns

 

Download evalf_int_example.mw

Don't use linalg, which is deprecated. You can extract any row of a Matrix with simple indexing.

You don't need to call print in order to display the scalar value assigned to a name.

I have used the parameter nr of aFshear to denote which row to use.

restart:

L:=Vector[row]([''RA'',''MA'',''thetaA'',''yA'',''RB'',''MB'',''thetaB'',''yB'']):

R:=Matrix(2,8,[1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18]);

Matrix(2, 8, {(1, 1) = 1, (1, 2) = 2, (1, 3) = 3, (1, 4) = 4, (1, 5) = 5, (1, 6) = 6, (1, 7) = 7, (1, 8) = 8, (2, 1) = 11, (2, 2) = 12, (2, 3) = 13, (2, 4) = 14, (2, 5) = 15, (2, 6) = 16, (2, 7) = 17, (2, 8) = 18})

aFshear:=proc(nr,R,L)
           zip(assign,L,R[nr,..]);
           NULL:
         end proc:

 

aFshear(2,R,L);

MA,thetaB;

12, 17

aFshear(1,R,L);

MA,thetaB;

2, 7

aFshear(2,R,L);

MA,thetaB;

12, 17

 

Download zip_assign.mw

You have not yet given numeric values to Nturns and Nsets.

The unapply command can make an operator from a previously computed expression (or a name to which such has been assigned).

The way you were trying to define M muddled the concepts of the formal parameters z and r of the operator with the names z and r in the expression previously computed and assigned to Bzsum. This is a common misunderstanding. In contrast, your simpler example (z,r)->z*r provides the body of the operator literally.

restart;

isol:=10;
Zres:=3:
Rres:=2:
l:=1;
d:=0.25;
mu[0]:=4*Pi*(10^(-7)):
R:=d/2:
ires:=(isol*Nturns*Nsets)/Zres:
kk:=(4*R*r)/(((R+r)^2)+((z-A)^2)):
K:=int(1/(sqrt((1-(t^2))*(1-(kk)*(t^2)))),t=0..1):
E:=int(sqrt(1-(kk)*(t^2))/(sqrt(1-(t^2))),t=0..1):
Bz:=((mu[0]*ires)/(2*Pi))*(1/(sqrt(((R+r)^2)
    +((z-A)^2))))*(K+E*((R^2)-(r^2)-((z-A)^2))/(((R-r)^2)+((z-A)^2))):
BzL:=eval~(Bz,A=~[seq((n*l)/(Zres),n=((-Zres)/2)..((Zres)/2))]):
Bzsum:=add(BzL[n],n=1..(Zres)):

10

1

.25

M:=unapply(Bzsum,[z,r]):

M1:=Array(1..Zres,i->(i*l)/(2*Zres));
M2:= Array(1..Rres,i->(i*d)/Rres);

Vector[row](3, {(1) = 1/6, (2) = 1/3, (3) = 1/2})

Array(%id = 18446884106455853766)

A=Array(1..numelems(M1),1..numelems(M2),(i,j)->M(M1[i],M2[j]));

A = (Matrix(3, 2, {(1, 1) = 0.6274841782e-6*Nturns*Nsets+(Float(undefined)-0.*I)*Nturns*Nsets, (1, 2) = -0.1152929500e-5*Nturns*Nsets, (2, 1) = 0.2069611699e-5*Nturns*Nsets, (2, 2) = 0.2547600213e-6*Nturns*Nsets, (3, 1) = 0.6580489429e-6*Nturns*Nsets, (3, 2) = 0.3184628994e-6*Nturns*Nsets}))

 

Download unapply_again.mw

As a programming excercise perhaps it's easier to start off with examples that you know have only rational roots, and then afterwards move on to more general randomly generated examples (whose roots may not all be rational).

In other words, start off by figuring out how to generate and test the set of candidates using examples for which you know a non-empty result should be found.

So, below I first deal with the case that all roots are rational. Then I move on to the case that possibly only one root is rational, to check the same technique. That seems like a reasonable beginning for you, before you try deal with the general case of randonly generated coefficients.

If you attack the general case up front then you may get muddled about whether no rational roots exist versus whether your code cannot find any properly.

restart;

randomize():

n := rand(1..6):
d := 2*rand(0..1)-1:
r := ()->d()*n():

p := expand( (r()*x-r()) * (r()*x-r()) * (r()*x-r()) );

72*x^3-24*x^2-22*x+4

Na0 := NumberTheory:-Divisors(coeff(p,x,0));

{1, 2, 4}

Nan := NumberTheory:-Divisors(coeff(p,x,degree(p,x)));

{1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72}

S := {seq(seq(a/b,a=Na0),b=Nan)}:
S := S union map(`*`,S,-1):
nops(S);

36

select(r->eval(p,x=r)=0, S);

{-1/2, 1/6, 2/3}

solve(p);

1/6, -1/2, 2/3

restart;

randomize():

n := rand(1..6):
d := 2*rand(0..1)-1:
r := ()->d()*n():

p2 := expand( (r()*x-r()) * randpoly(x,degree=2,coeffs=rand(1..9),dense) );

-10*x^3-17*x^2-8*x-1

N2a0 := NumberTheory:-Divisors(coeff(p2,x,0));

{1}

N2an := NumberTheory:-Divisors(coeff(p2,x,degree(p2,x)));

{1, 2, 5, 10}

S2 := {seq(seq(a/b,a=N2a0),b=N2an)};
S2 := S2 union map(`*`,S2,-1):
nops(S2);

{1, 1/2, 1/5, 1/10}

8

ans := select(r->eval(p2,x=r)=0, S2);

{-1, -1/2, -1/5}

normal(p2/(x-ans[1]));
solve(%);

-10*x^2-7*x-1

-1/2, -1/5

 

Download ratroots.mw

I am guessing that your set may contain terms like a+b and that you would want that to be treated like the case of a constant or solitary parameter.

restart;

func := S -> not andmap(has,S,{x,y}):

func( {a*x^3-1, b*y+x, -1, c} );

                true

func( {a*x^3-1, b*y+x, c} );

                true

func( {a*x^3-1, b*y+x, -1} );

                 true

func( {a*x^3-1, b*y+x, b+a} );

                 true

func( {a*x^3-1, b*y+x} );

                 false

If you want to test only for constants or stand-alone parameters then it could be done by making the test check whether the entry s is constant or member(s,[a,b,c]) . Thus this treats the polynomial a+b differently from above. (I'm guessing that this is not what you want.)

params := [a,b,c]:

func3 := S -> ormap(s->s::constant
                       or member(s,params),
                    [op(S)]):

func( {a*x^3-1, b*y+x, -1, c} );

                true

func( {a*x^3-1, b*y+x, c} );

                true

func( {a*x^3-1, b*y+x, -1} );

                 true

func( {a*x^3-1, b*y+x} );

                 false

 

@EB1000 As of Maple 2018 the Library-generated commands appear only in the right side-panel (a.k.a. context-panel) and not in the popup.

The last item in the popup you've shown is "Open Context Panel for more...". You can click on that, or open the right side panel using the double side-chevron icon at right of the regular GUI menubars.

See the help page with Topic updates,Maple2018,ContextPanel

Did you obtain this Maple package from here? If so then you really ought to give proper attribution.

Do you have to have PHCpack installed somewhere on your machine?

Before you can run an example from within Maple do not you have to call the comand phc:-setPHCloc from the Maple package (which you reference in your Question here)? Perhaps you are supposed to call that with the location of PHCpack on you machine, perhaps at the start of each Maple session in which you intend on using this phc package.

I downloaded a precompiled 64bit Linux binary executable of PHCpack from here. I unpacked that to obtain an executable binary named phc . I put that in the same subdirectory as I use below to run the Maple script that creates the Library archive (and to which I save this Maple package).

The I ran the following in Maple 2017.2,

restart;

currentdir(cat(kernelopts(homedir),"/mapleprimes/phc")):

# Create an empty repository.
if FileTools:-Exists("phc.mla") then
  print("deleting old archive");
  FileTools:-Remove("phc.mla"):
end if;

       "deleting old archive"

LibraryTools:-Create("phc.mla"):
LibraryTools:-ShowContents( "phc.mla" );

                      []

read("phc.module"):
LibraryTools:-Save('phc', "phc.mla");
LibraryTools:-ShowContents( "phc.mla" );

    [["phc.m", [2019, 7, 2, 12, 59, 46], 41984, 1736]]

restart;
libname := cat(kernelopts(homedir),"/mapleprimes/phc"), libname:

with(phc);
    [cascade, computeResiduals, decompose, deflationStep,
     drawPaths, embed, eqnbyeqn, factor, filter,
     intersectWitnessSets, makeBertiniInput,
     makeBertiniStart, makeSolution, makeStartSystem,
     makeSystem, makeWitnessSet,
     printSolutions, printSystem, readSolutionsBertini,
     refine, removeBertiniFiles, setPHCloc,
     solutionsAppendToFile, solve, solveBertini,
     subsVariables, systemToFile, track, trackBertini]

setPHCloc(cat(kernelopts(homedir),"/mapleprimes/phc")):

T := makeSystem([x, y], [], [x^2+y^2-1, x^3+y^3-1]):

sols := solve(T):

printSolutions(T, sols);
(1) [x = -.67793e-31-.61630e-32*I, y = 1.0+.15407e-31*I]
(2) [x = -1.0+.70711*I, y = -1.0-.70711*I]
(3) [x = -.15407e-31-.11556e-31*I, y = 1.0+.13710e-31*I]
(4) [x = 1.0-.53357e-35*I, y = .79194e-30-.27271e-30*I]
(5) [x = -1.0-.70711*I, y = -1.0+.70711*I]
(6) [x = 1.0-.38519e-32*I, y = .30815e-32-.24652e-31*I]

 

The error message is coming from your attempts to invert Matrix V. But V is singular and noninvertible.

By the way you are attempting Matrix-Matrix multiplication, and not Vector-Matrix multiplication, since if the inverse of V were obtained then it would be a Matrix. V is a Matrix. There are no Vectors in your example, and VectorMatrixMultiply is not the right command.

You could also use the `.` command (just the dot), for multiplying Vectors and Matrices.

But your central problem is that V is noninvertible. There's a minor possibility that you could utilize a pseudo-inverse of V. I include it on the off chance. It may well not be what you want or expect.

restart

with(LinearAlgebra):

V := Matrix(8, 8, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = (1-theta[h])*alpha*beta*`&epsilon;`*PI/mu, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 0, (4, 6) = 0, (4, 7) = 0, (4, 8) = alpha*beta*PI/mu, (5, 1) = 0, (5, 2) = 0, (5, 3) = gamma[o], (5, 4) = gamma[1], (5, 5) = 0, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = 0, (7, 8) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = alpha*c*lambda[b]/mu[b], (8, 4) = alpha*c*lambda[b]/mu[b], (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = 0}); F := Matrix(8, 8, {(1, 1) = mu, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = sigma, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = mu, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = gamma[o]+mu, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = gamma[1]+delta+mu, (4, 5) = 0, (4, 6) = 0, (4, 7) = 0, (4, 8) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = mu, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = mu+sigma, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = mu[b], (7, 8) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = 0, (8, 4) = 0, (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = mu[b]})

V := Matrix(8, 8, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = (1-theta[h])*alpha*beta*`&epsilon;`*PI/mu, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 0, (4, 6) = 0, (4, 7) = 0, (4, 8) = alpha*beta*PI/mu, (5, 1) = 0, (5, 2) = 0, (5, 3) = gamma[o], (5, 4) = gamma[1], (5, 5) = 0, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = 0, (7, 8) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = alpha*c*lambda[b]/mu[b], (8, 4) = alpha*c*lambda[b]/mu[b], (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = 0})

F := Matrix(8, 8, {(1, 1) = mu, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = sigma, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = mu, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = gamma[o]+mu, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = gamma[1]+delta+mu, (4, 5) = 0, (4, 6) = 0, (4, 7) = 0, (4, 8) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = mu, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = mu+sigma, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = mu[b], (7, 8) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = 0, (8, 4) = 0, (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = mu[b]})

1/V

Error, (in rtable/Power) singular matrix

VectorMatrixMultiply(F, 1/V)

Error, (in rtable/Power) singular matrix

Vinv := MatrixInverse(V, method = pseudo)

Vinv := Matrix(8, 8, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = -1/(-gamma[o]+gamma[1]), (3, 6) = 0, (3, 7) = 0, (3, 8) = gamma[1]*mu[b]/(alpha*c*lambda[b]*(-gamma[o]+gamma[1])), (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 1/(-gamma[o]+gamma[1]), (4, 6) = 0, (4, 7) = 0, (4, 8) = -gamma[o]*mu[b]/(alpha*c*lambda[b]*(-gamma[o]+gamma[1])), (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 0, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = 0, (7, 8) = 0, (8, 1) = 0, (8, 2) = -`&epsilon;`*mu*(-1+theta[h])/(alpha*beta*PI*(`&epsilon;`^2*theta[h]^2-2*`&epsilon;`^2*theta[h]+`&epsilon;`^2+1)), (8, 3) = 0, (8, 4) = mu/(alpha*beta*PI*(`&epsilon;`^2*theta[h]^2-2*`&epsilon;`^2*theta[h]+`&epsilon;`^2+1)), (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = 0})

`~`[normal]((V.Vinv)^%T-V.Vinv); `~`[normal](V.Vinv.V-V)

Matrix(8, 8, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 0, (4, 6) = 0, (4, 7) = 0, (4, 8) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 0, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = 0, (7, 8) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = 0, (8, 4) = 0, (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = 0})

Matrix(8, 8, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 0, (4, 6) = 0, (4, 7) = 0, (4, 8) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 0, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = 0, (7, 8) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = 0, (8, 4) = 0, (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = 0})

F.Vinv

Matrix(8, 8, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = -(gamma[o]+mu)/(-gamma[o]+gamma[1]), (3, 6) = 0, (3, 7) = 0, (3, 8) = (gamma[o]+mu)*gamma[1]*mu[b]/(alpha*c*lambda[b]*(-gamma[o]+gamma[1])), (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = (gamma[1]+delta+mu)/(-gamma[o]+gamma[1]), (4, 6) = 0, (4, 7) = 0, (4, 8) = -(gamma[1]+delta+mu)*gamma[o]*mu[b]/(alpha*c*lambda[b]*(-gamma[o]+gamma[1])), (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 0, (5, 6) = 0, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 0, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = 0, (7, 8) = 0, (8, 1) = 0, (8, 2) = -mu[b]*`&epsilon;`*mu*(-1+theta[h])/(alpha*beta*PI*(`&epsilon;`^2*theta[h]^2-2*`&epsilon;`^2*theta[h]+`&epsilon;`^2+1)), (8, 3) = 0, (8, 4) = mu[b]*mu/(alpha*beta*PI*(`&epsilon;`^2*theta[h]^2-2*`&epsilon;`^2*theta[h]+`&epsilon;`^2+1)), (8, 5) = 0, (8, 6) = 0, (8, 7) = 0, (8, 8) = 0})

 

Download matinv.mw

First 149 150 151 152 153 154 155 Last Page 151 of 336