# 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

```
# NOT RUN {
g <- sample_gnp(20, 5/20)
constraint(g)
# }
```

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