Comments (2)
Thanks for reporting this error. This error does not arise when scipy
is present and cvxopt.glpk
absent. It arises with cvxopt.glpk
present. Minimal example using e030e12:
In [1]: import cvxopt.glpk
In [2]: import polytope as pt
In [3]: p = pt.Polytope.from_box([[0, 1]])
In [4]: p.bounding_box
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-4-03e06b93ceaf> in <module>()
----> 1 p.bounding_box
/path/polytope/polytope/polytope.py in bounding_box(self)
406 """
407 if self.bbox is None:
--> 408 self.bbox = bounding_box(self)
409 return self.bbox
410
/path/path/polytope/polytope/polytope.py in bounding_box(polyreg)
1288 if sol['status'] == 0:
1289 x = sol['x']
-> 1290 l[i] = x[i]
1291 # upper corner
1292 for i in xrange(0, n):
IndexError: too many indices for array
The relevant lines are polytope.polytope
#L1290 and
polytope.polytope
#L1299 (corresponding to lower and upper corners of the bounding box, respectively).
This bug was introduced in 79d85ec. It does not exist in 25dbe65 and appears in the merge commit 907934a. The bug is caused by a zero-dimensional array returned by the function lpsolve
.
The error is introduced by the call to numpy.squeeze
on line 2282. Squeezing yields a zero dimensional array when fed with an array of shape (1,)
:
import numpy as np
a = np.array(1)
>>> a.shape
()
>>> a.ndim
()
b = np.array([1])
>>> b.shape
(1,)
c = np.squeeze(b)
>>> c.shape
()
In other words, there is still an asymmetry between the GLPK branch and the SciPy branch of the selection statement within lpsolve
. So the aim of 79d85ec has not been accomplished yet.
from polytope.
See also comments about bb568be.
from polytope.
Related Issues (20)
- cvxopt 1.2.0 bug HOT 5
- support Python 3.7 HOT 4
- create regression test for bug fix of PR #56
- release `polytope == 0.2.2` HOT 1
- Error message says "Cannot plot polytopes of dimension larger than 2", but can't plot dimension 1 aswell HOT 2
- Zero Volume for 14D polytope HOT 8
- remove support for Python 2.7, 3.5, 3.6 HOT 7
- support Python 3.10
- With large scales `reduce` can remove non-redundant hyperplanes HOT 2
- `.project` can return redundant hyperplanes despite `minrep == True` HOT 1
- Plotting polytopes on same plot/ adding "_get_patch" as an import option
- How to use cvxopt to find intersection between polytope HOT 4
- polytope volume changing on each trial HOT 2
- Polytope.reduce and removal of possibly overlapping polytopes HOT 3
- Updated release on PyPI? HOT 4
- Rmove or delete particular polytope from a region HOT 1
- combining many polytopes into single polytope HOT 4
- MIB2 cannot clear 01637 error HOT 3
- minkovski sum of polytopes HOT 5
- Usefull future feature
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from polytope.