14.11.2012 Views

I gave this talk on Thursday, 29 September 2011 during ... - Bitbucket

I gave this talk on Thursday, 29 September 2011 during ... - Bitbucket

I gave this talk on Thursday, 29 September 2011 during ... - Bitbucket

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I <str<strong>on</strong>g>gave</str<strong>on</strong>g> <str<strong>on</strong>g>this</str<strong>on</strong>g> <str<strong>on</strong>g>talk</str<strong>on</strong>g> <strong>on</strong> <strong>Thursday</strong>, <strong>29</strong> <strong>September</strong> <strong>2011</strong><br />

<strong>during</strong> Sage/Singular Days (SD34) in Kaiserslautern,<br />

Germany.<br />

Feel free to use the slides for your needs.<br />

If you need an editable versi<strong>on</strong>, send me an E-Mail<br />

or a message <strong>on</strong> BitBucket.<br />

Thanks to Burcin Erocal, who organized Sage Days<br />

34 and invited me.<br />

Special Thanks to Michael Brickenstein for the<br />

idea(s), the teaching and for providing many slides.<br />

1<br />

Niels Ranosch


About Me<br />

Finished school in June<br />

Will start studying Maths next m<strong>on</strong>th<br />

Worked at MFO since July<br />

Pyth<strong>on</strong>, Sage<br />

Citati<strong>on</strong> stuff<br />

2


Citing Sage<br />

comp<strong>on</strong>ents<br />

„citing and being cited“<br />

3


Citing comp<strong>on</strong>ents<br />

is hard<br />

which comp<strong>on</strong>ents have been used?<br />

which are citeworthy (for <str<strong>on</strong>g>this</str<strong>on</strong>g><br />

particular computati<strong>on</strong>)?<br />

how to tell users to cite<br />

comp<strong>on</strong>ents?<br />

4


Current situati<strong>on</strong><br />

Show current situati<strong>on</strong> using<br />

get_systems() <strong>on</strong> the sage prompt<br />

5


Example: slimgb<br />

from sage.citati<strong>on</strong> import cites, citable_items<br />

@cites(citable_items.slimgb)<br />

def slimgb_libsingular(I):<br />

"""<br />

SINGULAR's ``slimgb()`` algorithm.<br />

6


from citable import Citable<br />

class singular(Citable):<br />

pass<br />

class magma(Citable):<br />

pass<br />

class slimgb(singular)<br />

pass<br />

Citables<br />

7<br />

Citables can<br />

depend <strong>on</strong><br />

each other<br />

software or<br />

articles<br />

declares just<br />

dependencies<br />

data loaded<br />

<strong>on</strong> demand


More special citables<br />

class primdec(singular):<br />

r"""<br />

@misc{primdec,<br />

}<br />

author = {Gerhard Pfister and<br />

Wolfram Decker and Hans Schoenemann},<br />

title = {{\tt primdec.lib}.<br />

{A} {\sc Singular} library for primary decompositi<strong>on</strong>},<br />

howpublished = {part of the {\sc Singular} distributi<strong>on</strong>},<br />

m<strong>on</strong>th = may,<br />

year = {2001},<br />

"""<br />

type = "library"<br />

8


Lazy Data Loading<br />

if cls.filename is N<strong>on</strong>e:<br />

else:<br />

parser = find_plugin("pybtex.database.input")()<br />

citati<strong>on</strong> = parser.parse_stream(StringIO(cls.__doc__))<br />

file = ... # filename blabla<br />

# Guess the file's format<br />

parser = find_plugin("pybtex.database.input", filename=file)()<br />

citati<strong>on</strong> = parser.parse_file(file)<br />

cls.__class__ = CitableType<br />

cls.citati<strong>on</strong> = citati<strong>on</strong><br />

9


Live Demo<br />

Show new citati<strong>on</strong> system <strong>on</strong> the sage prompt<br />

10


Software Citati<strong>on</strong>s are<br />

essential for comp<strong>on</strong>ents<br />

The development of many Sage<br />

comp<strong>on</strong>ents str<strong>on</strong>gly depends <strong>on</strong> proper<br />

citati<strong>on</strong>.<br />

The Sage community already tries very<br />

hard to achieve the best citati<strong>on</strong><br />

practices<br />

Every progress in <str<strong>on</strong>g>this</str<strong>on</strong>g> domain will<br />

increase the reputati<strong>on</strong> of the Sage<br />

project.<br />

11


Need to measure<br />

that<br />

By its large user base Sage increases the<br />

number of users of most of its<br />

comp<strong>on</strong>ents significantly.<br />

Even if not all of them cite comp<strong>on</strong>ents<br />

properly, citati<strong>on</strong>s for each comp<strong>on</strong>ent<br />

should increase signicifantly.<br />

How to measure that? Make sure<br />

citati<strong>on</strong>s are trackable.<br />

12


Who knows how to<br />

cite math software<br />

And how can we track that?<br />

13


The current practice<br />

of citing software:<br />

Everybody uses his pers<strong>on</strong>ally best way<br />

to cite software<br />

14


Official<br />

recommendati<strong>on</strong>s<br />

In general, there exists no<br />

standard way of citing software<br />

However for some software, there<br />

exist recommendati<strong>on</strong>s, sometimes<br />

they are even followed<br />

15


How to cite Singluar<br />

If you have used Singular in the preparati<strong>on</strong> of a<br />

publicati<strong>on</strong>, please use the following BibTeX entry (with<br />

adjusted Singular versi<strong>on</strong> and year, here 3.1.2 and 2010,<br />

respectively):<br />

@article {DGPS,<br />

}<br />

title = {{\sc Singular} {3-1-3} ---<br />

year = {<strong>2011</strong>},<br />

{A} computer algebra system for<br />

polynomial computati<strong>on</strong>s},<br />

author = {Decker, W.; Greuel, G.-M.; Pfister, G.;<br />

Sch{\"o}nemann, H.},<br />

note = {http://www.singular.uni-kl.de},<br />

16


How to cite Singluar<br />

If you have used Singular in the preparati<strong>on</strong> of a<br />

publicati<strong>on</strong>, please use the following BibTeX entry (with<br />

adjusted Singular versi<strong>on</strong> and year, here 3.1.2 and 2010,<br />

respectively):<br />

@article {DGPS,<br />

title = {{\sc Singular} {3-1-3} ---<br />

year = {<strong>2011</strong>},<br />

{A} computer algebra system for<br />

polynomial computati<strong>on</strong>s},<br />

author = {Decker, W.; Greuel, G.-M.; Pfister, G.;<br />

Sch{\"o}nemann, H.},<br />

note = {http://www.singular.uni-kl.de},<br />

journal ?<br />

17<br />

???


@misc {DGPS,<br />

}<br />

title = {{\sc Singular} {3-1-3} ---<br />

year = {<strong>2011</strong>},<br />

{A computer algebra system for<br />

polynomial computati<strong>on</strong>s}},<br />

author = {Decker, W. and Greuel, G.-M.<br />

and Pfister, G.<br />

and Sch\"{o}nemann, H.},<br />

note = {http://www.singular.uni-kl.de},<br />

not bad, but tracking requires heavy<br />

string matching heuristic<br />

18


@article {MR1484478,<br />

}<br />

AUTHOR = {Bosma, Wieb and Cann<strong>on</strong>, John and Playoust, Catherine},<br />

TITLE = {The {M}agma algebra system. {I}. {T}he user language},<br />

NOTE = {Computati<strong>on</strong>al algebra and number theory (L<strong>on</strong>d<strong>on</strong>, 1993)},<br />

JOURNAL = {J. Symbolic Comput.},<br />

FJOURNAL = {Journal of Symbolic Computati<strong>on</strong>},<br />

VOLUME = {24},<br />

YEAR = {1997},<br />

NUMBER = {3-4},<br />

PAGES = {235--265},<br />

ISSN = {0747-7171},<br />

MRCLASS = {68Q40},<br />

MRNUMBER = {MR1484478},<br />

DOI = {10.1006/jsco.1996.0125},<br />

URL = {http://dx.doi.org/10.1006/jsco.1996.0125},<br />

w<strong>on</strong>derful, has a DOI<br />

19


@article {MR1484478,<br />

}<br />

AUTHOR = {Bosma, Wieb and Cann<strong>on</strong>, John and Playoust, Catherine},<br />

TITLE = {The {M}agma algebra system. {I}. {T}he user language},<br />

NOTE = {Computati<strong>on</strong>al algebra and number theory (L<strong>on</strong>d<strong>on</strong>, 1993)},<br />

JOURNAL = {J. Symbolic Comput.},<br />

FJOURNAL = {Journal of Symbolic Computati<strong>on</strong>},<br />

VOLUME = {24},<br />

YEAR = {1997},<br />

NUMBER = {3-4},<br />

PAGES = {235--265},<br />

ISSN = {0747-7171},<br />

MRCLASS = {68Q40},<br />

MRNUMBER = {MR1484478},<br />

DOI = {10.1006/jsco.1996.0125},<br />

URL = {http://dx.doi.org/10.1006/jsco.1996.0125},<br />

But: Look at the year!<br />

20


@manual{M4RI,<br />

}<br />

or cite <strong>on</strong>e of the papers<br />

key = "M4RI",<br />

author = "Martin Albrecht and Gregory Bard",<br />

organizati<strong>on</strong> = "The M4RI~Team",<br />

title = "{The M4RI Library -- Versi<strong>on</strong> 20100817}",<br />

year = 2010,<br />

regarding specific<br />

functi<strong>on</strong>ality<br />

url = "\url{http://m4ri.sagemath.org}",<br />

similarly tracking problems like<br />

Singular except much better name<br />

21


How to find out that it is a software<br />

citati<strong>on</strong>?<br />

How to exactly identify software from<br />

your database?<br />

How to handle small textual variati<strong>on</strong>s?<br />

How to treat software not in the<br />

database?<br />

How to find out the versi<strong>on</strong> number?<br />

22


Even if users adapt to official<br />

recommendati<strong>on</strong>s, software<br />

citati<strong>on</strong>s are very hard to track<br />

23


Our suggesti<strong>on</strong>s<br />

@misc{libgeneric,<br />

}<br />

howpublished = {\url{http://generic.heaven.edu}},<br />

note = {versi<strong>on</strong> 3.3},<br />

title = {libgeneric},<br />

author = {Michael Ende},<br />

m<strong>on</strong>th = {May},<br />

year = {1979}<br />

24


Our suggesti<strong>on</strong>s<br />

"trackable", if it fulfills <strong>on</strong>e of the following<br />

criteria<br />

the software name is very unique and very<br />

easily trackable<br />

it includes a URL which is specific to <str<strong>on</strong>g>this</str<strong>on</strong>g><br />

software (and to <str<strong>on</strong>g>this</str<strong>on</strong>g> versi<strong>on</strong>?)<br />

represents an article and include its DOI.<br />

Alternative 1 and 2 are still pr<strong>on</strong>e to false<br />

positives, but we assume the dimensi<strong>on</strong> is<br />

acceptable.<br />

25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!