Christian Wolinski

MaplePrimes Activity


These are answers submitted by Christian Wolinski

Maybe this works:

 

nmSphere := proc(L::list, x::list)
   local n, m, mu, v, F, E;
   description "Convert n distinct points:(L) in m-space:(x) into equations about (n-1)-sphere in m-space";
   n := nops(L);
   m := nops(x);
   F := map(unapply, [add(v[i]^2, i = 1 .. m), seq(v[i], i = 1 .. m), 1], v);
   E := [seq(F[i](x) - add(F[i](L[j])*mu[j], j = 1 .. n), i = 1 .. m + 2)], [seq(mu[j], j = 1 .. n)];
   eliminate(E)[2];
end proc:

nmSphere([[-1,0,0], [0,1,0], [0,0,1]], [x,y,z]);

V := [x, y, z];
P := [-1, 0, 0], [0, 1, 0], [0, 0, 1];
E := nmSphere([P], V);
S := map(subs, ([solve])(E, {x, y}, explicit), V);
R := z = (proc (R) options operator, arrow; op([1, 1], R) .. op([2, 1], R) end proc)(solve(0 < discrim(eliminate(E, {y})[2][1], x), z));

plots[display](plots[pointplot3d]([P], symbol = CIRCLE, color = red), seq(plots[spacecurve](L, evalf(R), color = grey, thickness = 3, transparency = .5), L = S), axes = boxed, scaling = constrained, orientation = [-150, 60, 60], labels = ["x", "y", "z"]);

V := [x, y];
P := [-1, 0], [0, 1], [0, 0];
E := nmSphere([P], V);
S := map(subs, ([solve])(E, {x}, explicit), V);
R := y = (proc (R) options operator, arrow; op([1, 1], R) .. op([2, 1], R) end proc)(solve(0 < discrim(E[1], x), y));

plots[display](plots[pointplot]([P], symbol = CIRCLE, color = red), plot([[S[1][], R], [S[2][], R]], color = grey, thickness = 3, transparency = .5), axes = boxed);


;;


Thumb if you like.

You are given a rational polynomial so this is the basic for Maple. Manipulate directly.

    A := - lv*(dw - lw)/(dw - hw);
    - A*(dw - hw)/(hw - dw);

But most likely you are considering an automated method. Consider the code that follows with different values of S, like [lw,dw], [dw,lw] and other.

    A := solve(hv*hw + lv*lw = dw*(lv + hv), hv);
    T := table([(i = op(i, A)) $ (i = 1 .. nops(A))]);
    T := map(proc(x) if type(x, anything^integer) then op(x) else x, 1 fi end, T);
#make changes here:
    S := [lw, dw];
    T := map(proc(x, p, S) local l; l := lcoeff(x, S); l, normal(x/l), p end, T, S);
    mul(T[i][1]^T[i][3], i = 1 .. nops(A)), mul(T[i][2]^T[i][3], i = 1 .. nops(A))

 

 

Look up:

?issqr
?isqrt

If you want a random, uniform distribution then use: "stats[random,uniform[0,1]](10);"
About your method, it should be "r:=rand(1..2)()" which will give you a randomly selected integer in range 1..2 and "r:=rand(1..2)" would give you the generator for said toss. So: "f(1):=H;f(2):=T; a:=map(f@rand(1..2),Vector[row](10));" is your method.

 

 

Thumb it if you like.


Simply:

 

expand(applyop(radnormal, 1, f));
evalc(applyop(radnormal, 1, f));

#for the larger samples:
F := f -> evalc(applyop(radnormal, 1, f));
G := ((x, s) -> map(collect, x, s, distributed)), (x, s) -> collect(x, s, distributed);
t := ln(anything);

factor(evalindets(f, t, F));
G[1]('%', indets('%', t));


Thumb if you like.


Before "GCD3:=" you have the "proc". Delete it.

A very low order test is implemented in `combine/polylog`.

You can see it with:
stopat(`combine/polylog`, 17);
showstat(`combine/polylog`);

Line 17 in "type(x,'complex(numeric)') and 1 <= abs(x) or is(1 <= x) or is(x <= -1)" replace with
with say "1<=abs(x)^2" or "signum(1-abs(x))=-1" or "is(1<=abs(x))", whichever is preferred.

Look at the line:

 

x[2] := unapply(invlaplace(laplace(t^(alpha-1), t, s)*laplace(y[2](t)-20*y[13](t)+(19/2)*y[14]-60*y[16](t)+21*y[17](t)-y[13](t)*(6*(3*y[2](t)-y[5](t)))+y[15](t)*(12*(3*y[1](t)-y[4](t))-2*(2*y[1](t)-y[4](t)))-y[16](t)*(12*(3*y[2](t)-y[5](t)))+y[18](t)*(24*(3*y[1](t)-y[4](t))-6*(2*y[1](t)-y[4](t))), t, s), s, t), t);


Instead of (19/2)*y[14] it should be (19/2)*y[14](t). This is my best bet. Replace with:

 

x[2] := unapply((subs(y[14] = y[14](t), eval(x[2])))(t), t);
#or simply
x[2] := unapply(invlaplace(laplace(t^(alpha-1), t, s)*laplace(y[2](t)-20*y[13](t)+(19/2)*y[14](t)-60*y[16](t)+21*y[17](t)-y[13](t)*(6*(3*y[2](t)-y[5](t)))+y[15](t)*(12*(3*y[1](t)-y[4](t))-2*(2*y[1](t)-y[4](t)))-y[16](t)*(12*(3*y[2](t)-y[5](t)))+y[18](t)*(24*(3*y[1](t)-y[4](t))-6*(2*y[1](t)-y[4](t))), t, s), s, t), t);


Thumb if you like.

gives this:
 

 

R := z = RootOf(-8649 + 270100*_Z + 9000*_Z^2 + 100*_Z^3, .3198736765e-1) .. .1;
A := [[3/2 + 1/10*(-8649+270100*z + 9000*z^2 + 100*z^3)^(1/2), z, 'R'], [3/2 - 1/10*(-8649 + 270100*z + 9000*z^2 + 100*z^3)^(1/2), z, 'R']];
plot(A);


Thumb if you like.

If you dont want something expanded, then name it:
 

 

CG:=proc(E) map(q -> collect(q, G, proc(E) if type(E, `*`) then map(collect, E, [F], factor) else collect(E, [F], factor) end if end@factor), E); end:

eqn := 5*(x*y)^2 + x/G = 2*F^3 + x^2, F = 3*x^3 + y^2, G^2 = y, G = sqrt(y);
#implicitdiff({eqn[1..-2]}, {y, F, G}(x), {y}, x):
implicitdiff({eqn[1..-2]}, {x, F, G}(y), {x}, y):
simplify(%, [eqn[-2]]);

applyop(CG, [1,2], convert(%, parfrac, G));
subs([eqn[2..-1]], %);  

 

Thumb if you like.

Maybe this is what you need:

 

with(Domains):
GI := Gaussian(Z):
F:=proc(a,b)
   local i, s, t, g;
   g := op('procname');
   i := g[Input](a), g[Input](b);
   i, PrincipalIdeal(g, i, 's, t'), s, t;
end proc;
F[GI](-87+47*I, -90+43*I); 

 

Thumb if you like.

What you are trying to do is specifically intended for the command simplify:

 

simplify(expr, [expression = V1]); 

 

Thumb if you like.


Two ways:

 

GST := AE + AI - ANB - AR - CP;


GSTf := evalindets(GST, name, unapply('unapply(a[i], i), a'));
GSTf ~ ([$1..3]);

GSTg := evalindets(GST, name, unapply('G[a], a'));
G := () -> op(procname)['args'];
GSTg ~ ([$1..3]); ;


Thumb if you like.

Replace the capital I in your formulas with lower case i and the problem will disappear. Capital I means (-1)^(1/2) which in algebraic formulas will be transformed by simplifications.

 

Thumb if You like.

 

 

 

 

 

This is a basic rule of valuations:

'
log[2]'(3);

T
humb if you like.

First 15 16 17 18 19 20 21 Page 17 of 22