R igraph manual pages

Use this if you are using igraph from R

Stochastic matrix of a graph

Description

Retrieves the stochastic matrix of a graph of class igraph.

Usage

stochastic_matrix(
  graph,
  column.wise = FALSE,
  sparse = igraph_opt("sparsematrices")
)

Arguments

graph

The input graph. Must be of class igraph.

column.wise

If FALSE, then the rows of the stochastic matrix sum up to one; otherwise it is the columns.

sparse

Logical scalar, whether to return a sparse matrix. The Matrix package is needed for sparse matrices.

Details

Let M be an n x n adjacency matrix with real non-negative entries. Let us define D=diag( sum(M[1,i], i), ..., sum(M[n,i], i) )

The (row) stochastic matrix is defined as

W = inv(D) M,

where it is assumed that D is non-singular. Column stochastic matrices are defined in a symmetric way.

Value

A regular matrix or a matrix of class Matrix if a sparse argument was TRUE.

Author(s)

Gabor Csardi csardi.gabor@gmail.com

See Also

as_adj

Examples


library(Matrix)
## g is a large sparse graph
g <- sample_pa(n = 10^5, power = 2, directed = FALSE)
W <- stochastic_matrix(g, sparse=TRUE)

## a dense matrix here would probably not fit in the memory
class(W)

## may not be exactly 1, due to numerical errors
max(abs(rowSums(W))-1)


[Package igraph version 1.2.5 Index]