This doesn't exactly answer your question, but I think it would be
useful (or at least interesting) if setting some global flag would
cause Sage to report which external (or internal 3rd party) packages
were used in reaching a result.  But perhaps that is unrealistic since
a long computation might use lots of different ingredients, and seeing
list of them at the end would not tell you who had done which bits.

John

On 01/11/2007, Martin Albrecht <[EMAIL PROTECTED]> wrote:
>
> 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]
>
>
> >
>


-- 
John Cremona

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