[sage-devel] Re: symbolic series help needed

2015-04-01 Thread Ralf Stephan


 ... or when s/he 
 is clever then they would also try tab completion. 


Yes that's what I mean:

x.(TAB):
...
x.save  x.simplify_radical  x.step
x.seriesx.simplify_rational x.subs
x.show  x.simplify_real x.subs_expr
...

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: symbolic series help needed

2015-04-01 Thread Simon King
Hi Ralf,

On 2015-04-01, Ralf Stephan gtrw...@gmail.com wrote:
 Symbolic series is what the user often encounters first when looking in 
 Sage for power series.

I disagree with that statement. A user who wants to know how to do
something in Sage is supposed to search the documentation, or when s/he
is clever then they would also try tab completion.

Here, we talk about power series. A search on www.sagemath.org yields
power series, power series methods, lazy power series and
multivariate power series.

Tab completion yields
  sage: powertab
  power  power_mod  powerset   
(which is not what we are looking for) and
  sage: Powertab
  PowerSeries  PowerSeriesRing  

In fact, even though I am a somewhat experienced Sage user, I didn't
even know that symbolic series exist.

Best regards,
Simon


-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: symbolic series help needed

2015-04-01 Thread Ralf Stephan
On Wednesday, April 1, 2015 at 10:57:35 AM UTC+2, Simon King wrote:

 In fact, even though I am a somewhat experienced Sage user, I didn't 
 even know that symbolic series exist. 


And they are at the moment the only way to get the formal series expansion
of any nontrivial function.

To repeat: I don't want the full functionality for them, just to be able to
convert them to/from PowerSeries. So that one can do the real work
using PowerSeries.

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: symbolic series help needed

2015-04-01 Thread Fredrik Johansson
On Wednesday, April 1, 2015 at 10:57:35 AM UTC+2, Simon King wrote:

 Hi Ralf, 

 On 2015-04-01, Ralf Stephan gtr...@gmail.com javascript: wrote: 
  Symbolic series is what the user often encounters first when looking in 
  Sage for power series. 

 I disagree with that statement. A user who wants to know how to do 
 something in Sage is supposed to search the documentation, or when s/he 
 is clever then they would also try tab completion. 


Perhaps confusingly,

http://www.sagemath.org/doc/constructions/calculus.html#power-series

offers .taylor() and .powerseries() without mentioning .series() or Sage's 
PowerSeries.

That's four different notions of power series already...

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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] symbolic series help needed

2015-04-01 Thread Ralf Stephan
Symbolic series is what the user often encounters first when looking in 
Sage for power series.
They are somewhat limited with respect to Sage's PowerSeries and 
LaurentSeries. You see you
cannot do arithmetics at all with symbolic series:

sage: s = SR(1/(1-x)).series(x,5); s
1 + 1*x + 1*x^2 + 1*x^3 + 1*x^4 + Order(x^5)
sage: 2*s
2*(1 + 1*x + 1*x^2 + 1*x^3 + 1*x^4 + Order(x^5)) 

Realistic behaviour must be added on Pynac level, it's simply not there at 
the moment,
if I understand correctly.

For that reason it would be helpful if someone could at least review those 
tickets that deal with
symbolic--dedicated ring conversion (#10846 
http://trac.sagemath.org/ticket/10846, #16203 
http://trac.sagemath.org/ticket/16203, #17402 
http://trac.sagemath.org/ticket/17402 and maybe #17400 
http://trac.sagemath.org/ticket/17400 and #17659 
http://trac.sagemath.org/ticket/17659).
I cannot do this: I am the author 8P

Regards,

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: symbolic series help needed

2015-04-01 Thread Ralf Stephan
On Wednesday, April 1, 2015 at 2:07:34 PM UTC+2, Fredrik Johansson wrote:

 Perhaps confusingly,

 http://www.sagemath.org/doc/constructions/calculus.html#power-series

 offers .taylor() and .powerseries() without mentioning .series() or Sage's 
 PowerSeries.


Thanks. I attempted an improvement:

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

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] For french readers

2015-04-01 Thread Pierre
Anyways, somewhat limited is an understatement. 

To be fair, the french financement est pour le moins limité means 
something like funding is limited, to say the least. Don't trust google ! 
:-)

pierre

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: git currently unusable on trac?

2015-04-01 Thread Travis Scrimshaw
Hey Simon,
   You could just do git directly:

git pull
git push trac local_branch_name:remote_branch_name

You could also replace local_branch_name with HEAD (which pushes 
whatever your current branch is). If git pull doesn't work (I think it 
should since the branch is linked to the one on trac), you can run:

git pull trac remote_branch_name


Best,
Travis


On Tuesday, March 31, 2015 at 1:01:40 PM UTC-7, Simon King wrote:

 Hi Volker, 

 On 2015-03-31, Volker Braun vbrau...@gmail.com javascript: wrote: 
  It seems like git push fails with an exit code != 0, which you 
 interpret 
  as working. What is the console output? You can add git push --verbose 

  git push --verbose 
 Versende nach g...@trac.sagemath.org:sage.git 
 Enter passphrase for key '/home/king/.ssh/id_rsa': 
 To g...@trac.sagemath.org:sage.git 
  = [up to date]  t/16453/cythonize_quiver_paths - 
 u/SimonKing/cythonize_quiver_paths 
 Everything up-to-date 

 Ah! It is pushing to my own branch on trac, not to the public branch 
 that is attached to the ticket! 

 So, what I should do is to change the branch field on the ticket, right? 

 Best regards, 
 Simon 




-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: 1000*pi Infinity is false

2015-04-01 Thread Eric Gourgoulhon
Hi, 

Already bool( pi  Infinity) returns False. See the discussion in this 
thread https://groups.google.com/d/msg/sage-devel/Oip2hzvjFZQ/suGGtwQum0AJ
.

Eric.

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] 1000*pi Infinity is false

2015-04-01 Thread john_perry_usm
See subject. Any advice on getting around this? (or fixing it, since I can 
do that, too)

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: 1000*pi Infinity is false

2015-04-01 Thread Volker Braun
This is http://trac.sagemath.org/ticket/12967

On Wednesday, April 1, 2015 at 5:38:18 PM UTC+2, john_perry_usm wrote:

 See subject. Any advice on getting around this? (or fixing it, since I can 
 do that, too)


-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Sage logo -- Proposal

2015-04-01 Thread Nicolas M. Thiery
Hi,

On Sun, Mar 29, 2015 at 08:23:53AM -0700, jplab wrote:
Lately, I was suggested to create a post concerning the Sage logo. It
would be nice to have an open discussion about some possibilities.
Perhaps this is a good place to do so.
I hope the discussion will be constructive.
Indeed, one may ask the reason why bother?, why change the logo?.
This is indeed a relevant question to ask. Perhaps this thread could
gather ideas about the sage logo and opinions about it?
I believe it seems to some users and developers that the logo is
something that looks like an icosahedron. Is that the case in the
origin?
If so, I used sage and tikz to produce a similar picture which is an
actual faithful drawing of an icosahedron. (I join the picture and the
code to this post). I kind of like the picture and it was produced
using Sage (and tikz)! A self-made logo is cool also I would say?
Could this be used to produce a logo for sage?

Personal opinion: I find the logo proposed by Jean-Philippe a very
nice improvement on the the previous icosahedron-but-not-quite; my
brain is at peace trying to reverse engineer what it is!

So I vote for upgrading.

Cheers,
Nicolas
--
Nicolas M. Thiéry Isil nthi...@users.sf.net
http://Nicolas.Thiery.name/

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] For french readers

2015-04-01 Thread William Stein
On Wed, Apr 1, 2015 at 7:28 PM, Nicolas M. Thiery
nicolas.thi...@u-psud.fr wrote:
 On Tue, Mar 31, 2015 at 06:18:22AM -0700, William Stein wrote:
 This sort of careful strategic iterative development, which easily
 parallelizes to a large number of people and gets big projects (GAP,
 Singular, PARI) to work together, rather than compete, is not
 amateuristic -- it's very sensible.  Of course, often I feel I'm the
 only person in the world who believes this; maybe that's why there
 wasn't a Sage before Sage.

 I can testify of at least another person believing in this :-)
 Probably many more.

 When we had our Open source Computer Algebra Meeting back in 2002,

A few years later, I think Paul Zimmerman gave me a bunch of notes
from that meeting (I wasn't there, of course).When I read them I
definitely felt like some people were thinking along the same lines as
me.

 the above ideas where very much in the air. I believe that what was
 missing is someone with the determination, qualification, and stamina
 to get it running -- with a fairly insane guts level to think «yes we
 can».

I only remember feeling insane when getting this thing going.  I was
convinced for the first two years that it would be a complete failure,
but just kept doing it anyways...


 Cheers,
 Nicolas
 --
 Nicolas M. Thiéry Isil nthi...@users.sf.net
 http://Nicolas.Thiery.name/

 --
 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 http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.



-- 
William (http://wstein.org)

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Using new display hooks

2015-04-01 Thread Andrey Novoseltsev
Hello,

I am working on adjusting SageMathCell to Volker's display system and have 
a few questions mostly for him, but perhaps of interest to others as well:

1) What exactly is the point of display_immediately and when is it supposed 
to be called? The default displayhook calls display_immediately. The 
IPython notebook conversely calls displayhook from display_immediately 
defined in the common base class, while the command line overrides it with 
a different call to displayhook. (In which case the common version should 
be moved to the notebook class.)

2) Calling data field differently in each output container is 
inconvenient, since similar containers cannot be handled together, rather 
one should copy-paste the same code again and again. I would much prefer 
writing
{{{
elif isinstance(rich_output, (OutputImagePng, OutputImagePng, ...)):
msg = self.launch_viewer(
rich_output.data.filename(), plain_text.text.get())
return ({u'text/plain': msg}, {})
}}}
rather than
{{{
elif isinstance(rich_output, OutputImagePng):
msg = self.launch_viewer(
rich_output.png.filename(ext='png'), plain_text.text.get())
return ({u'text/plain': msg}, {})
elif isinstance(rich_output, OutputImageGif):
msg = self.launch_viewer(
rich_output.gif.filename(ext='gif'), plain_text.text.get())
return ({u'text/plain': msg}, {})
...
}}}
Note that the current/second variant requires replacing Png with Gif in 3 
different places and different cases. (The first one would require 
implementing default extension mechanism.)

3) html(string) should render string as a piece of HTML code rather 
than just printing it if frontend supports it - I am not clear on how to 
implement it in the current model, it seems to me that OutputHTML format 
should be added and supported.

4) show(x^2) and view(x^2) should trigger display of OutputLatex, but it 
does not seem to be the case - it seems to me that SageNB still relies on 
old mess and IPython supports only global preferences for displaying 
formulas.

5) Just to confirm - only SageNB depends now on EMBEDDED_MODE == True 
blocks, correct?

Thank you!
Andrey

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Using new display hooks

2015-04-01 Thread Andrey Novoseltsev
On Wednesday, 1 April 2015 18:11:10 UTC-6, Volker Braun wrote:

 The IPython backend implementation is peculiar, you probably shouldn't 
 look at it for guidance. The reason is that IPython expects a callable that 
 returns a particular dictionary. In other words the displayhook doesn't 
 actually show anything, it only converts the output into IPython's format.

 If we were to use remote IPython kernels for the commandline or something 
 like that (which is currently discouraged afaik, but might work in the 
 future) then it should probably use BackendIPython.display_immediately and 
 not the override from the BackendIPythonCommandline subclass. At least that 
 was my thought in the code layout.

 Well, SageMathCell does use IPython for processing and I definitely want 
to be as close to other interfaces as possible. My understanding is that 
all interfaces but SageNB rely on IPython at the moment, so having some 
common base class is of interest. 

3) html(string) should render string as a piece of HTML code rather 
 than just printing it if frontend supports it - I am not clear on how to 
 implement it in the current model, it seems to me that OutputHTML format 
 should be added and supported.


 Agree, though I haven't gotten there yet.

 

 4) show(x^2) and view(x^2) should trigger display of OutputLatex, but it 
 does not seem to be the case - it seems to me that SageNB still relies on 
 old mess and IPython supports only global preferences for displaying 
 formulas.



 There is also pretty_print(x^2), which will become synonymous with show in 
 http://trac.sagemath.org/ticket/17821

 I really dislike the view function, it really should be called 
 pdflatex because that is what it does and how it is documented. The 
 current name is very ambiguous, you basically have no chance to guess what 
 it does.


OK, to summarize, we want 3 different print statements that display 
results immediately:

1) print(s) that prints raw string and works fine at the moment
2) html(s) that interprets s as HTML code and requires new output type
3) something(s) that interprets s as LaTeX code for math mode, probably 
inserting HTML for MathJax and perhaps having versions for inline or 
display styles. The most messed up case for the moment.

The natural choice for 3) seems to be latex, except that it does a 
different thing. And not so natural names that work at the moment are show, 
pretty_print, and view. Is the plan to stick with pretty_print for 
formulas, use show for plots only, and deprecate view? We also can add a 
function mathjax(s) that will work like html(latex(s) + appropriate 
decoration), although that would be a hard-to-discover function, probably...

Thank you!
Andrey

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] For french readers

2015-04-01 Thread Nicolas M. Thiery
On Tue, Mar 31, 2015 at 06:18:22AM -0700, William Stein wrote:
 This sort of careful strategic iterative development, which easily
 parallelizes to a large number of people and gets big projects (GAP,
 Singular, PARI) to work together, rather than compete, is not
 amateuristic -- it's very sensible.  Of course, often I feel I'm the
 only person in the world who believes this; maybe that's why there
 wasn't a Sage before Sage.

I can testify of at least another person believing in this :-)
Probably many more.

When we had our Open source Computer Algebra Meeting back in 2002,
the above ideas where very much in the air. I believe that what was
missing is someone with the determination, qualification, and stamina
to get it running -- with a fairly insane guts level to think «yes we
can».

Cheers,
Nicolas
--
Nicolas M. Thiéry Isil nthi...@users.sf.net
http://Nicolas.Thiery.name/

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] sage and jupyterhub for classroom teaching

2015-04-01 Thread Nils Bruin
It appears that sagenb is in maintenance-only, and that for graphical 
interface, the IPython notebook is the way forward. The IPython notebook 
looks wonderful and will probably be a very able replacement for 
single-user scenarios, but it lacks the multiuser capability that sagenb 
provides.
I noticed that IPython notebook is now Jupyter, and that there *IS* a 
multiuser offshoot for that now: Jupyterhub. Does anyone here have 
experience deploying Jupyterhub and/or using it to interface with sage? It 
looks like a very attractive option for cases where SageMathCloud isn't 
appropriate.

The blog post here:

https://developer.rackspace.com/blog/deploying-jupyterhub-for-education/

looks promising as far as how mature Jupyterhub is, but I have no idea how 
it would work with sage.

Comments and insights welcome!

Nils

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] sage and jupyterhub for classroom teaching

2015-04-01 Thread William Stein
On Wed, Apr 1, 2015 at 9:21 PM, Nils Bruin nbr...@sfu.ca wrote:
 It appears that sagenb is in maintenance-only, and that for graphical
 interface, the IPython notebook is the way forward. The IPython notebook
 looks wonderful and will probably be a very able replacement for single-user
 scenarios, but it lacks the multiuser capability that sagenb provides.
 I noticed that IPython notebook is now Jupyter, and that there *IS* a
 multiuser offshoot for that now: Jupyterhub. Does anyone here have
 experience deploying Jupyterhub and/or using it to interface with sage? It
 looks like a very attractive option for cases where SageMathCloud isn't
 appropriate.

 The blog post here:

 https://developer.rackspace.com/blog/deploying-jupyterhub-for-education/

 looks promising as far as how mature Jupyterhub is, but I have no idea how
 it would work with sage.

 Comments and insights welcome!

Jupyterhub (JH) and SageMathCloud (SMC) are basically approaching the
same problem but from somewhat different directions.   The following
comparisons are difficult to write and probably wrong; they might be
hard to write for the JH people, since they probably barely understand
SMC, and for me since I surely barely understand JH.   So take all
this with a huge grain of salt, as it is probably more a reflection of
my own ignorance than anything else.  That said, I had some long
conversations with Fernando Perez and some other JH devs in Berkeley a
few months ago, and he helped me get a sense of what's going on.

  - JH has a bit more funding and resources right now than SMC -- they
have several fulltime people, significant funds from Moore/Sloane,
etc.  SMC is 99.9% me in my spare time...

  - JH is (probably) all BSD licensed, where SMC is GPLv3.   (SMC is
GPLv3 because of the data management plans in several of my NSF
grants, which were written more around Sage, but still apply.)

  - SMC is -- more or less -- only designed to run multi-data center
on a large number of computers, and there's no automatic process to
just get a copy of SMC up and running.  Also, SMC requires constant
human monitoring and maintenance.

  - JH is written in Python as much as is reasonably possible, whereas
SMC is mostly written in CoffeeScript.

  - Both SMC and JH have target audiences that  include large
undergraduate courses with students using Python and other languages.

  - JH's money model is a Moore/Sloane grant, along with industry
partnerships; this combination is the main plan for longterm funding,
and it will probably work at a small scale at least, since Fernando et
al. are very effective at grantsmanship.  The JH devs explicitly
decided not to go the route of starting a for-profit company.In
contrast, SMC's money model is a for-profit company (SageMath, Inc.),
with investment and a (yet to be revealed) business model, etc.;
there's no evidence that I'm any good at this approach to funding what
we're doing, but this approach definitely has the potential to scale
up substantially in size.

  - Realtime collaboration is central in the design of everything in
SMC, and of a lot of things I haven't implemented yet, but have laid
the foundations for.   JH has very limited collaborative capabilities
(e.g., the coLaboratory stuff from Google), but of course much is
planned. I hope that they are an order of magnitude better at
implementing that stuff than me, since it is frickin' hard.

  - IPython is a heavily used and central part of SMC.  Sage worksheets
in SMC are much different than IPython notebooks (which are very
similar to sagenb notebooks), and I view the two as complementary.

If somebody from JH decides to explain how every point above is
slightly wrong, that would be nice, since I can't imagine that they
aren't wrong!

 -- William


 Nils

 --
 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 http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.



-- 
William (http://wstein.org)

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Using new display hooks

2015-04-01 Thread Volker Braun
On Thursday, April 2, 2015 at 1:28:12 AM UTC+2, Andrey Novoseltsev wrote:

 1) What exactly is the point of display_immediately and when is it 
 supposed to be called? The default displayhook calls display_immediately. 
 The IPython notebook conversely calls displayhook from display_immediately 
 defined in the common base class, while the command line overrides it with 
 a different call to displayhook. (In which case the common version should 
 be moved to the notebook class.)


There are two different output modes that each backend (=UI implementation) 
is supposed to provide

* display_immediately: Shows something immediately, without waiting for the 
prompt. For example, this is how print works in plain Python. This is 
also how show() is supposed to work in Sage. So you can do

sage: for g in compute_graph_list():
:g.do_something()
:g.show()# shows each plot while the loop is still running  
:g.do_something_else()

* displayhook: This shows the value of the last statement. It is only 
called after the evaluation of the current input cell / commandline is 
finished. So you get

sage: plot(sin)   # value of statement = a graphics object. Will be shown 
by the displayhook

vs.

sage: _ = plot(sin)   # value of assignment is None, displayhook(None) does 
nothing

The IPython backend implementation is peculiar, you probably shouldn't look 
at it for guidance. The reason is that IPython expects a callable that 
returns a particular dictionary. In other words the displayhook doesn't 
actually show anything, it only converts the output into IPython's format.

If we were to use remote IPython kernels for the commandline or something 
like that (which is currently discouraged afaik, but might work in the 
future) then it should probably use BackendIPython.display_immediately and 
not the override from the BackendIPythonCommandline subclass. At least that 
was my thought in the code layout.

 

 2) Calling data field differently in each output container is 
 inconvenient, since similar containers cannot be handled together



There is no assumption made that the rich output always consists of just 
one file, e.g. jmol rich output consists of multiple files / buffers. 
Usually you also have to treat the output differently. Your example only 
works because your backend is second-guessing what the output is, and/or 
using filesystem information to store the output type. IMHO that is a bad 
design choice of the backend. And then there are ambiguous extensions like 
jpg vs jpeg etc.

A fundamental design choice of the rich output is that everything can be 
passed via in-memory buffers, without using the file system or a filename. 
There are convenience methods to save it to a file, but those are mainly 
for SageNB support.


3) html(string) should render string as a piece of HTML code rather 
 than just printing it if frontend supports it - I am not clear on how to 
 implement it in the current model, it seems to me that OutputHTML format 
 should be added and supported.



Agree, though I haven't gotten there yet.



 4) show(x^2) and view(x^2) should trigger display of OutputLatex, but it 
 does not seem to be the case - it seems to me that SageNB still relies on 
 old mess and IPython supports only global preferences for displaying 
 formulas.



There is also pretty_print(x^2), which will become synonymous with show in 
http://trac.sagemath.org/ticket/17821

I really dislike the view function, it really should be called pdflatex 
because that is what it does and how it is documented. The current name is 
very ambiguous, you basically have no chance to guess what it does.

 

 5) Just to confirm - only SageNB depends now on EMBEDDED_MODE == True 
 blocks, correct?



Yes! 

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Why inequalities are not converted to boolean?

2015-04-01 Thread Jori Mantysalo

[ From sage-support to sage-devel ]

On Wed, 1 Apr 2015, Nils Bruin wrote:


That was new to me. Why Sage can not raise exception?

Yes, it could and perhaps it does sometimes. This would quickly extend 
to == and != as well, though, and most code expects A==B to return 
without an exception, so there raising an exception is problematic.


First, a question: What python exactly does when saying

if f(x):

or

if xy:

? Does it bool(f(x)) and bool(xy)?

Mathematically I think that A equals B is maybe mostly used concept, but 
the meaning of it is not clear. A is isomorphic to B? Something else? 
Hence A==B is hard to define so that it will always make sense.


But AB is usually not defined at all.

--
Jori Mäntysalo


[sage-devel] Re: git currently unusable on trac?

2015-04-01 Thread Simon King
Hi Travis,

On 2015-04-01, Travis Scrimshaw tsc...@ucdavis.edu wrote:
 Hey Simon,
You could just do git directly:

 git pull
 git push trac local_branch_name:remote_branch_name

I can imagine that the problem was as follows: My local branch was
pointing to a remote branch in u/SimonKing/..., but the ticket branch
was in public/... Moreover, as I have found out later, I had *two* local
branches related with my work on the ticket: The same diff, but with
respect to different betas, and also with a different commit history.

So, when trying to git trac push my local branch, then it was
attempted to push A to a remote branch that was not registered as remote
branch for the local branch, and that was git-history incompatible with
what was attached to the ticket. I don't know which of the two reasons
led to the error: The error message just said that something was wrong.

What I eventually did:
- Fetch the branch that was attached to the ticket
- Rebase the two last commits of my local branch on top of FETCH_HEAD
- push it to the public branch attached to the ticket, using the git
  command that you presented above.

Note that the trouble/confusion would not have happened with mercurial, as
the ostensible incompatibilities lie in the commit history and not in
the actual diff. And of course the error message of git trac push
could be more helpful.

Best regards,
Simon


-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: git currently unusable on trac?

2015-04-01 Thread Volker Braun
On Wednesday, April 1, 2015 at 7:01:05 PM UTC+2, Simon King wrote:

 Note that the trouble/confusion would not have happened with mercurial


Since you can't rename branches in mercurial, typos stay forever ;-)

Seriously, with git you can push any local branch to any remote branch. 
Just requires --force if the remote has an incompatible history.

If you do not want to use the automatically guessed remote branch there is 
also git trac push --branch remote_branch_name. Might require --force 
just like the plain git version.



-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: [sage-support] Re: Why inequalities are not converted to boolean?

2015-04-01 Thread Jeroen Demeyer

On 2015-04-01 22:27, William Stein wrote:

Nils answered that it sort of was one, but the Python people realized
it was a bad choice, and have moved away from it.


To be more precise: Python 2 has two independent ways of doing 
comparison: there is __cmp__ on the one hand and __eq__, __lt__ and so 
on on the other hand (the latter are grouped as __richcmp__ in Cython).


When sorting, __cmp__ is used but when the user types x  y, then __lt__ 
is used.


I think it is only __cmp__ which is not allowed to raise exceptions. 
With the other comparisons, you can do what you want.


These comparisons are all independent, there is no requirement of 
consistency between different comparison operators.


Good night,
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: 1000*pi Infinity is false

2015-04-01 Thread john_perry_usm
Thanks to everyone for the heads up. Glad to know it's being worked on.

On Wednesday, April 1, 2015 at 10:52:01 AM UTC-5, Eric Gourgoulhon wrote:

 Hi, 

 Already bool( pi  Infinity) returns False. See the discussion in this 
 thread 
 https://groups.google.com/d/msg/sage-devel/Oip2hzvjFZQ/suGGtwQum0AJ.

 Eric.


-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: [sage-support] Re: Why inequalities are not converted to boolean?

2015-04-01 Thread William Stein
On Wed, Apr 1, 2015 at 12:38 PM, Simon King simon.k...@uni-jena.de wrote:
 Hi William,

 On 2015-04-01, William Stein wst...@gmail.com wrote:
 That was new to me. Why Sage can not raise exception?


 Given the amount of confusion this causes I think we should discuss /
 consider changing this.

 That discussion should of course take place on sage-devel (not here),

Move to sage-devel.

 but anyway: Is it a Python convention or a genuine SageMath convention
 that comparison shouldn't raise an exception?

Nils answered that it sort of was one, but the Python people realized
it was a bad choice, and have moved away from it.

A few years ago I would have (and did) argue for this convention (not
raising exceptions).  However, we *constantly* get support emails from
people confused by this.  As it is a major point of confusion, I am
totally backing away from my previous stance, and think we should
seriously considering making a change.

 In the former case, we
 shouldn't change it. And how much code would break if comparison was to
 be allowed to raise exceptions?


 Best regards,
 Simon


 --
 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+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-supp...@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-support.
 For more options, visit https://groups.google.com/d/optout.



-- 
William (http://wstein.org)

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.