Hello,
I was wondering whether there is any way to protect a table. I have the following situation:
> f := table([ a = table([ a1 = 1, a2 = 2 ]), b = table([ b1 = 3, b2 = 4 ]) ]);
That is, f[a] returns another indexed table. Now, when I do protect(f), protect(f[a]) or even protect(f[a][a1]), I cannot change its value any more:
> protect(f);
> f[a][a1] := test;
Error, attempting to assign to array/table `f` which is protected
But if I assign f[a] to a new variable g, then I can do it:
> g := f[a];
> g[a1] := test;
> eval(f);
table([a = table([a1 = test, a2 = c]), d = table([d1 = i, d2 = j])])

Hello, I am in doubt with the following situation. It started with this: > f := signum(z)*infinity; > type(f,complex(extended_numeric)); # false > is(f,complex(extended_numeric)); # false Now I make an extra assumption on z, and do these checks again: > assume(z,real); > type(f,complex(extended_numeric)); # false > is(f,complex(extended_numeric)); # true I was wondering why the second time is results in true while type does not... I am just checking whether the expressions is an infinity (possibly in complex form), and so I don't see where the difference could come from.

Hello, I have a question regarding the floating-point evaluation of certain expressions. In the helppage for float we read the following: "The presence of a floating-point number in an expression generally implies that the computation will use floating-point evaluation. The floating-point evaluator, evalf, can be used to force computation to take place in the floating-point domain." So, this explains the following behavior: > 0.1+1/3; 0.4333333333 But what is the difference with the following expression: > 0.1 + Pi; 0.1 + Pi This contradicts what is in the float helppage; both Pi and 1/3 are exact mathematical quantities, yet 0.1 is a float, so one would expect a floating-point behavior to be happening. Maybe this behavior is explained somewhere else?

Hello,

I am looking for an explanation for the following behavior :

> f := proc(x) somefunc(x) end proc:

> a := table([variable=z]):

> f(a);

somefunc(a)

> f(a) assuming z::real;

somefunc(table([variable=z]))

Why is 'a' replaced with its corresponding table in the second case? And is it possible to use the name 'a' in the return value?

-- Thanks for any reply,

Franky.

Does anybody know how to install the 10.02 update on a 64-bit version of Maple? -- Regards, Franky.