# constraint

##### Burt's constraint

Given a graph, `constraint`

calculates Burt's constraint for each
vertex.

- Keywords
- graphs

##### 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.

##### 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 (ie. 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.

##### Value

- A numeric vector of constraint scores

##### References

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

##### Examples

```
g <- sample_gnp(20, 5/20)
constraint(g)
```

*Documentation reproduced from package igraph, version 1.0.0, License: GPL (>= 2)*