% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/centrality.R
\name{centrality_hubbell}
\alias{centrality_hubbell}
\title{Hubbell Centrality}
\usage{
centrality_hubbell(x, hubbell_weight = 0.5, ...)
}
\arguments{
\item{x}{Network input (matrix, igraph, network, cograph_network, tna object).}

\item{hubbell_weight}{Attenuation factor \eqn{w}. Default 0.5. If
\eqn{w \cdot \rho(W) \ge 1}, the function returns \code{NA} with a warning.}

\item{...}{Additional arguments passed to \code{\link{centrality}}.}
}
\value{
Named numeric vector of Hubbell centrality values (or \code{NA} if
the system is not solvable).
}
\description{
Hubbell (1965) input-output centrality:
\eqn{C = (I - w W)^{-1} \mathbf{1}}, where \eqn{W} is the (weighted)
adjacency matrix and \eqn{w} is a weight factor that must satisfy
\eqn{w \cdot \rho(W) < 1} for the system to be solvable.
}
\details{
Bit-exact match against \code{centiserve::hubbell} when edge weights are
passed explicitly (cograph mirrors centiserve's full-inverse LAPACK call
path).
}
\section{Note on centiserve equivalence}{

\code{centiserve::hubbell(g, weights = NULL)} silently resets all edge
weights to 1, ignoring the graph's weight attribute. To reproduce cograph's
values with centiserve on a weighted graph, pass
\code{weights = igraph::E(g)$weight} explicitly.
}

\examples{
# Small weighted path graph; spectral radius permits weightfactor = 0.5
adj <- matrix(0, 4, 4)
adj[1,2] <- adj[2,1] <- adj[2,3] <- adj[3,2] <- adj[3,4] <- adj[4,3] <- 0.3
rownames(adj) <- colnames(adj) <- LETTERS[1:4]
centrality_hubbell(adj, hubbell_weight = 0.5)
}
\references{
Hubbell, C. H. (1965). An input-output approach to clique identification.
\emph{Sociometry}, 28(4), 377-399.
}
\seealso{
\code{\link{centrality}}, \code{\link{centrality_katz}}.
}
