larvaworld.lib.util.fitting

Functions

simplex() → float)

Nelder-Mead simplex optimization.

beta0(→ float)

Compute beta function used in DEB textbook (p.58).

critical_bout(→ int)

Stochastic bout duration with critical dynamics.

exp_bout(→ int)

Stochastic bout duration with exponential dynamics.

Module Contents

larvaworld.lib.util.fitting.simplex(func: Callable[Ellipsis, float], x0: float | numpy.ndarray, args: tuple[Any, Ellipsis] = ()) float

Nelder-Mead simplex optimization.

Minimizes function using Nelder-Mead algorithm with tight tolerance.

Args:

func: Function to minimize. x0: Initial parameter value(s). args: Additional arguments passed to func.

Returns:

Optimized parameter value.

Example:
>>> def cost(x): return (x - 3)**2
>>> result = simplex(cost, x0=0.0)
larvaworld.lib.util.fitting.beta0(x0: float, x1: float) float

Compute beta function used in DEB textbook (p.58).

Implements the beta function for Dynamic Energy Budget (DEB) modeling as defined in the DEB textbook, page 58.

Args:

x0: First parameter value x1: Second parameter value

Returns:

Real part of the computed beta function difference

Example:
>>> result = beta0(0.5, 1.0)
>>> isinstance(result, float)
True
larvaworld.lib.util.fitting.critical_bout(c: float = 0.9, sigma: float = 1, N: int = 1000, tmax: int = 1100, tmin: int = 1) int

Stochastic bout duration with critical dynamics.

Simulates behavioral bout durations using critical point dynamics with population size N and control parameters c, sigma.

Args:

c: Control parameter (default: 0.9). sigma: Noise parameter (default: 1). N: Population size (default: 1000). tmax: Maximum bout duration (default: 1100). tmin: Minimum bout duration (default: 1).

Returns:

Bout duration in timesteps.

Example:
>>> duration = critical_bout(c=0.9, sigma=1.0, N=1000)
larvaworld.lib.util.fitting.exp_bout(beta: float = 0.01, tmax: int = 1100, tmin: int = 1) int

Stochastic bout duration with exponential dynamics.

Simulates behavioral bout durations using exponential waiting time with rate parameter beta.

Args:

beta: Rate parameter for exponential process (default: 0.01). tmax: Maximum bout duration (default: 1100). tmin: Minimum bout duration (default: 1).

Returns:

Bout duration in timesteps.

Example:
>>> duration = exp_bout(beta=0.01, tmax=1000)