Skip to contents

Compute power-law weights with decay parameter d based on a matrix of neighbourhood orders nbmat (e.g., as obtained via nbOrder). Without normalization and truncation, this is just \(o^{-d}\) (where \(o\) is a neighbourhood order). This function is mainly used internally for W_powerlaw weights in hhh4 models.

Usage

zetaweights(nbmat, d = 1, maxlag = max(nbmat), normalize = FALSE)

Arguments

nbmat

numeric, symmetric matrix of neighbourhood orders.

d

single numeric decay parameter (default: 1). Should be positive.

maxlag

single numeric specifying an upper limit for the power law. For neighbourhood orders > maxlag, the resulting weight is 0. Defaults to no truncation.

normalize

Should the resulting weight matrix be normalized such that rows sum to 1?

Value

a numeric matrix with same dimensions and names as the input matrix.

Author

Sebastian Meyer

See also

Examples

nbmat <- matrix(c(0,1,2,2,
                  1,0,1,1,
                  2,1,0,2,
                  2,1,2,0), 4, 4, byrow=TRUE)
zetaweights(nbmat, d=1, normalize=FALSE) # harmonic: o^-1
zetaweights(nbmat, d=1, normalize=TRUE)  # rowSums=1
zetaweights(nbmat, maxlag=1, normalize=FALSE) # results in adjacency matrix