Infinitesimal RigidityΒΆ
(Rigidity matrix)
Let \((G, p)\) be a \(d\)-dimensional framework with \(G = (V, E)\). The rigidity matrix \(R(G, p)\) of \((G, p)\) is the \(|E| \times d|V|\) matrix whose row labelled by \(uv \in E\) is
PyRigi
: rigidity_matrix()
(Infinitesimal flexes)
Let \((G, p)\) be a \(d\)-dimensional framework with \(G = (V, E)\). An infinitesimal flex of \((G, p)\) is a collection \((q_v)_{v \in V}\) of elements in \(\RR^n\) such that
In other words, if we form a \(d|V| \times 1\) vector \(q\) out of an infinitesimal flex, then \(q\) lies in the kernel of the rigidity matrix \(R(G, p)\).
PyRigi
: inf_flexes()
(Trivial infinitesimal flexes)
Let \((G, p)\) be a \(d\)-dimensional framework with \(G = (V, E)\). A trivial infinitesimal flex is any element of the vector subspace of \(\RR^{d|V|}\) generated by the following elements:
\((e_i)_{v \in V}\) where \(e_i\) is the \(i\)-th element of the standard basis of \(\RR^d\);
\((A \cdot p_v)_{v \in V}\) where \(A\) is any \(d \times d\) skew-symmetric matrix.
An infinitesimal flex that is not trivial is called a nontrivial infinitesimal flex.
(Infinitesimally rigid frameworks)
A framework is called infinitesimally rigid, if all its infinitesimal flexes are trivial. A framework is called infinitesimally flexible, if it is not infinitesimally rigid.
Let \((G, p)\) be a \(d\)-dimensional framework with \(G = (V, E)\). If \(|V| \geq d+1\), the framework \((G, p)\) is infinitesimally rigid if and only if the rigidity matrix \(R(G, p)\) has rank \(d|V| - \binom{d+1}{2}\). If \(|V| \leq d+1\), the framework \((G, p)\) is infinitesimally rigid if and only if \(G\) is complete, \(p\) is injective and the set \(\{ p_v \, : \, v \in V\}\) is affinely independent.
PyRigi
: is_inf_rigid()
(Regular frameworks)
A \(d\)-dimensional framework \((G, p)\) is called regular if
for any other \(d\)-dimensional framework \((G, p')\).
(Independent framework)
A \(d\)-dimensional framework \((G, p)\) with \(G = (V, E)\) is called independent if \(\mathrm{rk} \, R(G, p) = |E|\).
(Isostatic frameworks)
A framework \((G, p)\) is called isostatic if it is infinitesimally rigid and independent.
(Minimally rigid frameworks)
Let \((G,p)\) be a \(d\)-dimensional framework. The framework \((G, p)\) is called minimally (infinitesimally) \(d\)-rigid if removing any edge from \(G\) yields an (infinitesimally) flexible framework.
PyRigi
: is_min_inf_rigid()