R: Stochastic matrix of a graph

stochastic_matrix {igraph} | R Documentation

## 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.10 Index]