Citing Sage properly in a paper

42 views
Skip to first unread message

Georg Ehlers

unread,
Sep 4, 2022, 1:31:42 PM9/4/22
to sage-support
All,
I am about to submit a math paper to a journal. I would like to include a proper citation for Sage. The Sage web page says:

"Also, be sure to find out which components of SageMath, e.g. NumPy, PARI, GAP, Sage-Combinat, that your calculation uses and properly attribute those systems."

My question is: which component am I using?

I am doing the following:

x, y, z = var('x, y, z')
factor(x^6+y^6)
factor(x^6-y^6)
expand((3*x^2+y^2)*(x^2+3*y^2))

and similar.

Platform: macOS 12.5.1
SageMath version 9.4, Release Date: 2021-08-22

Thank you
Georg

Nils Bruin

unread,
Sep 4, 2022, 11:06:12 PM9/4/22
to sage-support
On Sunday, 4 September 2022 at 10:31:42 UTC-7 george...@gmail.com wrote:
All,
I am about to submit a math paper to a journal. I would like to include a proper citation for Sage. The Sage web page says:

"Also, be sure to find out which components of SageMath, e.g. NumPy, PARI, GAP, Sage-Combinat, that your calculation uses and properly attribute those systems."

My question is: which component am I using?

I am doing the following:

x, y, z = var('x, y, z')
factor(x^6+y^6)
factor(x^6-y^6)
expand((3*x^2+y^2)*(x^2+3*y^2))

That kind of use generally attracts a "using a computational algebra system" since it's such a routine operation. In fact, people wouldn't blink at no explanation at all or a comment about "manual computation".


it lists the following code to figure out what components you use (probably):

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

If you don't have it enabled already, it will give you a warning that cython profiling must be enabled to get reliable result. Indeed, in your case it would only report "ginac" (really the form "pynac" that sagemath uses for its symbolics) as well as "Maxima".
Note that this tool may identify externally developed software that is used in sage, but it doesn't look at which parts of the sage library are used. There are several state-of-the-art implementations made fully in the sagemath library of very specialist algorithms. It makes sense to look at authorship of some of the top-level routines you use to see if there are papers you can find that describe the implementation (the documentation does have literature references) and then refer to those papers, since in a sense you are using their result.


Dima Pasechnik

unread,
Sep 5, 2022, 4:09:59 AM9/5/22
to sage-support
On Mon, Sep 5, 2022 at 4:06 AM Nils Bruin <nbr...@sfu.ca> wrote:
>
> On Sunday, 4 September 2022 at 10:31:42 UTC-7 george...@gmail.com wrote:
>>
>> All,
>> I am about to submit a math paper to a journal. I would like to include a proper citation for Sage. The Sage web page says:
>>
>> "Also, be sure to find out which components of SageMath, e.g. NumPy, PARI, GAP, Sage-Combinat, that your calculation uses and properly attribute those systems."
>>
>> My question is: which component am I using?
>>
>> I am doing the following:
>>
>> x, y, z = var('x, y, z')
>> factor(x^6+y^6)
>> factor(x^6-y^6)
>> expand((3*x^2+y^2)*(x^2+3*y^2))
>
>
> That kind of use generally attracts a "using a computational algebra system" since it's such a routine operation. In fact, people wouldn't blink at no explanation at all or a comment about "manual computation".

But that's bad practice, detrimental in particular to CASs which don't
enjoy much funding, in general.
Every time a grant application to support such a CAS is made, it's a
struggle to justify it, not the least due to lack of citations.

In this case (symbolics computations like this), it's 'ginac' alone, I believe.

Dima

>
> Otherwise, on https://wiki.sagemath.org/Publications_using_SageMath
>
> it lists the following code to figure out what components you use (probably):
>
> sage: from sage.misc.citation import get_systems
> sage: get_systems("integrate(cos(x^2), x)")
> ['MPFI', 'ginac', 'GMP', 'Maxima']
>
> If you don't have it enabled already, it will give you a warning that cython profiling must be enabled to get reliable result. Indeed, in your case it would only report "ginac" (really the form "pynac" that sagemath uses for its symbolics) as well as "Maxima".
> Note that this tool may identify externally developed software that is used in sage, but it doesn't look at which parts of the sage library are used. There are several state-of-the-art implementations made fully in the sagemath library of very specialist algorithms. It makes sense to look at authorship of some of the top-level routines you use to see if there are papers you can find that describe the implementation (the documentation does have literature references) and then refer to those papers, since in a sense you are using their result.
>
>
> --
> You received this message because you are subscribed to the Google Groups "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/48d61579-af83-4d7d-a0ab-0d3966363b34n%40googlegroups.com.

Matthias Koeppe

unread,
Sep 5, 2022, 9:47:40 AM9/5/22
to sage-support
On Monday, September 5, 2022 at 1:09:59 AM UTC-7 Dima Pasechnik wrote:
On Mon, Sep 5, 2022 at 4:06 AM Nils Bruin <nbr...@sfu.ca> wrote:
> On Sunday, 4 September 2022 at 10:31:42 UTC-7 george...@gmail.com wrote:
>> I am about to submit a math paper to a journal. I would like to include a proper citation for Sage. The Sage web page says:
>>
>> "Also, be sure to find out which components of SageMath, e.g. NumPy, PARI, GAP, Sage-Combinat, that your calculation uses and properly attribute those systems."
>>
>> My question is: which component am I using?
>>
>> I am doing the following:
>>
>> x, y, z = var('x, y, z')
>> factor(x^6+y^6)
>> factor(x^6-y^6)
>> expand((3*x^2+y^2)*(x^2+3*y^2))

>
> That kind of use generally attracts a "using a computational algebra system" since it's such a routine operation. In fact, people wouldn't blink at no explanation at all or a comment about "manual computation".

But that's bad practice, detrimental in particular to CASs which don't
enjoy much funding, in general.

Every time a grant application to support such a CAS is made, it's a
struggle to justify it, not the least due to lack of citations.

+1
 

In this case (symbolics computations like this), it's 'ginac' alone, I believe.

When using factor, ginac/pynac may call out to Singular, see https://trac.sagemath.org/ticket/32613
 
Reply all
Reply to author
Forward
0 new messages