Re: [sage-devel] Re: From SageNB to jupyter

2017-09-07 Thread Jori Mäntysalo
On Thu, 7 Sep 2017, Volker Braun wrote: You can share worksheets just by uploading them to github, for example: Isn't that publishing worksheet, not sharing? -- Jori Mäntysalo

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Nils Bruin
On Thursday, September 7, 2017 at 9:49:33 AM UTC-7, Volker Braun wrote: > > First question: The GAP garbage collector might delete objects, or it > might move existing objects around in memory (it is a compacting garbage > collector). If your code contains C pointers to GAP objects, bad things >

[sage-devel] fun quora post using Sage/CC

2017-09-07 Thread kcrisman
Perhaps this should be linked to on the website as well ... happy elliptic curve reading! https://www.quora.com/How-do-you-find-the-positive-integer-solutions-to-frac-x-y%2Bz-%2B-frac-y-z%2Bx-%2B-frac-z-x%2By-4/answer/Alon-Amit?share=1 -- You received this message because you are subscribed to

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Vincent, On 2017-09-07, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > I believe that GAP should also be initialized before calling any > non-trivial function using the stack. How do you initalize it? (the call > "import sage.libs.gap.libgap should do the job). I do from sage.libs

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi! On 2017-09-07, Simon King wrote: > On 2017-09-07, Volker Braun wrote: >> Second question: Move the libgap_enter/exit outside of the loop, assuming >> that the python functions don't themselves call libgap. If they do, you >> will get a "RuntimeError: Entered a critical block twice". In th

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread Nils Bruin
What is the argument that makes PP(0) == 0 bad? If PP(0) is allowed, I don't see how PP(0) == 0 is particularly worse. Because PP(AA(0)) and PP(BB(0)) should be different points, so it's not so clear which one should have precedence. PP(0) happens to choose PP(BB(0)). I don't think that's cano

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Volker, On 2017-09-07, Volker Braun wrote: > First question: The GAP garbage collector might delete objects, or it might > move existing objects around in memory (it is a compacting garbage > collector). If your code contains C pointers to GAP objects, bad things > will happen after that.

Re: [sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Vincent Delecroix
On 07/09/2017 18:04, Simon King wrote: Hi Dima, On 2017-09-07, Dima Pasechnik wrote: I don't think anything special like libgap_enter/exit is needed when calling libgap.* stuff from Python or Cython. The documentation in sage.libs.gap.libgap says: """ In particular, you must call ``libgap_m

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Volker, On 2017-09-07, Volker Braun wrote: > For the record, using the libgap Python interface (i.e. from > sage.libs.gap.libgap import libgap) automatically takes care of the > libgap_enter/exit business. This is only an issue if you want to the libGAP > C API directly, which is what Simon

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Dima, On 2017-09-07, Dima Pasechnik wrote: > I don't think anything special like libgap_enter/exit is needed when > calling libgap.* stuff from > Python or Cython. The documentation in sage.libs.gap.libgap says: """ In particular, you must call ``libgap_mark_stack_bottom()`` in every functi

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread Ben Hutz
Condensing your example; this behavior is clearly bad sage: PP = ProjectiveSpace(QQ,1) sage: AA = PP.affine_patch(0) sage: BB = PP.affine_patch(1) sage: AA is BB True #??? I don't know of any intention to make AffineSpace globally unique, but I'd need to look through the code to see what ha

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread Nils Bruin
On Thursday, September 7, 2017 at 12:10:40 PM UTC-7, Ben Hutz wrote: > > > Ah. I see the difference. I don't think it is unreasonable for P(0) == 0 > to work in dimension 1 as there is a canonical answer. So I would have to > say yes, I'm working on having that coercion work. > I think it is unr

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread Ben Hutz
On Thursday, September 7, 2017 at 1:16:12 PM UTC-5, David Roe wrote: > > > > On Thu, Sep 7, 2017 at 2:00 PM, Ben Hutz > > wrote: > > Once you construct P(0), both a and P(0) are in the same parent, so there > are no coercions involved in the test a==P(0). In your branch, what does > sage: a.p

[sage-devel] Re: SAGE_PATH and PYTHONPATH

2017-09-07 Thread Nils Bruin
On Wednesday, September 6, 2017 at 2:25:35 AM UTC-7, Ralf Hemmecke wrote: > > Since my settings using SAGE_PATH do seemingly not work anymore, I > looked for the use of SAGE_PATH in the sources. > > I found in 7.6 some code > > if [ -n "$SAGE_PATH" ]; then > PYTHONPATH="$SAGE_PATH:$

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Volker Braun
The change will mostly be to remove the libGAP_ prefix for symbols, so it should be pretty easy to sed that out (or use a macro to be compatible with both). On Thursday, September 7, 2017 at 7:45:04 PM UTC+2, Dima Pasechnik wrote: > > I would not touch C API to libGAP with a stick, given that i

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread David Roe
On Thu, Sep 7, 2017 at 2:00 PM, Ben Hutz wrote: > Yes, but *after* implementing the coercion for the homsets I'm getting the > behavior above. The 'a==0' doesn't go through the coecion framework, but > the a==P(0) does. So one returns true and the other false. I'm trying to > figure out why == is

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread Ben Hutz
Yes, but *after* implementing the coercion for the homsets I'm getting the behavior above. The 'a==0' doesn't go through the coecion framework, but the a==P(0) does. So one returns true and the other false. I'm trying to figure out why == is not utilizing the coercion/richcmp in that case. You'

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread David Roe
On Thu, Sep 7, 2017 at 1:46 PM, Ben Hutz wrote: > Yes, I'm working on the coercion now. > > However, isn't a==0 checking coercion from the parent of a to the parent > of 0. In other words, the homset of rational points on P and QQ. > Yes, I got confused by the notation, since normally in Sage P(

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread Ben Hutz
Yes, I'm working on the coercion now. However, isn't a==0 checking coercion from the parent of a to the parent of 0. In other words, the homset of rational points on P and QQ. In dimension 1, there is a canonical coercion, but not in higher dimensions. On Thursday, September 7, 2017 at 12:17:57

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Dima Pasechnik
I would not touch C API to libGAP with a stick, given that it might get changed by GAP people soon, I guess. https://github.com/gap-system/gap/pull/1205 -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop recei

Re: [sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread David Roe
The reason that a==0 returns false is that there is no coercion map from QQ to P: sage: P.has_coerce_map_from(QQ) False I'm not convinced that there should be a coercion, it's pretty rare that a scheme has a natural map from its base ring. However, it seems like there's also a problem hiding here

[sage-devel] _richcmp_ versus __eq__ for scheme points

2017-09-07 Thread Ben Hutz
I'm working on implementing coercion for scheme points and had a question about how comparison is done. As an explicit example consider the following point P.= ProjectiveSpace (QQ ,1) a=P(0) in particular, the integer 0 is coerced into the projective point (0:1). For comparisons it appears tha

[sage-devel] Re: From SageNB to jupyter

2017-09-07 Thread Volker Braun
You can share worksheets just by uploading them to github, for example: http://nbviewer.jupyter.org/github/vbraun/torsion_cup_product/blob/master/Y0_cohomology_ring.ipynb https://github.com/vbraun/torsion_cup_product/blob/master/Y0_cohomology_ring.ipynb On Thursday, September 7, 2017 at 1:56:3

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Volker Braun
For the record, using the libgap Python interface (i.e. from sage.libs.gap.libgap import libgap) automatically takes care of the libgap_enter/exit business. This is only an issue if you want to the libGAP C API directly, which is what Simon is presumably asking. On Thursday, September 7, 2017 a

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Volker Braun
First question: The GAP garbage collector might delete objects, or it might move existing objects around in memory (it is a compacting garbage collector). If your code contains C pointers to GAP objects, bad things will happen after that. Not every libGAP_* function can invoke the garbage colle

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Nils Bruin
On Thursday, September 7, 2017 at 7:01:47 AM UTC-7, Dima Pasechnik wrote: > > Hi Simon, > > I don't think anything special like libgap_enter/exit is needed when > calling libgap.* stuff from > Python or Cython. > We do quite a few libgap calls in graphs/strongly_regular_db.pyx > and in graphs/gen

[sage-devel] Re: From SageNB to jupyter

2017-09-07 Thread Dima Pasechnik
did you see this: https://benjamin-hackl.at/2016/01/16/jupyterhub-with-sagemath-kernel/ It seems that all of the requirements you list are there... On Thursday, September 7, 2017 at 12:32:02 PM UTC+1, Jori Mäntysalo wrote: > > On Thu, 7 Sep 2017, Dima Pasechnik wrote: > > > What exactly are you

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Dima Pasechnik
Hi Simon, I don't think anything special like libgap_enter/exit is needed when calling libgap.* stuff from Python or Cython. We do quite a few libgap calls in graphs/strongly_regular_db.pyx and in graphs/generators/classical_geometries.py so this all seems to work just fine. Do you mean somethi

[sage-devel] Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi! My questions are about how/when to use libgap_enter/exit when calling a libGAP_* function. First question: What should happen if one doesn't use libgap_enter/exit? I ask since I called libGAP_EQ without libgap_enter/exit, but there is no crash and it just works. So, can one do without it, in

[sage-devel] Re: From SageNB to jupyter

2017-09-07 Thread Enrique Artal
And probably the ability of sharing worksheets, I did not find it in jupyter or jupyterhub; of course SMC would be OK but I see only the option of campus accounts or personal docker copies. El jueves, 7 de septiembre de 2017, 13:32:02 (UTC+2), Jori Mäntysalo escribió: > > On Thu, 7 Sep 2017, Di

[sage-devel] Re: From SageNB to jupyter

2017-09-07 Thread Jori Mäntysalo
On Thu, 7 Sep 2017, Dima Pasechnik wrote: What exactly are you missing from jupyter nb, or jupyter hub, or some version of SMC people managed to get running on their intranets? I don't actually know; SageNB has just been a working piece of software. What we need is - User management from LD

Re: [sage-devel] Re: SageNB, publishing and error 500

2017-09-07 Thread Dima Pasechnik
Jori, sorry for crying out loud, but noone is going to work on sagenb, besides maybe you, I think. Messing around with 11 years old web technology is very hard indeed. What exactly are you missing from jupyter nb, or jupyter hub, or some version of SMC people managed to get running on their int

Re: [sage-devel] hash issue in python3 experimental branch

2017-09-07 Thread Erik Bray
On Thu, Sep 7, 2017 at 11:06 AM, Jeroen Demeyer wrote: > On 2017-09-06 17:24, Erik Bray wrote: >> >> Interpreting >> "str" as "bytes" is the only way it can be if language_level=2. > > > I think you are misunderstanding. You didn't post the complete C code > generated by Cython: > > __pyx_t_4 =

Re: [sage-devel] Upgrade PARI to git master

2017-09-07 Thread Jeroen Demeyer
Hello all, In order to keep distributions happy, I managed to do the PARI upgrade in such a way that compatibility with PARI-2.9.3 will remain. I specifically created a new ticket https://trac.sagemath.org/ticket/23796 for this. After this ticket, the only doctest failures with PARI master a

Re: [sage-packaging] Re: [sage-devel] Upgrade PARI to git master

2017-09-07 Thread Jeroen Demeyer
On 2017-09-06 17:28, Ximin Luo wrote: If there is no "normalise" function for that context, perhaps there is at least a method to check that two objects represent the same mathematical group, so: I sort of agree in principle, but this is easier said than done. In many cases, the mathematics i

Re: [sage-devel] hash issue in python3 experimental branch

2017-09-07 Thread Jeroen Demeyer
On 2017-09-06 17:24, Erik Bray wrote: Interpreting "str" as "bytes" is the only way it can be if language_level=2. I think you are misunderstanding. You didn't post the complete C code generated by Cython: __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_s); if (unlikely(!__pyx_t_4)) __PYX_ER