Hi Bill,

let me comment on the "how to cite individual Sage components" topic.

On 26 Jul., 00:18, Bill Hart <goodwillh...@googlemail.com> wrote:
> * Citing a Number Theory package you know nothing about in published
> research is about as dubious as citing a paper you have never read.
> Unless you are prepared to read the code and understand the algorithm
> Pari uses, what right do you have to cite it? However, when writing
> papers, if you use a published result which makes use of some other
> published results, you usually cite the result you directly used, not
> the many other results that backed it up. In fact it is considered
> poor form to cite papers you know nothing about.

You draw an analogy between "using software A that in fact uses
software B behind the scenes" and "using a theorem of paper A that in
fact uses a theorem from paper B". You conclude: One would only cite
paper A, and it would actually be wrong to cite paper B if one doesn't
know it; hence, one should (by analogy) cite software A, but not
software B that one doesn't know but that does the actual work.

I believe you need to differentiate a bit more. Assume that the
theorem that you use appears in paper A just as a citation from paper
B. What would you do in your paper? Would you plainly write "by Thm
3.2 in [A]", even though the theorem is not proved in A? Or would you
try to look it up in paper B and write "by Thm 7.8 in [B] (see also
Thm 3.2 in [A])"?

The analogy of "paper A cites the theorem from paper B" in computer
algebra is "software A just uses a thin wrapper around software B".
That's to say: Assume that you have in your Sage session an object X
that in fact is a group living in GAP. Now, you do X.SylowSubgroup(2).
Sage's main contribution to that computation is to send the string
"SylowSubgroup(%s, 2)"%X.name() to GAP and to wait for an answer.

So, would you say "Sage has computed the  Sylow subgroup"? Wouldn't it
be more honest to say "GAP has computed the Sylow subgroup"?

There are, of course, more complicated cases. For example, I wrote an
(optional) spkg that computes modular cohomology rings of finite
groups.
 * It makes intense use of GAP and Singular, but the code base is
mainly original Cython code. However, the computations performed by
GAP and Singular are essential steps in the algorithm. Would you say
that it suffices to cite Sage for my spkg? I can tell you that some
Singular developers would be VERY upset if I wouldn't properly credit
Singular! And I agree with them.
 * In one line of an auxiliary method, I factor a multivariate
polynomial over a finite field. The factorisation is of no importance
for the final result, but it is part of a heuristic to speed up one
step of the algorithm. Would you say that I should try to find out
what component of Sage is responsible for the factorisation, and cite
it? I think that would go too far.

I don't know much about Pari. But if it does the actual work and Sage
only provides the interface, then I think it is clear that Pari must
be cited.

Cheers,
Simon

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