# Reference {.doc .doc-index}
## Parameter
Base class wrapping a JAX array for extra capabilities.
| | |
| --- | --- |
| [parameter.Parameter](parameter.Parameter.qmd#tvboptim.parameter.Parameter) | A minimal JAX-native parameter with full arithmetic support. |
| [types.equinox_parameter.EquinoxParameter](types.equinox_parameter.EquinoxParameter.qmd#tvboptim.types.equinox_parameter.EquinoxParameter) | Mark an Equinox module's inexact array leaves as trainable. |
| [parameter.NormalizedParameter](parameter.NormalizedParameter.qmd#tvboptim.parameter.NormalizedParameter) | Parameter rescaled by its own initial value, so its leaf starts at one. |
| [parameter.BoundedParameter](parameter.BoundedParameter.qmd#tvboptim.parameter.BoundedParameter) | Parameter with automatic bounds enforcement. |
| [parameter.TransformedParameter](parameter.TransformedParameter.qmd#tvboptim.parameter.TransformedParameter) | Parameter with custom forward and reverse transformations. |
| [parameter.SigmoidBoundedParameter](parameter.SigmoidBoundedParameter.qmd#tvboptim.parameter.SigmoidBoundedParameter) | Parameter with sigmoid-based bounds enforcement. |
| [parameter.LogPositiveParameter](parameter.LogPositiveParameter.qmd#tvboptim.parameter.LogPositiveParameter) | Parameter constrained to be positive using log transformation. |
| [parameter.LogNegativeParameter](parameter.LogNegativeParameter.qmd#tvboptim.parameter.LogNegativeParameter) | Parameter constrained to be negative using log transformation. |
| [parameter.MaskedParameter](parameter.MaskedParameter.qmd#tvboptim.parameter.MaskedParameter) | Parameter that keeps masked entries fixed at their initial values. |
## Spaces
A space is a collection of states that a function can be applied over.
| | |
| --- | --- |
| [spaces.Space](spaces.Space.qmd#tvboptim.spaces.Space) | Composable parameter space built from multiple axes. |
| [spaces.GridAxis](spaces.GridAxis.qmd#tvboptim.spaces.GridAxis) | Axis for systematic grid sampling over parameter bounds. |
| [spaces.LogGridAxis](spaces.LogGridAxis.qmd#tvboptim.spaces.LogGridAxis) | Axis for systematic logarithmic grid sampling over parameter bounds. |
| [spaces.UniformAxis](spaces.UniformAxis.qmd#tvboptim.spaces.UniformAxis) | Axis for uniform random sampling over parameter bounds. |
| [spaces.DataAxis](spaces.DataAxis.qmd#tvboptim.spaces.DataAxis) | Axis for sampling from predefined data values. |
## Executors & Results
Executors are used to apply a function over a state space.
| | |
| --- | --- |
| [execution.SequentialExecution](execution.SequentialExecution.qmd#tvboptim.execution.SequentialExecution) | Sequential execution of models across parameter spaces with progress tracking. |
| [execution.ParallelExecution](execution.ParallelExecution.qmd#tvboptim.execution.ParallelExecution) | Efficient parallel execution of models across parameter spaces using JAX. |
## Optimization
Everything needed to perform a gradient descent based optimization.
| | |
| --- | --- |
| [optim.OptaxOptimizer](optim.OptaxOptimizer.qmd#tvboptim.optim.OptaxOptimizer) | JAX-based parameter optimization using Optax optimizers with automatic differentiation. |
| [optim.callbacks](optim.callbacks.qmd#tvboptim.optim.callbacks) | |
## Utilities
Your little helpers.
| | |
| --- | --- |
| [utils.caching](utils.caching.qmd#tvboptim.utils.caching) | |
| [utils.utils](utils.utils.qmd#tvboptim.utils.utils) | |
| [types.stateutils](types.stateutils.qmd#tvboptim.types.stateutils) | |
## Observations (Experimental)
Regular temporal signals computed post-hoc or inside native solves
| | |
| --- | --- |
| [SampledMonitor](SampledMonitor.qmd#tvboptim.observations.SampledMonitor) | Per-sample recurrence sampled at completed period endpoints. |
| [StreamingMonitor](StreamingMonitor.qmd#tvboptim.observations.StreamingMonitor) | Optional base for monitors that run inside solver blocks. |
| [SimulationGrid](SimulationGrid.qmd#tvboptim.observations.SimulationGrid) | Describe the regular input grid presented to a temporal monitor. |
| [ObservationOutput](ObservationOutput.qmd#tvboptim.observations.ObservationOutput) | Describe one uniformly sampled observation output. |
| [PreparedObservation](PreparedObservation.qmd#tvboptim.observations.PreparedObservation) | Define a temporal monitor's block execution recipe. |
| [prepare_observation](prepare_observation.qmd#tvboptim.observations.prepare_observation) | Prepare a streaming monitor for block-wise execution. |
| [apply_observation](apply_observation.qmd#tvboptim.observations.apply_observation) | Apply a streaming monitor's recipe to a stored trajectory. |
| [sampling_stride](sampling_stride.qmd#tvboptim.observations.sampling_stride) | Validate a positive sampling period and return its integer stride. |
| [Identity](Identity.qmd#tvboptim.observations.Identity) | Preserve a stage's values, sampling grid, dtype, and channel names. |
| [JointObservation](JointObservation.qmd#tvboptim.observations.JointObservation) | Apply one optional shared stage followed by flat named branches. |
### Built-in temporal monitors
Sampling, averaging, and hemodynamic observations
| | |
| --- | --- |
| [SubSampling](SubSampling.qmd#tvboptim.observations.tvb_monitors.SubSampling) | Downsample timeseries by selecting every nth sample. |
| [TemporalAverage](TemporalAverage.qmd#tvboptim.observations.tvb_monitors.TemporalAverage) | Downsample timeseries by averaging over temporal windows. |
| [HRFBold](HRFBold.qmd#tvboptim.observations.tvb_monitors.HRFBold) | BOLD signal monitor using hemodynamic response function convolution. |
| [BalloonWindkesselBold](BalloonWindkesselBold.qmd#tvboptim.observations.tvb_monitors.BalloonWindkesselBold) | BOLD signal monitor using Balloon-Windkessel hemodynamic ODE. |
## Network Dynamics (Experimental)
JAX-based brain network modeling interface
| | |
| --- | --- |
| [Network](Network.qmd#tvboptim.experimental.network_dynamics.Network) | Unified network class for all equation types (ODE/DDE/SDE/SDDE). |
| [NodeGroup](NodeGroup.qmd#tvboptim.experimental.network_dynamics.NodeGroup) | Configure one static graph-node subset with group-local behavior. |
| [Readout](Readout.qmd#tvboptim.experimental.network_dynamics.Readout) | Wrap a readout callable with an explicit input declaration. |
| [GroupObservation](GroupObservation.qmd#tvboptim.experimental.network_dynamics.GroupObservation) | Project group variables of interest into common graph-order channels. |
| [SignalRoute](SignalRoute.qmd#tvboptim.experimental.network_dynamics.SignalRoute) | Describe one explicitly named signal transport over the shared graph. |
| [HeterogeneousNetwork](HeterogeneousNetwork.qmd#tvboptim.experimental.network_dynamics.HeterogeneousNetwork) | Compose different dynamics groups on one shared square graph. |
| [HeterogeneousSolution](HeterogeneousSolution.qmd#tvboptim.experimental.network_dynamics.HeterogeneousSolution) | Trajectories for named dynamics groups on one shared time grid. |
| [Bunch](Bunch.qmd#tvboptim.experimental.network_dynamics.Bunch) | Dictionary with attribute access for parameters. |
| [solve](solve.qmd#tvboptim.experimental.network_dynamics.solve) | Solving system for network architecture. |
| [prepare](prepare.qmd#tvboptim.experimental.network_dynamics.prepare) | Compile a model into a pure JAX solve function and a config PyTree. |
### Dynamics
Neural mass and population models
| | |
| --- | --- |
| [AbstractDynamics](AbstractDynamics.qmd#tvboptim.experimental.network_dynamics.dynamics.AbstractDynamics) | Abstract base class for neural dynamics models with multi-coupling support. |
| [Lorenz](Lorenz.qmd#tvboptim.experimental.network_dynamics.dynamics.Lorenz) | Lorenz chaotic dynamical system with multi-coupling support. |
| [tvb.Linear](tvb.Linear.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.Linear) | Linear neural mass model with damping. |
| [tvb.SupHopf](tvb.SupHopf.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.SupHopf) | Supercritical Hopf bifurcation oscillator. |
| [tvb.Generic2dOscillator](tvb.Generic2dOscillator.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.Generic2dOscillator) | Generic 2D oscillator with configurable nullclines. |
| [tvb.Kuramoto](tvb.Kuramoto.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.Kuramoto) | Kuramoto phase oscillator model. |
| [tvb.JansenRit](tvb.JansenRit.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.JansenRit) | Jansen-Rit neural mass model with multi-coupling support. |
| [tvb.ReducedWongWang](tvb.ReducedWongWang.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.ReducedWongWang) | Reduced Wong-Wang neural mass model with multi-coupling support. |
| [tvb.WongWangExcInh](tvb.WongWangExcInh.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.WongWangExcInh) | Wong-Wang neural mass model with excitatory and inhibitory populations. |
| [tvb.WilsonCowan](tvb.WilsonCowan.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.WilsonCowan) | Wilson-Cowan neural mass model with excitatory and inhibitory populations. |
| [tvb.MontbrioPazoRoxin](tvb.MontbrioPazoRoxin.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.MontbrioPazoRoxin) | Montbrio-Pazo-Roxin infinite theta neuron population model. |
| [tvb.CoombesByrne2D](tvb.CoombesByrne2D.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.CoombesByrne2D) | Coombes-Byrne 2D infinite theta neuron population model. |
| [tvb.LarterBreakspear](tvb.LarterBreakspear.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.LarterBreakspear) | Larter-Breakspear neural mass model. |
| [tvb.Epileptor](tvb.Epileptor.qmd#tvboptim.experimental.network_dynamics.dynamics.tvb.Epileptor) | Epileptor model for epileptic seizure dynamics. |
### Coupling
Inter-region coupling functions
| | |
| --- | --- |
| [AbstractCoupling](AbstractCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.AbstractCoupling) | Ultra-minimal interface for completely custom coupling implementations. |
| [LinearCoupling](LinearCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.LinearCoupling) | Simple linear coupling function. |
| [FastLinearCoupling](FastLinearCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.FastLinearCoupling) | Deprecated compatibility spelling for :class:`LinearCoupling`. |
| [DelayedLinearCoupling](DelayedLinearCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.DelayedLinearCoupling) | Linear coupling with transmission delays. |
| [DifferenceCoupling](DifferenceCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.DifferenceCoupling) | Diffusive coupling based on state differences. |
| [DelayedDifferenceCoupling](DelayedDifferenceCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.DelayedDifferenceCoupling) | Diffusive coupling with transmission delays. |
| [SigmoidalJansenRit](SigmoidalJansenRit.qmd#tvboptim.experimental.network_dynamics.coupling.SigmoidalJansenRit) | Sigmoidal Jansen-Rit coupling function. |
| [DelayedSigmoidalJansenRit](DelayedSigmoidalJansenRit.qmd#tvboptim.experimental.network_dynamics.coupling.DelayedSigmoidalJansenRit) | Sigmoidal Jansen-Rit coupling with transmission delays. |
| [SubspaceCoupling](SubspaceCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.SubspaceCoupling) | Coupling on regional subspace: aggregate nodes → couple regions → distribute. |
| [KuramotoCoupling](KuramotoCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.KuramotoCoupling) | Phase-difference coupling for Kuramoto oscillators (no delay). |
| [DelayedKuramotoCoupling](DelayedKuramotoCoupling.qmd#tvboptim.experimental.network_dynamics.coupling.DelayedKuramotoCoupling) | Phase-difference coupling for Kuramoto oscillators with transmission delays. |
### Graphs
Connectivity and topology
| | |
| --- | --- |
| [AbstractGraph](AbstractGraph.qmd#tvboptim.experimental.network_dynamics.graph.AbstractGraph) | Abstract base class for network topology representations. |
| [DenseGraph](DenseGraph.qmd#tvboptim.experimental.network_dynamics.graph.DenseGraph) | Dense graph representation. |
| [DenseDelayGraph](DenseDelayGraph.qmd#tvboptim.experimental.network_dynamics.graph.DenseDelayGraph) | Dense graph with transmission delays. |
| [DenseLengthGraph](DenseLengthGraph.qmd#tvboptim.experimental.network_dynamics.graph.DenseLengthGraph) | Dense delay graph whose delays are derived from tract lengths and speed. |
| [SparseGraph](SparseGraph.qmd#tvboptim.experimental.network_dynamics.graph.SparseGraph) | Sparse graph representation using JAX BCOO format. |
| [SparseDelayGraph](SparseDelayGraph.qmd#tvboptim.experimental.network_dynamics.graph.SparseDelayGraph) | Sparse graph with transmission delays. |
### Noise
Stochastic processes
| | |
| --- | --- |
| [AbstractNoise](AbstractNoise.qmd#tvboptim.experimental.network_dynamics.noise.AbstractNoise) | Base class for stochastic processes in neural networks. |
| [AdditiveNoise](AdditiveNoise.qmd#tvboptim.experimental.network_dynamics.noise.AdditiveNoise) | Additive Gaussian noise: sigma * dW_t. |
| [MultiplicativeNoise](MultiplicativeNoise.qmd#tvboptim.experimental.network_dynamics.noise.MultiplicativeNoise) | State-dependent multiplicative noise: sigma * (1 + alpha * \|state\|) * dW_t. |
### Solvers
Integration methods
| | |
| --- | --- |
| [AbstractSolver](AbstractSolver.qmd#tvboptim.experimental.network_dynamics.solvers.AbstractSolver) | Base class for all solver types. |
| [NativeSolver](NativeSolver.qmd#tvboptim.experimental.network_dynamics.solvers.NativeSolver) | Base class for Network Dynamics native solvers. |
| [DiffraxSolver](DiffraxSolver.qmd#tvboptim.experimental.network_dynamics.solvers.DiffraxSolver) | Wrapper for Diffrax solvers with advanced features. |
| [Euler](Euler.qmd#tvboptim.experimental.network_dynamics.solvers.Euler) | Euler method |
| [Heun](Heun.qmd#tvboptim.experimental.network_dynamics.solvers.Heun) | Heun's method (improved Euler). |
| [RungeKutta4](RungeKutta4.qmd#tvboptim.experimental.network_dynamics.solvers.RungeKutta4) | Classical 4th order Runge-Kutta method (RK4). |
| [BoundedSolver](BoundedSolver.qmd#tvboptim.experimental.network_dynamics.solvers.BoundedSolver) | Wrapper that enforces hard bounds on solver output via clipping. |
## Prepare
The unified interface for preparing experiments and networks for simulation
| | |
| --- | --- |
| [tvbo.prepare](tvbo.prepare.qmd#tvboptim.tvbo.prepare) | Resolve a TVBO experiment, importing TVBO on first use. |
## Analysis
Characterizing the dynamical regime
| | |
| --- | --- |
| [lyapunov](lyapunov.qmd#tvboptim.experimental.network_dynamics.analysis.lyapunov) | |
| [lyapunov_spectrum](lyapunov_spectrum.qmd#tvboptim.experimental.network_dynamics.analysis.lyapunov_spectrum) | Estimate the Lyapunov spectrum of a network. |
| [adiabatic_scan](adiabatic_scan.qmd#tvboptim.experimental.network_dynamics.analysis.adiabatic_scan) | Adiabatic parameter scan: a network bifurcation diagram. |
| [AdiabaticScanResult](AdiabaticScanResult.qmd#tvboptim.experimental.network_dynamics.analysis.AdiabaticScanResult) | Result of an :func:`adiabatic_scan`. |