Hacker News new | past | comments | ask | show | jobs | submit login

What is the difference between running sage math vs ipython / jupyter and importing all the relevant mathematical packages?

There's a lot more stuff in sage, like good support for graph theory and group theory, which iPython doesn't even touch. It also wraps a number of other pieces of excellent open source projects.

I see. I've always thought of sage as ipython+sympy+numpy+matplotlib+scipy ... sort of an enthought type of deal.

sagemath is such a distribution, but also a rather thick layer of algorithms on top of that. many of them are actually written in cython, to make them fast and to have a good binding with those libraries, etc.

Also a syntax pre-parser to support more "standard" mathematical notation (one among the many: exponentiation using ^)

almost none, because sagemath more or less switched to use jupyter as its graphical notebook interface. technically, there is a small preparser (for a little bit of syntax sugar on top of python) and some deeper integration of the plotting capabilities.

And hundreds of thousands of lines of new code not available anywhere else written by over 500 mathematicians over the last decade...

Those lone software new code are bound to sage, not separable Python modules?

Yes, they are bound to sage. I really, really want to break things apart into separate Python modules that can be used outside Sage. However, that's an enormous amount of work that doesn't help at all with finishing a math research paper, so it's unlikely to happen without money. I've proposed and brought up exactly this very frequently on the Sage mailing lists in the last year. If the company makes money, one my dreams is that all of Sage will be available as smaller modules that are pip installable....

Readers should keep in mind that cython originated from the sage codebase. I bet there's lots of gems in there that many people would like to play with independently of sage.

Will you need to release these modules under the GPL?

Recently we did factor out the code in sage for Cython signal handling (so you can hit control+c to interrupt blocking Cython code!) into a separate library called cysignals. We changed the license from GPL to BSD when doing this!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact