Ask Your Question

Revision history [back]

Hello,

Right. This is a problem of Sage. But it would be a tremendous amount of work to isolate a part of Sage (not talking about the fact that you would also need to maintain it). Some people (including me) are in favour of something more modular. But the focus is currently not on having some part of Sage isolated but having Sage isolated from its components (i.e. third party softwares and libraries such as GAP, Pari/GP, mpir, etc).

And some comments about your reasons

  1. You are definitely right! If you are using (Gentoo)[https://www.gentoo.org/] it is already possible to use Sage over your system. Which means that you only have to install a lot of standard packages (singular, GAP, etc) + the Sage library. A lot of effort is currently done to have the same in (Debian)[https://www.debian.org/] but it is not yet ready. If Sage is finally usable directly on your system this would reduce dramatically the size (it is only ~63M of source code). You are very welcome to help. Sage is an open source project which means that it is mainly developed by its users.

  2. It is very simple to have your own Python/Cython files outside of Sage as an independent Sage code. A priori there is no need to dig into Sage source code. But it of course depends on your needs. You might also want to contribute to Sage source code. It is how Sage gets better.

  3. If you really want something proven you should neither use Sage nor Python (except if you can get a certificate of your computation). If you just want a strong belief that the result is the one you have, you can just do as everyone is doing within Sage: write careful doctests for each piece of code which go through all possible branch of the algorithm. And possibly add some randomized testing.