Redundant Rigidity

This module provides algorithms related to redundant rigidity of frameworks.

pyrigi.framework._rigidity.redundant.is_redundantly_inf_rigid(framework, use_copy=True, **kwargs)[source]

Return if the framework is infinitesimally redundantly rigid.

For implementation details and possible parameters, see is_inf_rigid().

Definitions

Redundant infinitesimal rigidity

Parameters:
  • framework (FrameworkBase)

  • use_copy (bool) – If False, the framework’s edges are deleted and added back during runtime. Otherwise, a new modified framework is created, while the original framework remains unchanged (default).

Return type:

bool

Examples

>>> F = Framework.Empty(dim=2)
>>> F.add_vertices([(1,0), (1,1), (0,3), (-1,1)], ['a','b','c','d'])
>>> F.add_edges([('a','b'), ('b','c'), ('c','d'), ('a','d'), ('a','c'), ('b','d')])
>>> is_redundantly_inf_rigid(F)
True
>>> F.delete_edge(('a','c'))
>>> is_redundantly_inf_rigid(F)
False