Stefan van Zwam
unread,Aug 5, 2013, 12:29:27 PM8/5/13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to sage-m...@googlegroups.com
Hi all,
I encountered a major annoyance. Suppose you want to do a short computation with a partial field, and you don't want to go through the whole finite field business, so you grab a polynomial ring:
sage: H5.<a,b,c> = FractionField(PolynomialRing(ZZ, ['a', 'b', 'c']))
Then you build a set of fundamental elements. But there's trouble:
sage: S = set([1/(1-c)])
sage: (-1)/(c-1) in S
False
Unfortunately this becomes a problem in a quite well-optimized part of the code (the linear_extensions method and its friends). Can we afford to have a more robust test (in _line_cross_ratio_test)? I could imagine having an extra option to that function, "fast=False". The default would then check something like
if not any( s / r / t - p == 0 for p in fundamentals):
return False
and the fast version would be our current version.
Note that something needs to happen, because right now the code will return wrong answers.
Thoughts?
--Stefan.