Computes the persistence landscape (Bubenik 2015) from a persistence diagram. Each (birth, death) pair contributes a tent function $$\Lambda_{(b,d)}(t) = \max(0, \min(t - b, d - t)).$$ The \(k\)-th landscape function \(\lambda^{(k)}(t)\) is the \(k\)-th largest of \(\{\Lambda_{(b_i,d_i)}(t)\}_i\) at each \(t\). Landscapes are stable under bottleneck distance and form a Banach-space embedding of persistence diagrams.
Essential classes are excluded: a tent function is undefined for an
infinitely-lived class on a finite grid, so pairs with
death = Inf (VR mode) and pairs with death = 0 but
birth > 0 (the clique-mode encoding of an essential class) are
dropped before the landscape is built. When no finite pair remains in
the requested dimension, every landscape function is zero on the grid.
Arguments
- ph
A
persistent_homologyobject or a data.frame with columnsdimension,birth,death.- k_max
Maximum landscape index to compute (default 5). Must be a single positive integer.
- dimension
Integer scalar – which homology dimension to compute the landscape for. Default 1.
- t_grid
Numeric vector of evaluation points.
NULL(default) uses an even grid of 200 points covering the union of pair intervals.- x
For the
print()andplot()methods: an object of classpersistence_landscape.- ...
In
plot.persistence_landscape()andprint.persistence_landscape(): Ignored.
Value
A persistence_landscape object with:
- landscape
Data frame:
k,t,value.- dimension
Integer scalar.
- k_max
Integer scalar.
- t_grid
Numeric vector.
In print.persistence_landscape(): The input, invisibly.
In plot.persistence_landscape(): A ggplot.