Karim BELABAS on Thu, 12 Dec 2002 13:49:59 +0100 (MET)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: How to eliminate the big-oh


On Thu, 12 Dec 2002, Franck MICHEL wrote:
>>Assuming z has higher priority that x, you can do
>>
>>subst(truncate(subst(taylor((1-x)/(1-t),t),x,z)),z,x)
>
> Thank you, it works. Certainly a naive question, but: how can we know the
> level of priority of variables?

reorder()

> Is it possible to change it?

No. You can use

1) reorder to get the list of variables
2) make the relevant permutation in reorder output and use changevar to
permute variables

(13:37) gp > reorder
%1 = [x, s, n, file, a, y, b]
(13:37) gp > changevar(x^2+y,[a,s,n,file,a,b]) \\ x-->a, y-->b; rest unaffected
%2 = a^2 + b

Something like subst(x, vec1, vec2) where vec1 is a vector of variables
and vec2 is a vector of expressions of the same length would be much more
useful.

[ vec1[i] is replaced by vec2[i], in parallell ]

It's more or less on the TODO list ( about changevar() ), and is trivial to
implement, provided one does not bother about efficiency.

Also, all functions implicitely depending on a "main variable" for the object
should accept an optional argument 'v' to operate wrt variable 'v'. Many
already do, truncate does not.

truncate(x, {&e}, {v}) ?

    Karim.
-- 
Karim Belabas                    Tel: (+33) (0)1 69 15 57 48
Dép. de Mathématiques, Bât. 425  Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud             Email: Karim.Belabas@math.u-psud.fr
F-91405 Orsay (France)           http://www.math.u-psud.fr/~belabas/
--
PARI/GP Home Page: http://www.parigp-home.de/