% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/WitnessComplex.R
\name{WitnessComplex}
\alias{WitnessComplex}
\title{Construct a Witness Complex}
\usage{
WitnessComplex(points, landmarks, epsilon, nu = 1)
}
\arguments{
\item{points}{A numeric matrix or data.frame of witness points \eqn{S},
one point per row.}

\item{landmarks}{Either an integer (the number of landmarks to select from
\code{points} via \code{\link{generate_landmarks}}, i.e. Farthest-Point
Sampling) or an integer vector of row indices into \code{points} to use
directly as landmarks \eqn{L}.}

\item{epsilon}{A non-negative numeric scale.}

\item{nu}{Landmark-distance parameter; defaults to \code{1}.}
}
\value{
A list with:
\describe{
  \item{network}{An \code{igraph} object: the 1-skeleton on the landmark
    vertex set.}
  \item{simplices}{A list of integer vectors (indices into \code{landmarks}
    / \code{landmark_indices}), each the vertices of a maximal simplex.}
  \item{landmarks}{The landmark coordinate matrix.}
  \item{landmark_indices}{Row indices into \code{points}, or \code{NULL}
    if \code{landmarks} was given as coordinates rather than indices.}
  \item{edge_birth}{A symmetric matrix giving, for every pair of
    landmarks, the exact scale at which their edge is witnessed (used by
    \code{\link{build_filtration}} to time every simplex exactly, rather
    than only checking membership at the single scale \code{epsilon}).}
}
}
\description{
Construct a Witness Complex
}
\examples{
points <- matrix(rnorm(200), ncol = 2)
witness_complex <- WitnessComplex(points, landmarks = 15, epsilon = 0.5)
}
