Re: [sage-devel] Re: gamma function enhancement proposal

2016-01-22 Thread Fredrik Johansson
On Fri, Jan 22, 2016 at 12:58 AM, Buck Evan  wrote:
> Fredrik:
> Thank you for your thoughtful reply!
>
> On Thu, Jan 21, 2016 at 2:48 PM Fredrik Johansson
>  wrote:
>>
>> Arb (which is now in Sage) permits computing incomplete gamma
>> functions with rigorous error bounds over arbitrary-precision
>> real/complex (interval) fields.
>
>
> I don't find the incomplete function. Am I looking in the wrong section?
> http://fredrikj.net/arb/acb.html?highlight=gamma#gamma-function

Yes; see 
http://fredrikj.net/arb/acb_hypgeom.html?highlight=gamma#incomplete-gamma-functions

>>
>> Supporting the different regularized
>> versions is just a matter of dividing by a complete gamma function.
>
>
> My understanding is that computing the regularized function directly gives
> less error than division of two huge numbers, but I don't truly understand
> the theory of numeric error.

This is not a problem with an arbitrary precision backend (you can
increase the precision to compensate). Anyway, it's not hard to
implement the asymptotic cases separately.

>>
>> Looking at the attachment, I don't know if the logarithmic versions of
>> incomplete gamma functions are really useful.
>
>
> Why would gamma_log(a, x) be less useful than gamma_log(a)?
> Certainly the incomplete functions increase to astronomical quantities
> similarly to the complete function. Anyway, that doesn't seem to be an
> argument to make it unavailable.

Sure, but this is not really concern if using Sage's RR. You could
make the case for having a log=True option for any function that grows
exponentially, but in that case, why not just work with a type that
supports large numbers? There are of course exceptions: the usual
gamma function and the scaled complementary error function come to
mind. I'm not saying it couldn't be useful, but do you have a concrete
application in mind for gamma_log(a, x) that would make it worth the
added complexity? As soon as you introduce options, you have a lot
more special cases to worry about handling correctly in the
implementation.

I don't even know how you would define the logarithm of the incomplete
gamma function for complex numbers to make it useful. The usual log
gamma function is not defined as log(gamma(z)).

> However I do hear the point that I shouldn't worry about this edge case at
> all.
>
>>
>> The regularized
>> incomplete gamma functions P and Q are quite standard and used in
>> statistics, I think.
>
>
> That's a useful note. That's what I'm seeing in my research as well.
>
>>
>> Personally, I think the usual gamma() function is too important in its
>> own right to complicate by adding extra options. I would rather leave
>> gamma() a single-argument function and have separate functions for
>> logarithmic and incomplete gamma functions of various kinds.
>
>
> Options and number of arguments are separate issues, in my mind.
> The one extreme would be gamma(a) while the other would be gamma(a, x1=0,
> x2=oo, log=False, regularized=False).
>
>
> I believe you and Nils agree that the 'log' and 'regularized' options are
> sketchy. I think I agree too. However the three-argument gamma (the
> generalized gamma) is a useful normal form for the upper and lower
> incomplete functions.
>
>>
>> In mpmath, there is a single function gammainc() that covers all cases of
>> incomplete gamma functions. But it's not necessary to do it in that
>> particular way.
>
>
> mpmath.gammainc() with one argument calculates the complete gamma, which
> makes it feel miss-named and redundant to me.

This is, again, motivated by having a clean interface for the ordinary
gamma function. But that's subjective.

>> If you want symbolic manipulation to be aware of different variants,
>>
>> you probably need to do something in Pynac/SymPy/Maxima rather than
>> Sage itself.
>
>
> All three, or just one?
> If one, is it my decision, or predetermined by details of sage?

I don't know.

Fredrik

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Do we really need Element, RingElement, AdditiveGroupElement, ...?

2016-01-22 Thread Jeroen Demeyer

A related question now that I'm thinking about refactoring:

can we drop the in-place methods like __iadd__? May we assume that no 
Element will need in-place methods with coercion?


The problem is when classes want to implement a special __add__ without 
coercion (that is legitimate). If those classes do not also implement 
__iadd__, stuff breaks because of the __iadd__ implemented in the 
coercion model.


Note that classes can still implement in-place methods without coercion 
if they want.


Jeroen.

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] building Software Carpentry "lesson" for Sagemath

2016-01-22 Thread Dima Pasechnik
Software Carpentry, see http://software-carpentry.org, is a charity that 
does "Teaching basic lab skills for research computing". But goes beyond 
that; their workshops can include more nontrivial components, e.g. recently 
GAP people conducted such an introductory GAP workshop:
https://kkwakwa.github.io/2015-11-16-manchester-codima/
Such workshop materials are prepared to a standard and are reusable.

As a followup, I did a 3-hour  introduction to Sage there. 

Now the idea is to create and run specifically Sage(math) Software 
Carpentry workshops.
Alex Konovalov (who did the bulk of work for the GAP S.C. workshop, in cc:) 
created a skeleton git repo for such a 
lesson: https://github.com/alex-konovalov/sage-lesson 
and is assembling a team to work on this. Not sure about the timeline at 
the moment, but most probably we'd like to organise such a Software 
Carpentry workshop for Sage(math) in the autumn.

In case you're interested, please get in touch.
Dima

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] solve() with anonymous symbols loses symbol identity

2016-01-22 Thread Andres Erbsen
Hello,

I encountered some unexpected behavior when using solve() with anonymous 
symbols generated using SR.symbol(). The returned by solve are not the same 
as the ones passed in (even though they look the same). Here is a minimal 
example:

x sage: x = SR.symbol(); x
symbol151
sage: sol = solve(x==1, x, solution_dict=True)[0]
sage: x2 = sol.keys()[0]; x2
symbol151
sage: bool(x2 == x)
False
sage: bool(SR.symbol(str(x)) == x2)
True
sage: bool(SR.symbol(str(x)) == x)
False

The issue also appears when solution_dict=True is not used (for example, 
when trying to substitute the solutions into other expressions).

I am guessing this is related to http://trac.sagemath.org/ticket/13655.

My environment:

$ sage --version; lsb_release -a; uname -a
SageMath Version 6.10, Release Date: 2015-12-18
LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling
Codename: n/a
Linux ashryn 4.3.3.201601171913-1-grsec #1 SMP PREEMPT Sun Jan 17 21:26:59 
EST 2016 x86_64 GNU/Linux

Best,
Andres

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] The sage.rings.finite_rings.constructor module

2016-01-22 Thread Nathann Cohen
Hello everybody,

The title of the following module is 'Finite Fields'. Its contains
code related to finite fields.

sage/rings/finite_rings/constructor.py

Is it just me, or is there a noticeable discrepancy between the
filename and the content/title?

Thanks,

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: [sage-support] building Software Carpentry "lesson" for Sagemath

2016-01-22 Thread 'Martin R. Albrecht' via sage-devel
Hi Dima,

I’m not sure how much time I can contribute, but I’m in principle
interested and would appreciate being kept in the loop.

Cheers,
Martin

Dima Pasechnik writes:
> Software Carpentry, see http://software-carpentry.org, is a charity that 
> does "Teaching basic lab skills for research computing". But goes beyond 
> that; their workshops can include more nontrivial components, e.g. recently 
> GAP people conducted such an introductory GAP workshop:
> https://kkwakwa.github.io/2015-11-16-manchester-codima/
> Such workshop materials are prepared to a standard and are reusable.
>
> As a followup, I did a 3-hour  introduction to Sage there. 
>
> Now the idea is to create and run specifically Sage(math) Software 
> Carpentry workshops.
> Alex Konovalov (who did the bulk of work for the GAP S.C. workshop, in cc:) 
> created a skeleton git repo for such a 
> lesson: https://github.com/alex-konovalov/sage-lesson 
> and is assembling a team to work on this. Not sure about the timeline at 
> the moment, but most probably we'd like to organise such a Software 
> Carpentry workshop for Sage(math) in the autumn.
>
> In case you're interested, please get in touch.
> Dima

-- 

_pgp: https://keybase.io/martinralbrecht
_www: https://martinralbrecht.wordpress.com
_jab: martinralbre...@jabber.ccc.de
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


signature.asc
Description: PGP signature


[sage-devel] Re: building Software Carpentry "lesson" for Sagemath

2016-01-22 Thread Alexander Konovalov
Thank you, Dima,

> On 22 Jan 2016, at 09:49, Dima Pasechnik  wrote:
> 
> Software Carpentry, see http://software-carpentry.org, is a charity that does 
> "Teaching basic lab skills for research computing". But goes beyond that; 
> their workshops can include more nontrivial components, e.g. recently GAP 
> people conducted such an introductory GAP workshop:
> https://kkwakwa.github.io/2015-11-16-manchester-codima/
> Such workshop materials are prepared to a standard and are reusable.

This page contains links to all Software Carpentry lessons taught there -
the particular one which I've developed is on GAP:

http://alex-konovalov.github.io/gap-lesson/index.html

and I am thinking of something along the same teaching philosophy for SageMath.

> As a followup, I did a 3-hour  introduction to Sage there. 
> 
> Now the idea is to create and run specifically Sage(math) Software Carpentry 
> workshops.
> Alex Konovalov (who did the bulk of work for the GAP S.C. workshop, in cc:) 
> created a skeleton git repo for such a 
> lesson: https://github.com/alex-konovalov/sage-lesson 
> and is assembling a team to work on this. Not sure about the timeline at the 
> moment, but most probably we'd like to organise such a Software Carpentry 
> workshop for Sage(math) in the autumn.
> 
> In case you're interested, please get in touch.

The best way to get in touch is to leave a comment at:
https://github.com/alex-konovalov/sage-lesson/issues/1
and watch that repository so you will get updates.

Best wishes
Alexander

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] The sage.rings.finite_rings.constructor module

2016-01-22 Thread Jeroen Demeyer

On 2016-01-22 11:13, Nathann Cohen wrote:

Hello everybody,

The title of the following module is 'Finite Fields'. Its contains
code related to finite fields.

 sage/rings/finite_rings/constructor.py

Is it just me, or is there a noticeable discrepancy between the
filename and the content/title?


I can do better:

src/sage/rings/real_lazy.pyx

contains code for real and *complex* lazy numbers.

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] The sage.rings.finite_rings.constructor module

2016-01-22 Thread Nathann Cohen
> I can do better:
>
> src/sage/rings/real_lazy.pyx
>
> contains code for real and *complex* lazy numbers.

Nice. I hope nobody will beat that.

Do you see have any objection to setting things right?

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] The sage.rings.finite_rings.constructor module

2016-01-22 Thread Jeroen Demeyer

On 2016-01-22 11:41, Nathann Cohen wrote:

Do you see have any objection to setting things right?


Of course not, but we need to deprecate the old modules.

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] The sage.rings.finite_rings.constructor module

2016-01-22 Thread Nathann Cohen
> Of course not, but we need to deprecate the old modules.

Yes yes of course.

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: The sage.rings.finite_rings.constructor module

2016-01-22 Thread Nathann Cohen
The 'constructor' file is being renamed to 'finite_field_constructor'
in the following ticket:

http://trac.sagemath.org/ticket/19941

Nathann

On 22 January 2016 at 12:13, Nathann Cohen  wrote:
> Hello everybody,
>
> The title of the following module is 'Finite Fields'. Its contains
> code related to finite fields.
>
> sage/rings/finite_rings/constructor.py
>
> Is it just me, or is there a noticeable discrepancy between the
> filename and the content/title?
>
> Thanks,
>
> Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Torrent file downloads from http://www.sagemath.org/mirror/torrents.html fails with HTTP error 404

2016-01-22 Thread Samuel Lelievre
Thanks Karl-Philip Richter for reporting these broken links.

Harald, could we set up a redirection from
http://www.sagemath.org/mirror/*
to
http://files.sagemath.org/*

Note that we already have a redirection from
http://www.sagemath.org/src-old/
to
http://old.files.sagemath.org/src-old/

Let me know if I can help with this.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Missing file in src/build/cythonized/sage/structure/list_clone.c

2016-01-22 Thread Richard Kandarian


On Tuesday, January 12, 2016 at 10:15:00 AM UTC-7, Volker Braun wrote:
>
> On Tuesday, January 12, 2016 at 3:30:22 PM UTC+1, Jan Groenewald wrote:
>>
>> Funny thing is, basic operations ad plotting work fine, whereas I thought 
>> if relocate-once.py failed sage would not be able to find any of it's 
>> libraries and just crash.
>>
>
> Thats because relocate-once.py partially worked until it encountered the 
> file that you deleted; Depending on how far it got your install can be 
> mostly OK.
>
> Same thing happened to me after new install on Ubuntu 14.04. I'm a brand 
new user and this is not inspiring or confidence building. Tempted to 
uninstall and try the next on the list. Got the error during install and I 
get it every startup and sage crashed the first time I tried to start it.

:( 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Missing file in src/build/cythonized/sage/structure/list_clone.c

2016-01-22 Thread Jan Groenewald
Hi

Yes, I am getting some queries directly to me as well (as PPA maintainer).
The SAGE_ROOT/relocate-once.py is becoming less compatible with
dpkg-buildpackage, which wants to manage the files, and not have them
changed after installation.

We're thinking of a new simpler package, which contains the tarball, and
has a script to untar it.

We're still discussing the various options around this. Our criteria are:

1) prompts for updates in the distro package management system (gets our
alumni body to actually update)
2) ease of install. In fact we pre-install it for most of our users via a
Ubuntu derivative
3) save bandwidth and disk space (we'll have to drop the smaller version
now and include the  whole tarball with the SAGE_ROOT/src folder)
4) have a local to each laptop version (not a cloud server or campus
server) for situations with both bandwidth and electricity interruptions

So far this error does not inspire confidence, but this PPA 6.10 is
deployed on our campus where people are using sage in teaching and I have
not had to revert to 6.9.

Regards,
Jan







On 22 January 2016 at 16:51, Richard Kandarian  wrote:

>
>
> On Tuesday, January 12, 2016 at 10:15:00 AM UTC-7, Volker Braun wrote:
>>
>> On Tuesday, January 12, 2016 at 3:30:22 PM UTC+1, Jan Groenewald wrote:
>>>
>>> Funny thing is, basic operations ad plotting work fine, whereas I
>>> thought if relocate-once.py failed sage would not be able to find any of
>>> it's libraries and just crash.
>>>
>>
>> Thats because relocate-once.py partially worked until it encountered the
>> file that you deleted; Depending on how far it got your install can be
>> mostly OK.
>>
>> Same thing happened to me after new install on Ubuntu 14.04. I'm a brand
> new user and this is not inspiring or confidence building. Tempted to
> uninstall and try the next on the list. Got the error during install and I
> get it every startup and sage crashed the first time I tried to start it.
>
> :(
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
  .~.
  /V\ Jan Groenewald
 /( )\www.aims.ac.za
 ^^-^^

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] 0^0 in unramified extensions of Zp

2016-01-22 Thread srozensz
Hello, 

I have noticed an  unexpected behavior when trying to evaluate 0^0 in 
unramified extensions of Zp. Here is an example:

sage: A. = Zq(4)
sage: A(0)^0
O(2^0)



Compare with:

sage: B = Zp(2)
sage: B(0)^0
1 + O(2^20)

I am using Sage 6.10 on MacOS X version 10.11.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: solve() with anonymous symbols loses symbol identity

2016-01-22 Thread kcrisman


On Friday, January 22, 2016 at 4:49:23 AM UTC-5, Andres Erbsen wrote:
>
> Hello,
>
> I encountered some unexpected behavior when using solve() with anonymous 
> symbols generated using SR.symbol(). The returned by solve are not the same 
> as the ones passed in (even though they look the same). Here is a minimal 
> example:
>
> x sage: x = SR.symbol(); x
> symbol151
> sage: sol = solve(x==1, x, solution_dict=True)[0]
> sage: x2 = sol.keys()[0]; x2
> symbol151
> sage: bool(x2 == x)
> False
> sage: bool(SR.symbol(str(x)) == x2)
> True
> sage: bool(SR.symbol(str(x)) == x)
> False
>
> The issue also appears when solution_dict=True is not used (for example, 
> when trying to substitute the solutions into other expressions).
>
> I am guessing this is related to http://trac.sagemath.org/ticket/13655.
>
>
I am guessing you are right.  solve calls Maxima, always.

 

> My environment:
>
> $ sage --version; lsb_release -a; uname -a
> SageMath Version 6.10, Release Date: 2015-12-18
> LSB Version: 1.4
> Distributor ID: Arch
> Description: Arch Linux
> Release: rolling
> Codename: n/a
> Linux ashryn 4.3.3.201601171913-1-grsec #1 SMP PREEMPT Sun Jan 17 21:26:59 
> EST 2016 x86_64 GNU/Linux
>
> Best,
> Andres
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] vote for making nauty a standard package (Re: About license of nauty and poset generator)

2016-01-22 Thread David Joyner
On Fri, Jan 22, 2016 at 2:29 AM, Dima Pasechnik  wrote:
>
>
> On Thursday, 21 January 2016 07:16:45 UTC, Jeroen Demeyer wrote:
>>
>> On 2016-01-21 00:29, Dima Pasechnik wrote:
>> > Surely, if the official nauty got another licence it would have solved
>> > the problem easier.
>>
>> Maybe you could ask McKay if he is willing to license *every* version of
>> nauty (past and future) with a GPL-compatible license? If we are only
>> allowed to ship one specific version of nauty in Sage, we should not
>> make it standard since it won't be maintainable.
>
>
> I have asked, and here is his proposed licence for 2.6:
> (I have asked him to deal with part D better, too)
>
>
> This is the copyright notice for the software package Nauty and
> Traces, versions 2.6 and later.
>
> Four categories of software are included in the package:
> A. All files not listed as B-D below, copyright Brendan McKay (1984-)
> B. Files traces.h and traces.h, copyright Adolfo Piperno (2008-)
> C. File watercluster2.c, copyright Gunnar Brinkmann (2009-)
> D. Files planarity.h and planarity.c, copyright Magma project
>(University of Sydney)
>

Can planarity.h and planarity.c be removed from the Sagemath version of nauty?

> Regarding files in classes A, B and C:
>Permission is hereby given for the use, distribution and
>modification of this software subject to the following.
>* You must include this copyright notice with all distributed
>  copies of this software, including modified copies.
>* You must clearly mark modified versions of this software
>  as differing from the original.
>
> Regarding files in class D:
>Permission should be sought from the Magma project.
>
> Regarding all the files in the package:
>This software is only provided "as is". No guarantee is made
>as to the suitability of this software for any purpose. No
>responsibility will be taken by the authors or their employers
>for any misfortune which befalls you because of its use. Your
>use of this software implies your agreement with this notice.
>
> Brendan McKay: Australian National University; brendan.mc...@anu.edu.au
> Adolfo Piperno: University of Rome "Sapienza"; pipe...@di.uniroma1.it
> Gunnar Brinkmann: University of Ghent; gunnar.brinkm...@ugent.be
>
> ---END-OF-FORMAL-COPYRIGHT-NOTICE---
>
> Earlier (pre-2.6) versions of this package carried a different
> notice: "Permission is hereby given for use and/or distribution
> with the exception of sale for profit or application with nontrivial
> military significance." These days most people use nauty via a
> larger package such as Magma, Sage, or GAP, and often they don't
> even know they are using nauty. Due to the legal nonsense that
> large package distributors need to worry about, it has proved too
> much trouble to maintain an idiosyncratic licence. I didn't change
> my opinion about military use, but it is no longer part of the
> formal notice. Brendan McKay (Jan 20, 2016)
>
>
>>
>>
>> Jeroen.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] 0^0 in unramified extensions of Zp

2016-01-22 Thread David Roe
On Fri, Jan 22, 2016 at 10:15 AM, srozensz 
wrote:

> sage: A. = Zq(4)
> sage: A(0)^0
> O(2^0)



Thanks.  This is now http://trac.sagemath.org/ticket/19943
David

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] vote for making nauty a standard package (Re: About license of nauty and poset generator)

2016-01-22 Thread mmarco
I would vote yes if the concerns presented by François are addresed.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Rationale behind HasseDiagram class

2016-01-22 Thread Travis Scrimshaw


On Friday, January 22, 2016 at 1:03:59 AM UTC-6, Nathann Cohen wrote:
>
> >Do you want DiGraph to have methods like rank or is_chain? 
>
> Of course not. The idea was to have Poset carry a DiGraph 
> _hasse_diagram instead of a HasseDiagram object, and to [move/merge] 
> the methods from HasseDiagram with their Poset counterparts. 
>
> > Also, by 
> > implementing them directly into the Poset's class, you must deal with 
> the 
> > elements labels at each computation, not just when you're moving to/from 
> the 
> > HasseDiagram backend. 
>
> It is the same right now: you mut translate the elements in the Poset 
> function which calls the HasseDiagram function. Except when the 
> function does not care, like 'rank'. 
>
> > this would require a 
> > lot more interaction converting between the two different 
> representations. 
> > At least with the HasseDiagram, which is a DiGraph, it reduces the 
> amount of 
> > overhead with this. 
>
> I do not see how: this would happen as often, but it would happen in 
> the same location. Right now we write Poset functions whose only 
> purpose is to relabel elements before calling HasseDiagram methods. 
> This could be done at the same place. 
>
> > Moreover, the methods in Poset should just be a wrapper 
> > around such functions in HasseDiagram (unless there is no apparent 
> penalty 
> > for directly implementing them in Poset). 
>
> Why do you say that it is how the *should* be? 
>
>Suppose you have function A that calls function B a lot over a loop, 
and both of them can take advantage of the canonical labeling of the 
DiGraph. If you do not have a HasseDiagram class, then A would have to 
convert the canonical labeling, then convert back every time it called B, 
which would have to unconvert, do it's operation. With the HasseDiagram, 
the Poset class can just act as a translation layer, so you only have to 
convert each way at most once. You could have a method of Poset which is 
convert_to_canonical and convert_from_canonical (although I think it does 
it right now the faster way of copying one list comprehension around), but 
it is a much better design to have the HasseDiagram subclass of DiGraph. It 
is such a small amount more code you need to write, and there is very 
little complexity added. You should not be having anything in the 
HasseDiagram class really call stuff from the Poset, so everything has good 
locality too.

Best,
Travis



-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] vote for making nauty a standard package (Re: About license of nauty and poset generator)

2016-01-22 Thread Dima Pasechnik


On Friday, 22 January 2016 17:23:06 UTC, David Joyner wrote:
>
> On Fri, Jan 22, 2016 at 2:29 AM, Dima Pasechnik  > wrote: 
> > 
> > 
> > On Thursday, 21 January 2016 07:16:45 UTC, Jeroen Demeyer wrote: 
> >> 
> >> On 2016-01-21 00:29, Dima Pasechnik wrote: 
> >> > Surely, if the official nauty got another licence it would have 
> solved 
> >> > the problem easier. 
> >> 
> >> Maybe you could ask McKay if he is willing to license *every* version 
> of 
> >> nauty (past and future) with a GPL-compatible license? If we are only 
> >> allowed to ship one specific version of nauty in Sage, we should not 
> >> make it standard since it won't be maintainable. 
> > 
> > 
> > I have asked, and here is his proposed licence for 2.6: 
> > (I have asked him to deal with part D better, too) 
> > 
> > 
> > This is the copyright notice for the software package Nauty and 
> > Traces, versions 2.6 and later. 
> > 
> > Four categories of software are included in the package: 
> > A. All files not listed as B-D below, copyright Brendan McKay (1984-) 
> > B. Files traces.h and traces.h, copyright Adolfo Piperno (2008-) 
> > C. File watercluster2.c, copyright Gunnar Brinkmann (2009-) 
> > D. Files planarity.h and planarity.c, copyright Magma project 
> >(University of Sydney) 
> > 
>
> Can planarity.h and planarity.c be removed from the Sagemath version of 
> nauty? 
>
> At my prompting, Brendan asked Magma group for permission to release.
But if for some reason this won't work we can indeed just remove them.

 

> > Regarding files in classes A, B and C: 
> >Permission is hereby given for the use, distribution and 
> >modification of this software subject to the following. 
> >* You must include this copyright notice with all distributed 
> >  copies of this software, including modified copies. 
> >* You must clearly mark modified versions of this software 
> >  as differing from the original. 
> > 
> > Regarding files in class D: 
> >Permission should be sought from the Magma project. 
> > 
> > Regarding all the files in the package: 
> >This software is only provided "as is". No guarantee is made 
> >as to the suitability of this software for any purpose. No 
> >responsibility will be taken by the authors or their employers 
> >for any misfortune which befalls you because of its use. Your 
> >use of this software implies your agreement with this notice. 
> > 
> > Brendan McKay: Australian National University; brenda...@anu.edu.au 
>  
> > Adolfo Piperno: University of Rome "Sapienza"; pip...@di.uniroma1.it 
>  
> > Gunnar Brinkmann: University of Ghent; 
> > 
> > ---END-OF-FORMAL-COPYRIGHT-NOTICE--- 
> > 
> > Earlier (pre-2.6) versions of this package carried a different 
> > notice: "Permission is hereby given for use and/or distribution 
> > with the exception of sale for profit or application with nontrivial 
> > military significance." These days most people use nauty via a 
> > larger package such as Magma, Sage, or GAP, and often they don't 
> > even know they are using nauty. Due to the legal nonsense that 
> > large package distributors need to worry about, it has proved too 
> > much trouble to maintain an idiosyncratic licence. I didn't change 
> > my opinion about military use, but it is no longer part of the 
> > formal notice. Brendan McKay (Jan 20, 2016) 
> > 
> > 
> >> 
> >> 
> >> Jeroen. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sage-devel" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sage-devel+...@googlegroups.com . 
> > To post to this group, send email to sage-...@googlegroups.com 
> . 
> > Visit this group at https://groups.google.com/group/sage-devel. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] The sage.rings.finite_rings.constructor module

2016-01-22 Thread Dima Pasechnik


On Friday, 22 January 2016 10:23:18 UTC, Jeroen Demeyer wrote:
>
> On 2016-01-22 11:13, Nathann Cohen wrote: 
> > Hello everybody, 
> > 
> > The title of the following module is 'Finite Fields'. Its contains 
> > code related to finite fields. 
> > 
> >  sage/rings/finite_rings/constructor.py 
> > 
> > Is it just me, or is there a noticeable discrepancy between the 
> > filename and the content/title? 
>
> I can do better: 
>
> src/sage/rings/real_lazy.pyx 
>
> contains code for real and *complex* lazy numbers. 
>

probably real_lazy is the author's signature in this case... :-) 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Re: gamma function enhancement proposal

2016-01-22 Thread Marc Mezzarobba
Fredrik Johansson wrote:
> Arb (which is now in Sage) permits computing incomplete gamma
> functions with rigorous error bounds over arbitrary-precision
> real/complex (interval) fields.

Incidentally, the sage bindings (over complex balls) need review:

http://trac.sagemath.org/ticket/19082

-- 
Marc

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: The sage.rings.finite_rings.constructor module

2016-01-22 Thread David Roe
I raised some objections on the ticket.
David

On Fri, Jan 22, 2016 at 7:38 AM, Nathann Cohen 
wrote:

> The 'constructor' file is being renamed to 'finite_field_constructor'
> in the following ticket:
>
> http://trac.sagemath.org/ticket/19941
>
> Nathann
>
> On 22 January 2016 at 12:13, Nathann Cohen 
> wrote:
> > Hello everybody,
> >
> > The title of the following module is 'Finite Fields'. Its contains
> > code related to finite fields.
> >
> > sage/rings/finite_rings/constructor.py
> >
> > Is it just me, or is there a noticeable discrepancy between the
> > filename and the content/title?
> >
> > Thanks,
> >
> > Nathann
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Rationale behind HasseDiagram class

2016-01-22 Thread Nathann Cohen
>Suppose you have function A that calls function B a lot over a loop, and
> both of them can take advantage of the canonical labeling of the DiGraph. If
> you do not have a HasseDiagram class, then A would have to convert the
> canonical labeling, then convert back every time it called B, which would
> have to unconvert, do it's operation.

class Poset:

def A():
for i in ZZ:
 self._B()

def _B():
# works on the digraph self._hasse_diagram, taking advantage
of its labelling

I do not see where the problem is. It requires a helper function _B a
in the current design (where _B would be a HasseDiagram method), and
for the other functions that do not need to "call a function that
takes advantage of the labelling" (whatever that means) we would need
only one function (which is 99% of the time).

I still do not see what makes HasseDiagram mandatory. To clear any
misunderstanding, look at the following ticket:

http://trac.sagemath.org/ticket/19659

It implements a Poset function that "takes advantage of the diagram's
labelling" and we don't need any HasseDiagram method, so I do not know
what you are talking about.

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.