jakubi

1369 Reputation

12 Badges

19 years, 340 days

MaplePrimes Activity


These are replies submitted by jakubi

By attaching a property to 'a' its value is an internal variable (that prints like a~ when interface(showassumed=1) ). So, the value of 'f0' is 'x+a~'. Then 'f' is not assigned an expression with the symbol 'a' but with the symbol 'a~'...

For some notes on that I have collected on related issues see this page at the Maple wiki.

You can convert 'fss' to a table:

f:=convert(fss,table):
f[2][e4][b]/2.0;
                             0.3500000000

Indeed, there should be a "smarter, mathematical safer evaluator". The problem is that 'eval' is packed with many unrelated functionalities. As you call it the single argument 'eval' on one side and the two argument "evalat" functionality on the other. But this "evalat" is yet a mixture of data structure and mathematical functionalies. I.e. it makes both mathematical sensible evaluations and mathematical "absurd" evaluations when it operates on the "hidden" structure of the expressions.

E.g., currently:

eval(x^4+1,1=27^(1/2));
                             4   1/2
                            x  27    + 27

and for this kind of functionality, I do not see any advantage of making here, automatically, the transformation 27^(1/2) -> 3*3^(1/2).

So, my point of view is that a distinct specific mathematical smart "evalat" command is needed. And it is this one which needs user options for harder testing.

Repeating the same iterations in Maple 12 console interface, I  get indeed different numbers but (surprisingly?)  the initial set is larger:

S1:=select(type,{unames(),anames(anything)},protected):
S2:=select(type,{unames(),anames(anything)},protected):
S3:=select(type,{unames(),anames(anything)},protected):
S4:=select(type,{unames(),anames(anything)},protected):
memory used=3.8MB, alloc=2.8MB, time=0.25
S5:=select(type,{unames(),anames(anything)},protected):
memory used=7.6MB, alloc=5.3MB, time=0.53

map(nops,[S1,S2 minus S1,S3 minus S2,S4 minus S3,S5 minus S4]);
                           [380, 59, 139, 180, 95]

And these numbers after S4 and S5 may be related to this permanent store issue (indeed I listen the disk working!)

So, if I understand correctly, is impossible to get a complete list of the protected names by the method stated in this help page?

May be that you are looking for something of the style of Cadabra?

This sounds to me like the subject of chaotic dynamical systems, because of the so called  "sensibility" under perturbations of the initial contidions.

I would find very useful to know such lists. Ie know where Maple is going. I guess that Maplesoft's policy is not to show  its cards the competition, though.

Then piecewise(x<0,0,1) is not computable?

for your illuminating posts.

that I would like to add is Alec Mihailovs.

Reasons:

His outstanding and longstanding contributions to Maple Primes and many other Maple communities. In particular for his effort to help others on the use of Maple even without a copy for himself.

I admire his deep insights of the Maple system and Mathematics.

 

This map R-> I*R would require its own constructor. I see this completely misleading in operation and name. While the two argument form implements the embedding of R into C, like:

Complex(2,0.0);
                              2. + 0. I

and, as ?complex says:

The complex constructor can be used to prevent the simplification of x + 0.0*I and x - 0.0*I to x

the single argument form implements quite a different operation. For me, 'Complex(2)' should work exactly the same as 'Complex(2,0.0)' and 'Imaginary(2)', say, should yield 2*I.

What is it good for, this map from reals to imaginary numbers?

?limits states:

limit(f, x=a, dir)
...
If dir is not specified, the limit is the real bidirectional limit,...

But this is the same issue of this past thread.

 

Eg., in Standard GUI, `-` appears only in the fourth iteration. In a fresh session:

S1:=select(type,{unames(),anames(anything)},protected):
S2:=select(type,{unames(),anames(anything)},protected):
S3:=select(type,{unames(),anames(anything)},protected):
S4:=select(type,{unames(),anames(anything)},protected):
S5:=select(type,{unames(),anames(anything)},protected):

map(has,[S1,S2,S3,S4,S5],`-`);
                      [false, false, false, true, true]

But, it can be "forced" to be recognized earlier. Again in a fresh Standard session:

S1:=select(type,{unames(),anames(anything)},protected):
has(S1,`-`);
                                    false
type(`-`,protected);
                                    true
Sm:=select(type,{unames(),anames(anything)},protected):
has(Sm,`-`);
                                    true

In fact, I find several names different.

Four in S1 Classic but not in S1 Standard: `-`, fclose, fopen, fprintf

Three in S1 Standard but not in S1 Classic: currentdir, protect, unprotect

Names in S2 but not in S1 for Standard:

S2 minus S1;nops(%);
{Int, Sum, cot, csc, exp, sec, sum, tan, Expand, Limit, Normal, Product, 
  WARNING, algfun, algnum, arccosh, arccoth, arccsch, arcsech, arcsinh, 
  arctanh, ceil, collect, copy, evala, floor, freeze, index, invfunc, limit, 
  product, psqrt, round, scalar, sech, signum, subtype, tanh, testeq, thaw, 
  trig, unapply, Multiply, RealRange, argument, iperfpow, listlist, primpart, 
  radnormal, resultant, LinearAlgebra, VectorOptions, additionally, 
  rtable_elems, simplify/siderels}
                                     55
First 70 71 72 73 74 75 76 Last Page 72 of 123