Hi Christian!
On Mon, Jun 14, 2010 at 05:27:21PM -0700, Christian Stump wrote: > I have a new version of cyclotomic fields with Zumbroich basis, which > you might wanna use as a first test these days for translating complex > reflection groups from chevie to sage. Great, thanks! > The changes depend on the little change in the class > ModuleMorphismByLinearity as described above. I could open a new > ticket for that and provide a patch solving the problem. But I think > you know better how to solve it, and for now one can directly change > it in the code. I attached the new version of zumbroich.sage to the > ticket. Oops, I let your previous e-mail slip by. Valentin Ferray already had noticed this issue, and there is a fix in his patch about group algebras in the Sage-Combinat queue. So indeed it would be good to fix this once for all. We probably will handle this this week. I'll keep you updated. > - the method E(n) returns the smallest primitive n-th root of unity > living in the smallest cyclotomic field containing it. > > As I didn't know how to coerce two elements into a common parent when > the two n's involved are not multiples of each other, one has to use > methods CyclotomicMultiplication and CyclotomicAddition. Those should > be replaced soon by inline methods * and +. > > Here are some examples (the class is called CFZ, but it not supposed > to be called directly): > > sage: attach zumbroich.sage > sage: E(3) > E(3) > sage: E(3).parent() > Cyclotomic Field QQ( E(3) ) endowed with the modified Zumbroich basis > sage: E(6) > -E(3)^2 > sage: E(6).parent() > Cyclotomic Field QQ( E(3) ) endowed with the modified Zumbroich basis > sage: a = E(3)*E(6) > sage: a > E(3) + E(3)^2 > sage: a.push_down() > -1 > sage: E(23)*E(27) > ... > TypeError: unsupported operand parent(s) for '*': 'Cyclotomic Field > QQ( E(23) ) endowed with the modified Zumbroich basis' and 'Cyclotomic > Field QQ( E(27) ) endowed with the modified Zumbroich basis' > > sage: CyclotomicMultiplication( E(23), E(27) ) > -E(621)^257 - E(621)^464 > > The methods are way slower than in gap - one of the main problems is > that it takes pretty long to compute the basis family and the access > to monomials in CombinatorialFreeModule even if the input basis is > already there. This makes it quite slow to access elements in the > basis having elements in the basis indexing set: > > sage: attach zumbroich.sage > sage: %time CyclotomicMultiplication( E(187), E(193) ) > CPU times: user 1.84 s, sys: 0.04 s, total: 1.88 s > Wall time: 1.88 s > E(36091)^380 > sage: %time CyclotomicMultiplication( E(187), E(193) ) > CPU times: user 0.03 s, sys: 0.00 s, total: 0.03 s > Wall time: 0.02 s > E(36091)^380 > > But I don't think we need to worry about that at the moment as it is > pretty unlikely to slow down computations concerning reflection > groups. Ok, thanks for the detailed report. > Best regards and have a nice week! We will! Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To post to this group, send email to sage-combinat-de...@googlegroups.com. To unsubscribe from this group, send email to sage-combinat-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.