PerturbedLaplacian {invertiforms}R Documentation

Construct and use the Perturbed Laplacian

Description

Construct and use the Perturbed Laplacian

Usage

PerturbedLaplacian(A, tau = NULL)

## S4 method for signature 'PerturbedLaplacian,sparseMatrix'
transform(iform, A)

## S4 method for signature 'PerturbedLaplacian,sparseLRMatrix'
inverse_transform(iform, A)

Arguments

A

A matrix to transform.

tau

Additive regularizer for row and column sums of abs(A). Typically this corresponds to inflating the (absolute) out-degree and the (absolute) in-degree of each node by tau. Defaults to NULL, in which case we set tau to the mean value of abs(A).

iform

An Invertiform object describing the transformation.

Details

We define the perturbed Laplacian L^\tau(A) of an n \times n graph adjacency matrix A as

L^\tau(A)_{ij} = \frac{A_{ij} + \frac{\tau}{n}}{\sqrt{d^{out}_i + \tau} \sqrt{d^{in}_j + \tau}}

where

d^{out}_i = \sum_{j=1}^n \|A_{ij} \|

and

d^{in}_j = \sum_{i=1}^n \|A_{ij} \|.

When A_{ij} denotes the present of an edge from node i to node j, which is fairly standard notation, d^{out}_i denotes the (absolute) out-degree of node i and d^{in}_j denotes the (absolute) in-degree of node j.

Note that this documentation renders more clearly at https://rohelab.github.io/invertiforms/.

Value

Examples


library(igraph)
library(igraphdata)

data("karate", package = "igraphdata")

A <- get.adjacency(karate)

iform <- PerturbedLaplacian(A)

L <- transform(iform, A)
L

## Not run: 
A_recovered <- inverse_transform(iform, L)
all.equal(A, A_recovered)

## End(Not run)


[Package invertiforms version 0.1.1 Index]