In [1]: declare_ring([Block("x",2),Block("y",3)],globals()) Out[1]: <polybori.dynamic.PyPolyBoRi.Ring object at 0x18436f0> In [2]: r Out[2]: <polybori.dynamic.PyPolyBoRi.Ring object at 0x18436f0> In [3]: [Variable(i) for i in xrange(r.nVars())] Out[3]: [x(0), x(1), y(0), y(1), y(2)] In [4]: declare_ring([AlternatingBlock(["x","y"],2)],globals()) Out[4]: <polybori.dynamic.PyPolyBoRi.Ring object at 0x2370b70> In [5]: [Variable(i) for i in xrange(r.nVars())] Out[5]: [x(0), y(0), x(1), y(1)] In [6]: [Variable(i) for i in xrange(r.nVars())] Out[6]: [x(0, 0), x(0, 1), x(0, 2), x(1, 0), x(1, 1), x(1, 2)] In [7]: declare_ring(["x","y","z"],globals()) Out[7]: <polybori.dynamic.PyPolyBoRi.Ring object at 0x2eb4630> In [8]: [Variable(i) for i in xrange(r.nVars())] Out[8]: [x, y, z]