Skip to contents

Constructs all valid gradient flow cells from basin structures. A cell (m_i, M_j) exists if and only if M_j is reachable from m_i via ascending trajectories and m_i is reachable from M_j via descending trajectories.

Usage

# S3 method for class 'gradient.flow.cells'
identify(x, ...)

Arguments

x

Object of class "basins_of_attraction" with terminal extrema

...

Additional arguments (currently ignored).

Value

Data frame with columns:

  • min.vertex: Local minimum vertex (1-based)

  • max.vertex: Local maximum vertex (1-based)

  • min.value: Function value at minimum

  • max.value: Function value at maximum

  • cell.height: max.value - min.value (monotonicity span)

  • min.basin.size: Number of vertices in ascending basin

  • max.basin.size: Number of vertices in descending basin

  • cell.size: Number of vertices in cell intersection (computed separately)

Examples

if (FALSE) { # \dontrun{
basins <- compute.basins.of.attraction(adj.list, weight.list, y)
cells <- identify.gradient.flow.cells(basins)

# Find cells with largest monotonicity span
cells[order(-cells$cell.height), ]

# Find cells containing specific vertex
vertex.of.interest <- 42
cells[cells$min.vertex == vertex.of.interest | 
      cells$max.vertex == vertex.of.interest, ]
} # }