By Sinkhorn-Knopp theorem (on symmetric matrices):
Power exists, and the corresponding iterative method converges, if and only if the graph \(G_A\) associated with matrix \(A\) is regularizable.
The regularizability problem is equivalent to the following linear programming feasibility problem:
\[
\begin{array}{l}
B w = re \\
w \geq 1
\end{array}
\]
where:
- \(B\) is the incidence matrix of \(G_A\), that is, an \(n \times m\) matrix such that \(b_{i,l} = 1\) if \(i\) belongs to edge \(l\) and \(b_{i,l} = 0\) otherwise, with \(n\) and \(m\) the number of nodes and edges of the graph
- \(w\) is a vector of length \(m\) with edge weight variables
- \(r\) is a variable for the regularization degree.
Notice that this notion of incidence matrix for an arbitrary graph is different from the incidence matrix for a bipartite graph.
Let’s code a function that creates the incidence matrix of a graph.
library(igraph)
# create incidence matrix for a graph
make_incidence = function(g) {
n = vcount(g)
m = ecount(g)
# get edges as a matrix
E = ends(g, E(g))
B = matrix(0, nrow = n, ncol = m)
# build incidence matrix
for (i in 1:m) {
B[E[i,1], i] = 1
B[E[i,2], i] = 1
}
return(B)
}
g = make_star(4, mode = "undirected")
plot(g)

ends(g, E(g))
## [,1] [,2]
## [1,] 1 2
## [2,] 1 3
## [3,] 1 4
make_incidence(g)
## [,1] [,2] [,3]
## [1,] 1 1 1
## [2,] 1 0 0
## [3,] 0 1 0
## [4,] 0 0 1
The system \(B w = re\) is:
\[
\begin{array}{lcl}
w_1 + w_2 + w_3 = r \\
w_1 = r \\
w_2 = r \\
w_3 = r
\end{array}
\]
which boils down to \(3r = r\) and \(r > 0\), that is not possible.