Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

It is not currently possible to compute just a small subset of solutions, as far as I can tell. It would not be hard to improve the implementation of I.variety() to return the results lazily, though (for example using sage.misc.lazy_list). This could indeed be useful whenever the number of solutions is large.

However, the expensive part of the computation is the computation of a Gröbner basis which cannot be done lazily. I cannot reproduce the error you mentioned, but this step seems to be the one that fails. The implementation first computes a triangular decomposition which requires a Gröbner basis with respect to the lexicographical term ordering. It could help if you are able to compute a lex-ordered Gröbner basis beforehand, possibly using a different algorithm more suitable for your concrete example.

Also, I encourage you to take a look at the source code of this function to better understand what it does.