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/
-~----------~----~----~----~------~----~------~--~---

Reply via email to