% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/honem.R
\name{build_honem}
\alias{build_honem}
\title{Build HONEM Embeddings for Higher-Order Networks}
\usage{
build_honem(hon, dim = 32L, max_power = 10L)
}
\arguments{
\item{hon}{A \code{net_hon} object from \code{\link{build_hon}}, or a
square weighted adjacency matrix.}

\item{dim}{Integer. Embedding dimension (default 32).}

\item{max_power}{Integer. Maximum walk length for neighborhood computation
(default 10). Higher values capture longer-range structure.}
}
\value{
An object of class \code{net_honem} with components:
\describe{
\item{embeddings}{Numeric matrix (n_nodes x dim) of node embeddings.}
\item{nodes}{Character vector of node names.}
\item{singular_values}{Numeric vector of top singular values.}
\item{explained_variance}{Proportion of variance explained.}
\item{dim}{Embedding dimension used.}
\item{max_power}{Maximum power used.}
\item{n_nodes}{Number of nodes embedded.}
}
}
\description{
Constructs low-dimensional embeddings from a Higher-Order Network (HON)
that preserve higher-order dependencies. Uses exponentially-decaying matrix
powers of the HON transition matrix followed by truncated SVD.
}
\details{
HONEM is parameter-free and scalable — no random walks, skip-gram, or
hyperparameter tuning required.
}
\examples{
seqs <- list(c("A","B","C","D"), c("A","B","C","A"), c("B","C","D","A"))
hem <- build_honem(build_hon(seqs, max_order = 2), dim = 2)

\donttest{
trajs <- list(c("A","B","C","D"), c("A","B","D","C"),
              c("B","C","D","A"), c("C","D","A","B"))
hon <- build_hon(trajs, max_order = 2)
emb <- build_honem(hon, dim = 4)
print(emb)
plot(emb)
}

}
\references{
Saebi, M., Ciampaglia, G. L., Kazemzadeh, S., & Meyur, R. (2020).
HONEM: Learning Embedding for Higher Order Networks. \emph{Big Data},
8(4), 255–269.
}
