Christian Wolinski

MaplePrimes Activity

These are replies submitted by Christian Wolinski

@Joe Riel The option compile=false does the trick. I do not see how I can succeed without it and not completely disable security.

@Carl Love According to Maple 5.4, I is a radical. It always was in Maple and in mathbooks. It no longer is...

Does the answer to type((-1)^(1/2), radical) tell you there is nothing wrong with Maple as is? What a bold failure.

type(sqrt(-1), radical);


Outright profanity....

Consider this code:

@Joe Riel indets({(-1)^(1/2), (-2)^(1/2)}, anything^Non(integer)) = {(-1)^(1/2), (-2)^(1/2)};

In Maple 5.4 I get the proper response that is logically true statement. In Maple 2017 I get a bogus answer.
What do you think should happen in the code below. Also when did Maplesoft make the change?
@Carl Love indets({(-1)^(1/2), (-2)^(1/2)}, anything^Non(integer)) = {(-1)^(1/2), (-2)^(1/2)};

@Kitonum How long does this take ?

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


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