jaxdem.analysis.bins#

Classes

BinSpec(T[, timestep])

Abstract bin specification.

LagBinsExact(T, taus, *[, cap, sample, ...])

Bins for a provided set of exact physical time lags (taus).

LagBinsLinear(T[, dt_min, dt_max, step, ...])

Linearly spaced lag bins between [dt_min, dt_max] on the timestep grid.

LagBinsLog(T[, dt_min, dt_max, num_bins, ...])

Log-spaced lag bins on the realizable timestep grid.

LagBinsPseudoLog(T[, dt_min, dt_max, ...])

Pseudo-log lag bins using digits * powers of ten on the timestep grid.

TimeBins(T[, t_min, t_max, timestep])

One bin per time index (optionally restricted to a timestep range).

class jaxdem.analysis.bins.BinSpec(T: int, timestep: ndarray | None = None)[source][source]#

Bases: object

Abstract bin specification.

Parameters:
  • T (int) – Number of frames (time steps).

  • timestep (np.ndarray or None, optional) – Physical timestep labels of shape (T,). If absent, defaults to np.arange(T).

num_bins() int[source][source]#
bins() Iterable[int][source][source]#
value_of_bin(b: int) int | float | Tuple[Any, ...][source][source]#
values() ndarray[source][source]#
weight(b: int) int[source][source]#

A cheap estimate of work for bin b (e.g., number of pairs).

iter_tuples(b: int) Iterator[List[int]][source][source]#

Yield index tuples (lists of ints) that belong to bin b.

class jaxdem.analysis.bins.TimeBins(T: int, t_min: int | None = None, t_max: int | None = None, *, timestep: ndarray | None = None)[source][source]#

Bases: BinSpec

One bin per time index (optionally restricted to a timestep range).

classmethod from_source(source: Any, t_min: int | None = None, t_max: int | None = None) TimeBins[source][source]#
num_bins() int[source][source]#
value_of_bin(b: int) int[source][source]#
weight(b: int) int[source][source]#

A cheap estimate of work for bin b (e.g., number of pairs).

iter_tuples(b: int) Iterator[List[int]][source][source]#

Yield index tuples (lists of ints) that belong to bin b.

class jaxdem.analysis.bins.LagBinsExact(T: int, taus: Sequence[int] | ndarray[Any, Any], *, cap: int | None = None, sample: str = 'stride', seed: int = 0, timestep: ndarray | None = None)[source][source]#

Bases: BinSpec

Bins for a provided set of exact physical time lags (taus).

classmethod from_source(source: Any, *args: Any, **kwargs: Any) LagBinsExact[source][source]#
num_bins() int[source][source]#
value_of_bin(b: int) int[source][source]#
weight(b: int) int[source][source]#

A cheap estimate of work for bin b (e.g., number of pairs).

iter_tuples(b: int) Iterator[List[int]][source][source]#

Yield index tuples (lists of ints) that belong to bin b.

class jaxdem.analysis.bins.LagBinsLinear(T: int, dt_min: int | None = None, dt_max: int | None = None, *, step: int = 1, num_points: int | None = None, cap: int | None = None, sample: str = 'stride', seed: int = 0, timestep: ndarray | None = None)[source][source]#

Bases: LagBinsExact

Linearly spaced lag bins between [dt_min, dt_max] on the timestep grid.

classmethod from_source(source: Any, *args: Any, **kwargs: Any) LagBinsLinear[source][source]#
class jaxdem.analysis.bins.LagBinsLog(T: int, dt_min: int | None = None, dt_max: int | None = None, *, num_bins: int | None = None, num_per_decade: int | None = None, cap: int | None = None, sample: str = 'stride', seed: int = 0, timestep: ndarray | None = None)[source][source]#

Bases: LagBinsExact

Log-spaced lag bins on the realizable timestep grid.

classmethod from_source(source: Any, *args: Any, **kwargs: Any) LagBinsLog[source][source]#
class jaxdem.analysis.bins.LagBinsPseudoLog(T: int, dt_min: int | None = None, dt_max: int | None = None, *, digits: Sequence[int] = (1, 2, 3, 4, 5, 6, 7, 8, 9), cap: int | None = None, sample: str = 'stride', seed: int = 0, timestep: ndarray | None = None)[source][source]#

Bases: LagBinsExact

Pseudo-log lag bins using digits * powers of ten on the timestep grid.

classmethod from_source(source: Any, *args: Any, **kwargs: Any) LagBinsPseudoLog[source][source]#