Hi there, I gave my talk to the PhD seminar here at Royal Holloway today and I stressed the fact that Sage is a unified interface to many math packages quite a lot. This provoked the follow feature request/suggestion I was quick to turn down. However, this should forward to all Sage developers to decide:
Usually, if we choose an implementation for a particular functionality, we try to make sure to always pick the best implementation available. However, this choice only applies to those systems we ship (singular, gap, pari ...) and not to the systems installed on a user's computer. As for many computations e.g. Magma is the fastest one person in the audience suggested to use Magma by default for those computations if it is available on a user's computer. E.g. you do: def f(A): if magma.is_installed(): return magma(A).f() else: return f_foobar(A) I turned this down, because this would violate the principle that everything should be laid open for checking,should be free and self contained. The other side replied that this way Sage would be guaranteed (up to NotImplementedError) to always use the best implementation available on a user's computer. Also, the user might not know which implementation is the fastest but we know (e.g. we have an idea when Magma's F4 is very good) so he/she might not know how to choose if Magma is only an option among many. So from a user's perspective this might make sense. A possible compromise would be a global flag similar to the proof flag to toggle the use of installed non-free systems, e.g.: def f(A): if magma in enabled_non_free_systems and magma.is_installed(): return magma(A).f() else: return f_foobar(A) Thoughts? Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---