| Karim Belabas on Fri, 09 Jul 2004 22:48:45 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: complex arithmetic |
* Kerl, John [2004-07-06 18:57]:
> A starting point might be omega_n = Mod(x, polcyclo(N)) ...
>
>> I'd like to do exact arithmetic in Q[e^(Pi*I/n)]. for
>> example, in GAP I would
>> type "E(24) * E(24)" and it would output "E(12)" (E(n) is
>> e^(Pi*I/n) or
>> somesuch in GAP). This is fine; however, GAP is woefully
>> slow, and I want to
>> use libPari, which is speedy. n is fixed before any
>> computation starts. is
>> there any way of doing this in Pari? thanks
I speed is of the essence, use Mod(x, x^N - 1), and reduce modulo
polcyclo(N) whenever equality tests are required.
[ If you program in libpari, dump POLMODs as soon as possible and use
integer polynomial arithmetic. See src/modules/aprcl.c for some ideas... ]
Using complex or p-adic approximations is also often worth considering.
Cheers,
Karim.
--
Karim Belabas Tel: (+33) (0)1 69 15 57 48
Dep. de Mathematiques, Bat. 425 Fax: (+33) (0)1 69 15 60 19
Universite Paris-Sud http://www.math.u-psud.fr/~belabas/
F-91405 Orsay (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]