## 1365 Reputation

18 years, 151 days

## First Maple....

@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.

## More in this vein:...

Outright profanity....

## Boolean logic....

Consider this code:

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

## Boolean logic....

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

## Timing....

@Kitonum How long does this take ?

## Good reference....

@Carl Love Thanks!

## Blockmatrix and indexing....

@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.

## for ... from ... to ... do ... end do....

there is no do in the k loop.

## Use keyboard shortcuts....

Try Ctrl+(1..9).

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

## Error....

Do not use the string error for a variable name.

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

## Correction:...

@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:```

## IMO it is a math error....

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.

## This is a weak test:...

@WA573

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]});

## Other ways....

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

## What is your version of Maple?...

@Ronan Maybe it is a version issue.

 1 2 3 4 5 6 7 Last Page 2 of 18
﻿