Hi Andrey,

On Wed, 27 Jul 2011 10:08:18 -0700 (PDT)
Andrey Novoseltsev <novos...@gmail.com> wrote:

> I have just looked over PARI citing discussion and recently I had a
> talk with a developer of a software package X who was concerned that
> inclusion of X into Sage will mean that people will stop giving credit
> to X (and this developer in particular ;-)) Sometime ago there were
> suggestions to somehow gather statistics on how many times which
> function was called, which in practice does not seem like a great idea
> due to performance hits and privacy issues. Figuring out manually
> which components are used is somewhat boring and actually quite hard.
> 
> But how about this: suppose I have written a function f that does what
> I need and I want to properly cite people and systems who made it
> possible, but at the same time I am too busy/lazy to do much to
> achieve it. However, I can do
> 
> sage: uc = UsedComponents("f(75)")
> 
> and then
> 
> sage: uc
> Flint, PARI, Singular
> sage: print uc.acknowledgement()
> Computations were performed using CAS Sage~\cite{Sage}, interfacing
> Flint~\cite{Flint}, PARI~\cite{PARI}, Singular~\cite{Singular}.
> 
> which I copy-paste into my paper (or better yet - use SageTeX) and
> 
> sage: print uc.BiBTeX()
> <BiBTeX entries for keys Flint, PARI, Sage, Singular>
> 
> which I include into my bibliography file (or hopefully SageTeX can
> somehow take care of).
> 
> To get these lists, it seems to me that one can execute the code
> "f(75)" in a profiler, collect used functions, and then look for
> substrings (either modules or particular functions) from a list that
> gives matches of substrings to components. This list has to be
> manually maintained, as in general this matching is probably non-
> trivial, but authours of particular functions and interfaces can
> easily add them, I think. As a bonus such automated citer will include
> proper versions for everything.

We already have this, without the bibtex formatting of course:

sage: from sage.misc.citation import get_systems
sage: get_systems("integrate(cos(x^2), x)")
['MPFI', 'ginac', 'GMP', 'Maxima']

There are also two issues on trac about this #3317 and #1422.

I've heard similar complaints from many people, including the Singular
group where I'm currently employed. It's true that Sage can do much
better to provide information on what was used in the background during
a computation, but overall, I think the main problem with citations is
changing the perspective of the users.

For many years, this field was dominated by large, closed computer
algebra systems. Even though some were more transparent than others,
it became common place to say MMA can compute this, Magma can do that.
As pointed out in the Sage & Pari thread recently, we should give
credit to the algorithm and the implementor for a nontrivial
computation.


To improve the capabilities of Sage to provide such information, Niels
Ranosch, a student currently employed in Oberwolfach (and supervised by
Michael Brickenstein), is implementing a new citation module:

https://bitbucket.org/niels_mfo/sage-citation/

We plan to start integrating this in Sage in August. To describe the
motivation and the goals to Niels, I'd started writing this:

http://bitbucket.org/niels_mfo/sage-citation/src/e13a2151d368/citation_description.rst

This blog entry has some design details, subject to change of course:

http://sage-citation.blogspot.com/2011/07/design.html


We would appreciate any comments and suggestions on this citation
system. At this stage, it is just an experiment for us too. :)


There are also plans to make a C-library interface to such a system, so
that libraries used during a computation, for example libSingular or
Gfan, can provide the citation information directly. Unfortunately,
there is no real code for this yet, apart from a header file defining
the proposed interface.


Burcin

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to