% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/gmds_layout_interface.R
\name{edge.length.density.stiffness}
\alias{edge.length.density.stiffness}
\title{Construct edge-length stiffnesses for edge-isometric GMDS layouts}
\usage{
edge.length.density.stiffness(
  edge_weights,
  method = c("density", "uniform", "distance_power"),
  mix = 0,
  bandwidth = NULL,
  density_n = 512L,
  transform = c("identity", "sqrt", "log"),
  distance_power = 0,
  stiffness_floor = 0,
  stiffness_ceiling = Inf
)
}
\arguments{
\item{edge_weights}{Positive numeric edge lengths.}

\item{method}{Stiffness rule. `"density"` estimates an empirical density,
`"uniform"` returns equal stiffnesses, and `"distance_power"` uses
`(w / median(w))^distance_power`.}

\item{mix}{Continuation parameter in `[0, 1]`. `0` uses the selected method;
`1` returns uniform stiffness.}

\item{bandwidth}{Optional bandwidth passed to `stats::density()`.}

\item{density_n}{Number of evaluation points for `stats::density()`.}

\item{transform}{Optional transformation of the raw density/power signal
before mixing and normalization.}

\item{distance_power}{Exponent for `method = "distance_power"`.}

\item{stiffness_floor, stiffness_ceiling}{Optional clipping bounds applied
before the final mean-one normalization.}
}
\value{
A list with `stiffness`, raw signal diagnostics, estimated mode, and
  clipping/normalization metadata.
}
\description{
`edge.length.density.stiffness()` constructs stiffnesses for edge-only
geodesic-MDS layouts. It turns positive edge lengths into
spring stiffnesses normalized to mean one. The `"density"` method emphasizes
edge lengths near the empirical edge-length density mode, and `mix` provides
a continuation path from that density-weighted signal to uniform stiffness.
}
