Christian Wolinski

MaplePrimes Activity

These are replies submitted by Christian Wolinski

@Carl Love Thanks!

@PhearunSeng Older Maple uses linalg package that has a "blockmatrix" function for building matrices from other matrices. 

This code works with your example:

A := [1..3,1..2], [1..1], [1..2];
F := proc(v) proc(x,y) 'M2[x,y]' end(-1+v[1]+v[3], -2+2*v[2]+v[4]) end; 
G := proc(v) M[v[1], v[2]][v[3]][v[4]] end;
d := 3, 4;
assign('M2' = Matrix(d), 'C' = combinat[cartprod](map2(op@map,[`$`],[A])), 'proc(v) (F = G)(v) end(C[nextvalue]())'$(mul([d])));
print('M2' = M2);

You would have to adapt it to work with other examples. You need to configure A, F, G, d variables.

there is no do in the k loop.

Try Ctrl+(1..9).

As for the menus you'd have to change your Windows settings to use larger fonts.

Do not use the string error for a variable name.

Does Maple have /=, += operators? Mine (ver 2017.3) does not.

@Joe Riel I think it should be:

SplitString := proc(s,len)
local i;
    seq(s[i..i+len-1], i=1..length(s), len);
end proc:

Same error with 1150900 and 1150900+1. As a matter of fact 1150000..1150900 is ok. And so is 1151000..1152000. And 1150952..1151000 but not 1150951. Presumably nothing in the range 1150901..1150951 works.

So checking on 1073152, it works. 1073128 works too, but 
1073127 does not. So presumably nothing in the range 1073101..1073127 works.


select(proc(Sol, Sub) map(evalb, subs(Sub, Sol))={true}; evalb(%); end, Sols, {c = c0, mu = 1/sqrt(2*c0^2-2), a[-1] = a[-1], a[0] = 0, a[1] = a[1], b[-1] = a[-1], b[0] = 0, b[1] = -a[1]});

select(proc(Sol, Sub) evalb(map(evalb, subs(Sol, Sub))={true}); end, Sols, {c = c0, mu = 1/sqrt(2*c0^2-2), a[-1] = a[-1], a[0] = 0, a[1] = a[1], b[-1] = a[-1], b[0] = 0, b[1] = -a[1]});


@WA573 If you dontt like map allvalues you can do this:
Sols := [solve]({c=c0, identity(Eq3,z)},vars, explicit=true); NSols := nops(Sols);

"Extracting" the values can be done in this way:
map(subs, Sols, [c, mu, a[-1], a[0], a[1], b[-1], b[0], b[1]]);

or with one of these:
map(proc(S,V) [subs(S, V), map(lhs, select(evalb, S))] end, Sols, [c, mu, a[-1], a[0], a[1], b[-1], b[0], b[1]]);
map(proc(S,V,k) local i; [subs(S, V), map(lhs, ([op]@select)(evalb, S))]; subs([seq(%[2][i]=k[i], i=1..nops(%[2]))], %)  end, Sols, [c, mu, a[-1], a[0], a[1], b[-1], b[0], b[1]], k);


@Ronan Maybe it is a version issue.

@Ronan Instead of end, try end proc. Also did you get the `` in the ``(lcoeff(E))*normal(E/lcoeff(E)) ? Maybe you should change your input options in Options/Display/Input display to Maple Notation.

Also in
if type(E, `+`) then X := [op]('E') else X := ['E'] fi; 
notice that E is not a variable, but the very expression evaluated as argument. Evaluating it further is not desired. We mean only to deconstruct it or to use it in a construction.

Could you post the result of



@Carl Love The user may be working with a list/vector.

The only difference I can see between the plots is:
using option color=[red,red] in display produces a PLOT3D structure with 2 MESH structures with a COLOUR specification,
using option color=red in 2 tubeplots produces a PLOT3D structure with 2 MESH structures with a COLOR specification.
Both tubes are red and there are no black objects.

I am using Maple 2017.3.

If you use solution of the first system in the second, none of the equations verify unless you heavily reduce Digits. You are having precision issues.

1 2 3 4 5 6 7 Last Page 3 of 19