Christian Wolinski

MaplePrimes Activity


These are replies submitted by Christian Wolinski

So which versions fail this and how is this explained. I feel like this is an old issue.

Edit: the results wont be equal, but they should be similar.

 

Op := proc(R,F)
 a := R, R;
 F(a());
end:

Op2 := proc(R,F)
 a := R, R;
 a := a();
 F(a);
end;

([Op] = [Op2])(rand(1 .. 9), [f, f]);


 

@Carl Love I am most interested in satisfying test1 using builtin types. Since satisfies was introduced this idea is confused, satisfies is just a torture test. I thought atomic might be the type I was looking for, but it is not.

@Carl Love I would consider that a run around my question, since that type is just an arbitrary procedure call. It does not identify a Maple type.

@maple2015 Thumb if you like. It helps :D

@Carl Love Replace the 600 with something of order of 1500. What is the ceiling? Can we count real roots of a polynomial this size?

@Carl Love What is the best way to count real roots of a polynomial this size. (Unfortunately this polynomial factors)

@Carl Love I thought size would obstruct. What are the limits in this?

@acer is `eval/piecewise` necessary? I used unassign on `eval/piecewise` and eval with piecewise worked as I would expect.

I see this code satisfies what I expected from earlier versions of Maple:

 

S := {x[5] = x[2]/x\[1], x[6] = x[3]/x[2], x[7] = x[1]/x[4], x[8] = (2*x[2]+x[4])/(2*x[1]+x[3]+x[4])};
V := {x[1], x[2], x[3], x[4], x[8]};
T := (numer @ (lhs - rhs)) ~ (S):
Groebner :- Solve(T);
W := map(proc(L, v) seq([remove(evalb, s), L[3]], s = [solve](L[1], v)) end, %, V);

 

Here is an example of something I expect to happen in previous example.:

 

eliminate({x[2] = x[5] * x[1]}, {x[1], x[2]});

 

@vv 

true, [x = 2, y = 2]

I was anticipating this result.

@Carl Love but builtin:

 

H := proc ()
   if type('procname, indexed') and type([op]('procname'), 'list(posint)') then op(map(op, map((n, m) -> `if`(n <= m, n, NULL), [op]('procname'), 'nargs'), ['args'])) else 'procname(args)' fi
end;

 

@Preben Alsholm I was contemplating whether args[1] is a reference to parameter a or procname a reference to procedure F in this made up example (in any of the Maple versions):
 

 

F := proc(a, b)
   f := () -> args[1];
   g := () -> procname;
end;


Also, is there a kernel substitute for f in this example?

@vv The task is trivial if you have both versions. Let someone like that post here instead please.

@vv Perhaps instead of using solve/ eliminate one should use gaussjord or linsolve?

1 2 3 4 5 6 7 Page 3 of 7