Framework database

This is a module for providing common types of frameworks.

pyrigi.frameworkDB.CnSymmetricFourRegular(n=8)[source]

Return a \(C_n\)-symmetric framework in the plane.

Return type:

Framework

Parameters:

n (int)

Definitions

pyrigi.frameworkDB.CnSymmetricWithFixedVertex(n=8)[source]

Return a \(C_n\)-symmetric framework with a fixed vertex in the plane.

The value n must be even and at least 8.

The underlying graph of the returned framework satisfies the expected symmetry-adapted Laman count for rotation but the framework is infinitesimally flexible.

Return type:

Framework

Parameters:

n (int)

Definitions

pyrigi.frameworkDB.Complete(n, dim=2)[source]

Return dim-dimensional framework of the complete graph on n vertices.

The resulting realization depends on the dimension dim and on the number n: :rtype: Framework

  • If n-1<=dim, then the complete graph is realized on the vertices of the dim-dimensional simplex. The complete graph is either given by the 1-skeleton of the simplex itself when dim+1==n or else as the 1-skeleton of a facet.

  • For dim=1, the complete graph is injectively realized on the 1-dimensional linear space generated by the vector [1,0,...,0].

  • If dim=2, then the complete graph is realized as the vertices of a regular polygon.

Parameters:
Return type:

Framework

pyrigi.frameworkDB.CompleteBipartite(n1, n2, realization=None)[source]

Return a complete bipartite framework on n1+n2 vertices in the plane.

Parameters:
  • n1 (int) – The sizes of the two parts.

  • n2 (int) – The sizes of the two parts.

  • realization (str) – If "dixonI", a realization with one part on the x-axis and the other on the y-axis is returned. Otherwise (default), a “general” realization is returned.

Return type:

Framework

Suggested Improvements

Implement realization in higher dimensions.

pyrigi.frameworkDB.Cube()[source]

Return the regular cube in \(\RR^3\).

Return type:

Framework

pyrigi.frameworkDB.Cycle(n, dim=2)[source]

Return dim-dimensional framework of the n-cycle.

The resulting realization depends on the dimension dim and on the number n: :rtype: Framework

  • If n-1<=dim, then the cycle is realized as the vertices of the dim-dimensional simplex.

  • For dim=1, the cycle is injectively realized on the 1-dimensional linear space generated by the vector [1,0,...,0].

  • If dim=2, then the cycle is realized as the vertices of a regular polygon.

Parameters:
Return type:

Framework

pyrigi.frameworkDB.Diamond()[source]

Return the diamond with square realization in the plane.

Return type:

Framework

pyrigi.frameworkDB.Dodecahedron()[source]

Return the regular dodecahedron in \(\RR^3\).

Return type:

Framework

pyrigi.frameworkDB.Frustum(n)[source]

Return the \(n\)-Frustum with 2n vertices in dimension 2.

Return type:

Framework

Parameters:

n (int)

Definitions

pyrigi.frameworkDB.Icosahedron()[source]

Return the regular icosahedron in \(\RR^3\).

Return type:

Framework

pyrigi.frameworkDB.K33plusEdge()[source]

Return the complete bipartite graph on 3+3 vertices plus an edge realized in \(\RR^2\).

Return type:

Framework

pyrigi.frameworkDB.Octahedron(realization='regular')[source]

Return a framework of the octahedron in \(\RR^3\).

Parameters:

realization (str) –

If "regular", a realization of the regular octahedron in \(\RR^3\) is returned.

If "Bricard_line", a flexible Bricard’s octahedron line-symmetric w.r.t. z-axis is returned.

If "Bricard_plane", a flexible Bricard’s octahedron plane-symmetric w.r.t. yz-plane is returned.

Return type:

Framework

pyrigi.frameworkDB.Path(n, dim=2)[source]

Return dim-dimensional framework of the path graph on n vertices.

The resulting realization depends on the dimension dim and n: :rtype: Framework

  • If n-1<=dim, then the path is realized as the vertices of the dim-dimensional simplex.

  • For dim=1, the path is injectively realized on the 1-dimensional linear space generated by the vector [1,0,...,0].

  • If dim=2, then the path is realized as the vertices of a regular polygon.

Parameters:
Return type:

Framework

pyrigi.frameworkDB.SecondOrderRigid()[source]

Return an example by Connelly.

This is an example of a (non-injective) 3-dimensional framework with a two-dimensional space of flexes and stresses. It appears in [CW96]. This framework is second-order rigid but not prestress stable.

Return type:

Framework

pyrigi.frameworkDB.Square()[source]

Return the 4-cycle with square realization in the plane.

Return type:

Framework

pyrigi.frameworkDB.ThreePrism(realization=None)[source]

Return a framework of the 3-prism graph in the plane.

Parameters:

realization (str) – If "parallel", a realization with the three edges that are not in any 3-cycle being parallel is returned. If "flexible", a continuously flexible realization is returned. Otherwise (default), a general realization is returned.

Return type:

Framework

pyrigi.frameworkDB.ThreePrismPlusEdge()[source]

Return a framework of the 3-prism graph with one extra edge in the plane.

Return type:

Framework

pyrigi.frameworkDB.Wheel(n)[source]

Create the wheel framework on n+1 vertices.

Return type:

Framework

Parameters:

n (int)