Given a graph, constraint() calculates Burt's constraint for each vertex.

## Usage

constraint(graph, nodes = V(graph), weights = NULL)

## Arguments

graph

A graph object, the input graph.

nodes

The vertices for which the constraint will be calculated. Defaults to all vertices.

weights

The weights of the edges. If this is NULL and there is a weight edge attribute this is used. If there is no such edge attribute all edges will have the same weight.

## Value

A numeric vector of constraint scores

## Details

Burt's constraint is higher if ego has less, or mutually stronger related (i.e. more redundant) contacts. Burt's measure of constraint, $$C_i$$, of vertex $$i$$'s ego network $$V_i$$, is defined for directed and valued graphs, $$C_i=\sum_{j \in V_i \setminus \{i\}} (p_{ij}+\sum_{q \in V_i \setminus \{i,j\}} p_{iq} p_{qj})^2$$ for a graph of order (i.e. number of vertices) $$N$$, where proportional tie strengths are defined as $$p_{ij} = \frac{a_{ij}+a_{ji}}{\sum_{k \in V_i \setminus \{i\}}(a_{ik}+a_{ki})},$$ $$a_{ij}$$ are elements of $$A$$ and the latter being the graph adjacency matrix. For isolated vertices, constraint is undefined.

Burt, R.S. (2004). Structural holes and good ideas. American Journal of Sociology 110, 349-399.