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.

Reply via email to