bertiniteam / b2

Bertini 2.0: The redevelopment of Bertini in C++.
92 stars 34 forks source link

Limitation on the number of variables/equations in v1.6? #157

Closed fetchinson closed 5 years ago

fetchinson commented 5 years ago

I'm not sure this issue tracker is suitable for questions about version 1.6 but couldn't find a better place so here it goes:

Bertini works perfectly well when I'm trying to use it for solving systems with about 5, 10, 15, 20 variables and about the same number of equations, but with rather innocent looking quadratic equations it fails with the error message

ERROR: The number of startpoints must be positive! Bertini will now exit due to this error.

And the "start" file indeed has a 0 in it. The system where this happens has 35 equations and 35 variables and all equations look like linear(x) + quadratic(x) = 0.

Is there some limitation on the number of variables/equations? Is it possible to lift these? Or any other way of going around the problem?

ofloveandhate commented 5 years ago

The problem is that the integer used to store the number of start points has overflowed -- you have more than about 2^32 start points, and a 32-bit integer (int) was used for this value. so....... choose a formulation with fewer start points?

suggestions:

ofloveandhate commented 5 years ago

another thing to think about is that the number of start points in your case, 2^35, is laaaarge (about 35 billion). i don't think you'll successfully solve your system using total degree using Bertini 1 (or probably any other similar software).

fetchinson commented 5 years ago

Thanks a lot, it's all clear, will try to reduce the number of variables.

SeffyVon commented 11 months ago

The problem is that the integer used to store the number of start points has overflowed -- you have more than about 2^32 start points, and a 32-bit integer (int) was used for this value. so....... choose a formulation with fewer start points?

suggestions:

  • try regeneration

Hello, I just encountered a similar problem using v1.6 (as I still have no luck installing b2-python). Could this limitation be alleviated by using a 64-bit integer?