python中的多面体和多面体操作

pypoman的Python项目详细描述


这个库对convex polyhedra这样的 作为polytope projectiondouble description(之间的转换 半空间和顶点表示),计算Chebyshev center, 等

有关详细信息,请参见完整的API documentation

示例

顶点计数

我们可以计算半空间中描述的多面体的顶点列表 由A * x <= b

表示
importnumpyimportpypomanA=numpy.array([[-1,0,0,0,0,0,0,0,0,0,0,0],[0,-1,0,0,0,0,0,0,0,0,0,0],[0,0,-1,0,0,0,0,0,0,0,0,0],[0,0,0,-1,0,0,0,0,0,0,0,0],[0,0,0,0,-1,0,0,0,0,0,0,0],[0,0,0,0,0,-1,0,0,0,0,0,0],[0,0,0,0,0,0,-1,0,0,0,0,0],[0,0,0,0,0,0,0,-1,0,0,0,0],[0,0,0,0,0,0,0,0,-1,0,0,0],[0,0,0,0,0,0,0,0,0,-1,0,0],[0,0,0,0,0,0,0,0,0,0,-1,0],[0,0,0,0,0,0,0,0,0,0,0,-1],[1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,0,0,0,0,0,0],[0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1],[1,0,0,1,0,0,1,0,0,1,0,0],[0,1,0,0,1,0,0,1,0,0,1,0],[0,0,1,0,0,1,0,0,1,0,0,1]])b=numpy.array([0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,2,1,2,3])vertices=pypoman.compute_polytope_vertices(A,b)

多面体投影

让我们在x = [x_1 ... x_n]上投射一个n维多面体到它的 前两个坐标proj(x) = [x_1 x_2]

importpypomanfromnumpyimportarray,eye,ones,vstack,zerosn=10# dimension of the original polytopep=2# dimension of the projected polytope# Original polytope:# - inequality constraints: \forall i, |x_i| <= 1# - equality constraint: sum_i x_i = 0A=vstack([+eye(n),-eye(n)])b=ones(2*n)C=ones(n).reshape((1,n))d=array([0])ineq=(A,b)# A * x <= beq=(C,d)# C * x == d# Projection is proj(x) = [x_0 x_1]E=zeros((p,n))E[0,0]=1.E[1,1]=1.f=zeros(p)proj=(E,f)# proj(x) = E * x + fvertices=pypoman.project_polytope(proj,ineq,eq,method='bretl')if__name__=="__main__":# plot projected polytopeimportpylabpylab.ion()pylab.figure()pypoman.plot_polygon(vertices)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java查找事件分派线程冲突   java画布。DrawBitmap()不会在安卓上绘制任何内容!!:(   ruby+appium或java+appium用于移动本机应用程序自动化   java Jersey REST字符编码   java使用json将字符串转换为Arraylist   java如何在Groovy中检查字符串是否与模式匹配   java如何在抽象arraylist中添加抽象arraylist   Java servlets,JSP更改内容od DIV   java在J2ME中通过http发送和接收数据,并处理菜单和屏幕   Jar文件与JAVA类路径的结合   java按钮不可见,它将连接安卓 studio中的另一个活动   java是否可以使用SFTP JSch库进行多部分文件上载?   facelet中ui:composition和ui:decoration的java差异   java得到的数字不能被任何东西除   java logback:SizeAndTimeBasedRollingPolicy不删除包含4位“%i”的文件   java数据库管理器将连接“借用”到数据库   java javaFx标签wrapText不起作用   java是否可以在同一个系统上同时运行两台服务器?或者,当XAMPP/WAMP未运行时,如何在Eclipse中执行MySQL查询?   递归Java编程