!_TAG_EXTRA_DESCRIPTION	anonymous	/Include tags for non-named objects like lambda/
!_TAG_EXTRA_DESCRIPTION	fileScope	/Include tags of file scope/
!_TAG_EXTRA_DESCRIPTION	pseudo	/Include pseudo tags/
!_TAG_EXTRA_DESCRIPTION	subparser	/Include tags generated by subparsers/
!_TAG_FIELD_DESCRIPTION	epoch	/the last modified time of the input file (only for F\/file kind tag)/
!_TAG_FIELD_DESCRIPTION	file	/File-restricted scoping/
!_TAG_FIELD_DESCRIPTION	input	/input file/
!_TAG_FIELD_DESCRIPTION	name	/tag name/
!_TAG_FIELD_DESCRIPTION	pattern	/pattern/
!_TAG_FIELD_DESCRIPTION	typeref	/Type and name of a variable or typedef/
!_TAG_FIELD_DESCRIPTION!Python	nameref	/the original name for the tag/
!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
!_TAG_KIND_DESCRIPTION!JSON	a,array	/arrays/
!_TAG_KIND_DESCRIPTION!JSON	b,boolean	/booleans/
!_TAG_KIND_DESCRIPTION!JSON	n,number	/numbers/
!_TAG_KIND_DESCRIPTION!JSON	o,object	/objects/
!_TAG_KIND_DESCRIPTION!JSON	s,string	/strings/
!_TAG_KIND_DESCRIPTION!JSON	z,null	/nulls/
!_TAG_KIND_DESCRIPTION!Markdown	S,subsection	/level 2 sections/
!_TAG_KIND_DESCRIPTION!Markdown	T,l4subsection	/level 4 sections/
!_TAG_KIND_DESCRIPTION!Markdown	c,chapter	/chapters/
!_TAG_KIND_DESCRIPTION!Markdown	h,hashtag	/hashtags/
!_TAG_KIND_DESCRIPTION!Markdown	n,footnote	/footnotes/
!_TAG_KIND_DESCRIPTION!Markdown	s,section	/sections/
!_TAG_KIND_DESCRIPTION!Markdown	t,subsubsection	/level 3 sections/
!_TAG_KIND_DESCRIPTION!Markdown	u,l5subsection	/level 5 sections/
!_TAG_KIND_DESCRIPTION!Python	I,namespace	/name referring a module defined in other file/
!_TAG_KIND_DESCRIPTION!Python	Y,unknown	/name referring a class\/variable\/function\/module defined in other module/
!_TAG_KIND_DESCRIPTION!Python	c,class	/classes/
!_TAG_KIND_DESCRIPTION!Python	f,function	/functions/
!_TAG_KIND_DESCRIPTION!Python	i,module	/modules/
!_TAG_KIND_DESCRIPTION!Python	m,member	/class members/
!_TAG_KIND_DESCRIPTION!Python	v,variable	/variables/
!_TAG_KIND_DESCRIPTION!ReStructuredText	C,citation	/citations/
!_TAG_KIND_DESCRIPTION!ReStructuredText	H,title	/titles/
!_TAG_KIND_DESCRIPTION!ReStructuredText	S,subsection	/subsections/
!_TAG_KIND_DESCRIPTION!ReStructuredText	T,target	/targets/
!_TAG_KIND_DESCRIPTION!ReStructuredText	c,chapter	/chapters/
!_TAG_KIND_DESCRIPTION!ReStructuredText	d,substdef	/substitute definitions/
!_TAG_KIND_DESCRIPTION!ReStructuredText	h,subtitle	/sub titles/
!_TAG_KIND_DESCRIPTION!ReStructuredText	s,section	/sections/
!_TAG_KIND_DESCRIPTION!ReStructuredText	t,subsubsection	/subsubsections/
!_TAG_KIND_DESCRIPTION!Sh	a,alias	/aliases/
!_TAG_KIND_DESCRIPTION!Sh	f,function	/functions/
!_TAG_KIND_DESCRIPTION!Sh	h,heredoc	/label for here document/
!_TAG_KIND_DESCRIPTION!Sh	s,script	/script files/
!_TAG_KIND_DESCRIPTION!Vim	C,constant	/constant definitions/
!_TAG_KIND_DESCRIPTION!Vim	a,augroup	/autocommand groups/
!_TAG_KIND_DESCRIPTION!Vim	c,command	/user-defined commands/
!_TAG_KIND_DESCRIPTION!Vim	f,function	/function definitions/
!_TAG_KIND_DESCRIPTION!Vim	k,class	/vim9script classes/
!_TAG_KIND_DESCRIPTION!Vim	m,map	/maps/
!_TAG_KIND_DESCRIPTION!Vim	n,filename	/vimball filename/
!_TAG_KIND_DESCRIPTION!Vim	v,variable	/variable definitions/
!_TAG_KIND_DESCRIPTION!Yaml	a,anchor	/anchors/
!_TAG_OUTPUT_EXCMD	mixed	/number, pattern, mixed, or combineV2/
!_TAG_OUTPUT_FILESEP	slash	/slash or backslash/
!_TAG_OUTPUT_MODE	u-ctags	/u-ctags or e-ctags/
!_TAG_OUTPUT_VERSION	1.1	/current.age/
!_TAG_PARSER_VERSION!JSON	0.0	/current.age/
!_TAG_PARSER_VERSION!Markdown	1.1	/current.age/
!_TAG_PARSER_VERSION!Python	1.1	/current.age/
!_TAG_PARSER_VERSION!ReStructuredText	0.0	/current.age/
!_TAG_PARSER_VERSION!Sh	0.0	/current.age/
!_TAG_PARSER_VERSION!Vim	1.1	/current.age/
!_TAG_PARSER_VERSION!Yaml	0.0	/current.age/
!_TAG_PATTERN_LENGTH_LIMIT	96	/0 for no limit/
!_TAG_PROC_CWD	/home/andrew/projects/mugrowthctrl/	//
!_TAG_PROGRAM_AUTHOR	Universal Ctags Team	//
!_TAG_PROGRAM_NAME	Universal Ctags	/Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL	https://ctags.io/	/official site/
!_TAG_PROGRAM_VERSION	6.2.1	/v6.2.1/
!_TAG_ROLE_DESCRIPTION!Python!function	entryPoint	/specified as an entry point/
!_TAG_ROLE_DESCRIPTION!Python!module	entryPoint	/specified as a module of an entry point/
!_TAG_ROLE_DESCRIPTION!Python!module	imported	/imported modules/
!_TAG_ROLE_DESCRIPTION!Python!module	indirectlyImported	/module imported in alternative name/
!_TAG_ROLE_DESCRIPTION!Python!module	namespace	/namespace from where classes\/variables\/functions are imported/
!_TAG_ROLE_DESCRIPTION!Python!unknown	imported	/imported from the other module/
!_TAG_ROLE_DESCRIPTION!Python!unknown	indirectlyImported	/classes\/variables\/functions\/modules imported in alternative name/
!_TAG_ROLE_DESCRIPTION!Sh!heredoc	endmarker	/end marker/
!_TAG_ROLE_DESCRIPTION!Sh!script	loaded	/loaded/
!_TAG_ROLE_DESCRIPTION!Yaml!anchor	alias	/alias/
0	.python_tools.json	/^    "src"$/;"	s	array:paths
API Documentation	docs/control/base.rst	/^API Documentation$/;"	h	title:Advanced: Base Controller
API Documentation	docs/control/closed_loop.rst	/^API Documentation$/;"	c	title:Closed-Loop Controller
API Documentation	docs/control/open_loop.rst	/^API Documentation$/;"	c	title:Open-Loop Controller
API Documentation	docs/models/base_model.rst	/^API Documentation$/;"	c	title:Advanced: Base Model Class
API Documentation	docs/models/consumer_resource_model.rst	/^API Documentation$/;"	c	title:Consumer-Resource Model
API Documentation	docs/utilities/data_loader.rst	/^API Documentation$/;"	c	title:Data Loading
API Documentation	docs/utilities/saving.rst	/^API Documentation$/;"	h	title:Saving Data
Advanced: Base Controller	docs/control/base.rst	/^Advanced: Base Controller$/;"	H
Advanced: Base Model Class	docs/models/base_model.rst	/^Advanced: Base Model Class$/;"	H
ArrayBackend	src/mgrowthctrl/backends/array.py	/^class ArrayBackend(Protocol):$/;"	c
ArrayLike	src/mgrowthctrl/backends/array.py	/^ArrayLike: TypeAlias = Union[np.ndarray, "torch.Tensor", list, tuple, float, int]$/;"	v	typeref:typename:TypeAlias
ArrayLike	src/mgrowthctrl/models/crm/fit.py	/^ArrayLike = np.ndarray$/;"	v
Assumptions	docs/models/consumer_resource_model.rst	/^Assumptions$/;"	c	title:Consumer-Resource Model
BDF	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^class BDF(OdeSolver):$/;"	c
Backend API	docs/fitting/lsq.rst	/^Backend API$/;"	c	title:Least-Squares Fitting
Backend Selection	docs/models/base_model.rst	/^Backend Selection$/;"	c	title:Advanced: Base Model Class
Background	docs/fitting/lsq.rst	/^Background$/;"	c	title:Least-Squares Fitting
BaseController	src/mgrowthctrl/controllers/base.py	/^class BaseController(nn.Module, ABC):$/;"	c
BaseODEModel	src/mgrowthctrl/models/base.py	/^class BaseODEModel(ABC):$/;"	c
BdfDenseOutput	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^class BdfDenseOutput(DenseOutput):$/;"	c
CRModel	src/mgrowthctrl/models/crm/model.py	/^class CRModel(BaseODEModel):$/;"	c
CRModelParams	src/mgrowthctrl/models/crm/model.py	/^class CRModelParams:$/;"	c
Closed-Loop Controller	docs/control/closed_loop.rst	/^Closed-Loop Controller$/;"	H
ClosedLoopNeuralController	src/mgrowthctrl/controllers/closed_loop.py	/^class ClosedLoopNeuralController(BaseController):$/;"	c
Code Structure	README.md	/^## Code Structure$/;"	s	chapter:mgrowthctrl
ConstFunc	src/mgrowthctrl/models/crm/utils.py	/^        class ConstFunc:$/;"	c	function:_safe_pchip	file:
ConstantSInflowController	tests/test_base_controller.py	/^class ConstantSInflowController(BaseController):$/;"	c
Consumer-Resource Model	docs/models/consumer_resource_model.rst	/^Consumer-Resource Model$/;"	H
Controllers	README.md	/^### Controllers$/;"	S	section:mgrowthctrl""Features
DEFAULT_METHODS	src/mgrowthctrl/models/base.py	/^DEFAULT_METHODS = {$/;"	v
DEFAULT_ROOT_URL	src/mgrowthctrl/utils/data.py	/^DEFAULT_ROOT_URL = "https:\/\/mgrowthdb.gbiomed.kuleuven.be"$/;"	v
DType	src/mgrowthctrl/models/crm/model.py	/^DType = float | Callable[[float], float]$/;"	v
Data Loading	docs/utilities/data_loader.rst	/^Data Loading$/;"	H
Data export of study SMGDB00000011	examples/datasets/SMGDB00000011/README.md	/^# Data export of study SMGDB00000011$/;"	c
Dataloader	src/mgrowthctrl/utils/data.py	/^class Dataloader:$/;"	c
Dysbiotic synthetic gut community	examples/datasets/SMGDB00000011/README.md	/^## Dysbiotic synthetic gut community$/;"	s	chapter:Data export of study SMGDB00000011
Example	docs/control/closed_loop.rst	/^Example$/;"	c	title:Closed-Loop Controller
Example	docs/control/open_loop.rst	/^Example$/;"	c	title:Open-Loop Controller
Example	docs/fitting/lsq.rst	/^Example$/;"	c	title:Least-Squares Fitting
Example	docs/models/base_model.rst	/^Example$/;"	c	title:Advanced: Base Model Class
Example	docs/models/consumer_resource_model.rst	/^Example$/;"	c	title:Consumer-Resource Model
Example Usage	docs/index.rst	/^Example Usage$/;"	h	title:mgrowthctrl: Microbiome Growth Control
Exported experiments	examples/datasets/SMGDB00000011/README.md	/^## Exported experiments$/;"	s	chapter:Data export of study SMGDB00000011
Features	README.md	/^## Features$/;"	s	chapter:mgrowthctrl
FitContext	src/mgrowthctrl/models/crm/fit.py	/^class FitContext:$/;"	c
Fitting Backend	README.md	/^### Fitting Backend$/;"	S	section:mgrowthctrl""Features
Get Started	docs/intro/get_started.rst	/^Get Started$/;"	H
Initializing and Fitting a Model	docs/intro/get_started.rst	/^Initializing and Fitting a Model$/;"	c	title:Get Started
Least-Squares Fitting	docs/fitting/lsq.rst	/^Least-Squares Fitting$/;"	H
Loading Data	docs/intro/get_started.rst	/^Loading Data$/;"	c	title:Get Started
Loading from CSV	docs/utilities/data_loader.rst	/^Loading from CSV$/;"	c	title:Data Loading
Loading from mGrowthDB	docs/utilities/data_loader.rst	/^Loading from mGrowthDB$/;"	c	title:Data Loading
LossFunction	src/mgrowthctrl/controllers/base.py	/^LossFunction = Callable[$/;"	v
MAX_FACTOR	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^MAX_FACTOR = 10$/;"	v
MAX_ORDER	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^MAX_ORDER = 5$/;"	v
MCMC Diagnostics	docs/utilities/visualization.rst	/^MCMC Diagnostics$/;"	c	title:Visualization
MIN_FACTOR	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^MIN_FACTOR = 0.2$/;"	v
ModelNames	src/mgrowthctrl/models/base.py	/^class ModelNames:$/;"	c
Models	README.md	/^### Models$/;"	S	section:mgrowthctrl""Features
NEWTON_MAXITER	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^NEWTON_MAXITER = 4$/;"	v
NoOpController	tests/test_base_controller.py	/^class NoOpController(BaseController):$/;"	c
NumpyBackend	src/mgrowthctrl/backends/array.py	/^class NumpyBackend(ArrayBackend):$/;"	c
Open-Loop Controller	docs/control/open_loop.rst	/^Open-Loop Controller$/;"	H
OpenLoopNeuralController	src/mgrowthctrl/controllers/open_loop.py	/^class OpenLoopNeuralController(BaseController):$/;"	c
Overview	docs/models/base_model.rst	/^Overview$/;"	c	title:Advanced: Base Model Class
ParamsDict	src/mgrowthctrl/models/crm/model.py	/^ParamsDict = Dict[str, np.ndarray | DType]$/;"	v
Plotting	README.md	/^### Plotting$/;"	S	section:mgrowthctrl""Features
Plotting Data with Model Overlay	docs/utilities/visualization.rst	/^Plotting Data with Model Overlay$/;"	c	title:Visualization
References	docs/models/consumer_resource_model.rst	/^References$/;"	c	title:Consumer-Resource Model
Resource Dynamics	docs/models/consumer_resource_model.rst	/^Resource Dynamics$/;"	c	title:Consumer-Resource Model
SCIPY_AVAILABLE	src/mgrowthctrl/models/base.py	/^    SCIPY_AVAILABLE = False$/;"	v
SCIPY_AVAILABLE	src/mgrowthctrl/models/base.py	/^    SCIPY_AVAILABLE = True$/;"	v
S_err	src/mgrowthctrl/models/base.py	/^    S_err: List[str] = field(default_factory=list)$/;"	v	class:ModelNames	typeref:typename:List[str]
S_err_names	src/mgrowthctrl/utils/data.py	/^    def S_err_names(self):$/;"	m	class:Dataloader
S_names	src/mgrowthctrl/utils/data.py	/^    def S_names(self):$/;"	m	class:Dataloader
Saving Data	docs/utilities/saving.rst	/^Saving Data$/;"	H
SimulateFn	src/mgrowthctrl/models/crm/fit.py	/^SimulateFn = Callable[$/;"	v
Simulating Trajectories	docs/intro/get_started.rst	/^Simulating Trajectories$/;"	c	title:Get Started
Species Dynamics	docs/models/consumer_resource_model.rst	/^Species Dynamics$/;"	c	title:Consumer-Resource Model
TORCHDIFFEQ_AVAILABLE	src/mgrowthctrl/models/base.py	/^    TORCHDIFFEQ_AVAILABLE = False$/;"	v
TORCHDIFFEQ_AVAILABLE	src/mgrowthctrl/models/base.py	/^    TORCHDIFFEQ_AVAILABLE = True$/;"	v
TORCH_AVAILABLE	src/mgrowthctrl/backends/array.py	/^    TORCH_AVAILABLE = False$/;"	v
TORCH_AVAILABLE	src/mgrowthctrl/backends/array.py	/^    TORCH_AVAILABLE = True$/;"	v
TORCH_AVAILABLE	src/mgrowthctrl/models/base.py	/^    TORCH_AVAILABLE = False$/;"	v
TORCH_AVAILABLE	src/mgrowthctrl/models/base.py	/^    TORCH_AVAILABLE = True$/;"	v
TorchBackend	src/mgrowthctrl/backends/array.py	/^class TorchBackend(ArrayBackend):$/;"	c
Visualization	docs/intro/get_started.rst	/^Visualization$/;"	c	title:Get Started
Visualization	docs/utilities/visualization.rst	/^Visualization$/;"	H
X_err	src/mgrowthctrl/models/base.py	/^    X_err: List[str] = field(default_factory=list)$/;"	v	class:ModelNames	typeref:typename:List[str]
X_err_names	src/mgrowthctrl/utils/data.py	/^    def X_err_names(self):$/;"	m	class:Dataloader
X_names	src/mgrowthctrl/utils/data.py	/^    def X_names(self):$/;"	m	class:Dataloader
ZeroFunc	src/mgrowthctrl/models/crm/utils.py	/^        class ZeroFunc:$/;"	c	function:_safe_pchip	file:
_ARGUMENT	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_ARGUMENT = r'\\({}\\)'.format(_CORE_DIMENSION_LIST)$/;"	v
_ARGUMENT_LIST	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_ARGUMENT_LIST = '{0:}(?:,{0:})*'.format(_ARGUMENT)$/;"	v
_CORE_DIMENSION_LIST	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_CORE_DIMENSION_LIST = '(?:{0:}(?:,{0:})*)?'.format(_DIMENSION_NAME)$/;"	v
_DIMENSION_NAME	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_DIMENSION_NAME = r'\\w+'$/;"	v
_D_at	src/mgrowthctrl/models/crm/model.py	/^    def _D_at(self, t):$/;"	m	class:CRModel
_MET_ALIASES	src/mgrowthctrl/models/crm/utils.py	/^_MET_ALIASES = {$/;"	v
_QuantileMethods	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_QuantileMethods = dict($/;"	v
_SIGNATURE	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_SIGNATURE = '^{0:}->{0:}$'.format(_ARGUMENT_LIST)$/;"	v
__all__	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^__all__ = [$/;"	v
__all__	src/mgrowthctrl/backends/__init__.py	/^__all__ = [$/;"	v
__all__	src/mgrowthctrl/controllers/__init__.py	/^__all__ = [$/;"	v
__all__	src/mgrowthctrl/models/base.py	/^__all__ = [$/;"	v
__all__	src/mgrowthctrl/models/crm/utils.py	/^__all__ = [$/;"	v
__call__	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    def __call__(self, *args, **kwargs):$/;"	m	class:vectorize
__call__	src/mgrowthctrl/models/crm/utils.py	/^            def __call__(self, t):$/;"	m	class:_safe_pchip.ConstFunc
__call__	src/mgrowthctrl/models/crm/utils.py	/^            def __call__(self, t):$/;"	m	class:_safe_pchip.ZeroFunc
__call__	tests/test_base_controller.py	/^    def __call__(self, t, X, S, model):$/;"	m	class:ConstantSInflowController
__init__	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    def __init__(self, pyfunc=np._NoValue, otypes=None, doc=None,$/;"	m	class:vectorize
__init__	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^    def __init__(self, fun, t0, y0, t_bound, max_step=np.inf,$/;"	m	class:BDF
__init__	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^    def __init__(self, t_old, t, h, order, D):$/;"	m	class:BdfDenseOutput
__init__	src/mgrowthctrl/backends/array.py	/^    def __init__($/;"	m	class:TorchBackend
__init__	src/mgrowthctrl/controllers/base.py	/^    def __init__(self, criterion: LossFunction = None):$/;"	m	class:BaseController
__init__	src/mgrowthctrl/controllers/closed_loop.py	/^    def __init__($/;"	m	class:ClosedLoopNeuralController
__init__	src/mgrowthctrl/controllers/open_loop.py	/^    def __init__($/;"	m	class:OpenLoopNeuralController
__init__	src/mgrowthctrl/models/base.py	/^    def __init__($/;"	m	class:BaseODEModel
__init__	src/mgrowthctrl/models/crm/model.py	/^    def __init__($/;"	m	class:CRModel
__init__	src/mgrowthctrl/utils/data.py	/^    def __init__(self, root_url=DEFAULT_ROOT_URL, api_key=None):$/;"	m	class:Dataloader
__init__	tests/test_base_controller.py	/^    def __init__(self, u):$/;"	m	class:ConstantSInflowController
_angle_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _angle_dispatcher(z, deg=None):$/;"	f
_append_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _append_dispatcher(arr, values, axis=None):$/;"	f
_average_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _average_dispatcher(a, axis=None, weights=None, returned=None, *,$/;"	f
_broadcast_nm	src/mgrowthctrl/models/crm/utils.py	/^def _broadcast_nm(arr, n, m, fill=0.0):$/;"	f
_build_mlp	src/mgrowthctrl/controllers/base.py	/^    def _build_mlp($/;"	m	class:BaseController	typeref:typename:nn.Sequential
_calculate_shapes	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _calculate_shapes(broadcast_shape, dim_sizes, list_of_core_dims):$/;"	f
_call_as_normal	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    def _call_as_normal(self, *args, **kwargs):$/;"	m	class:vectorize
_call_impl	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^    def _call_impl(self, t):$/;"	m	class:BdfDenseOutput
_chbevl	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _chbevl(x, vals):$/;"	f
_check_interpolation_as_method	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _check_interpolation_as_method(method, interpolation, fname):$/;"	f
_closest_observation	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _closest_observation(n, quantiles):$/;"	f
_compute_virtual_index	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _compute_virtual_index(n, quantiles, alpha: float, beta: float):$/;"	f
_copy_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _copy_dispatcher(a, order=None, subok=None):$/;"	f
_corrcoef_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _corrcoef_dispatcher(x, y=None, rowvar=None, bias=None, ddof=None, *,$/;"	f
_cov_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _cov_dispatcher(m, y=None, rowvar=None, bias=None, ddof=None,$/;"	f
_create_arrays	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _create_arrays(broadcast_shape, dim_sizes, list_of_core_dims, dtypes,$/;"	f
_delete_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _delete_dispatcher(arr, obj, axis=None):$/;"	f
_dense_output_impl	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^    def _dense_output_impl(self):$/;"	m	class:BDF
_diff_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _diff_dispatcher(a, n=None, axis=None, prepend=None, append=None):$/;"	f
_digitize_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _digitize_dispatcher(x, bins, right=None):$/;"	f
_discret_interpolation_to_boundaries	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _discret_interpolation_to_boundaries(index, gamma_condition_fun):$/;"	f
_extract_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _extract_dispatcher(condition, arr):$/;"	f
_fake_trapz	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _fake_trapz(y, x=None, dx=1.0, axis=-1):$/;"	f
_fetch_bioreplicate_csv	src/mgrowthctrl/utils/data.py	/^def _fetch_bioreplicate_csv(br_id: int, root_url: str | None = None) -> pd.DataFrame:$/;"	f	typeref:typename:pd.DataFrame
_fetch_experiment_dataframe	src/mgrowthctrl/utils/data.py	/^def _fetch_experiment_dataframe($/;"	f	typeref:typename:tuple[pd.DataFrame,Sequence[str],Sequence[str]]
_first_finite_by_col	src/mgrowthctrl/models/crm/utils.py	/^def _first_finite_by_col(A, default=1.0):$/;"	f
_flip_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _flip_dispatcher(m, axis=None):$/;"	f
_func	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^                def _func(*vargs):$/;"	f	member:vectorize._get_ufunc_and_otypes	file:
_get_gamma	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _get_gamma(virtual_indexes, previous_indexes, method):$/;"	f
_get_gamma_mask	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _get_gamma_mask(shape, default_value, conditioned_value, where):$/;"	f
_get_indexes	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _get_indexes(arr, virtual_indexes, valid_values_count):$/;"	f
_get_json	src/mgrowthctrl/utils/data.py	/^def _get_json(url: str) -> dict:$/;"	f	typeref:typename:dict
_get_sim_data	src/mgrowthctrl/utils/plot.py	/^def _get_sim_data(sim_obj, key):$/;"	f
_get_ufunc_and_otypes	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    def _get_ufunc_and_otypes(self, func, args):$/;"	m	class:vectorize
_gradient_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _gradient_dispatcher(f, *varargs, axis=None, edge_order=None):$/;"	f
_i0A	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_i0A = [$/;"	v
_i0B	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^_i0B = [$/;"	v
_i0_1	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _i0_1(x):$/;"	f
_i0_2	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _i0_2(x):$/;"	f
_i0_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _i0_dispatcher(x):$/;"	f
_init_stage_2	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    def _init_stage_2(self, pyfunc, *args, **kwargs):$/;"	m	class:vectorize
_insert_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _insert_dispatcher(arr, obj, values, axis=None):$/;"	f
_interp_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _interp_dispatcher(x, xp, fp, left=None, right=None, period=None):$/;"	f
_inverted_cdf	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _inverted_cdf(n, quantiles):$/;"	f
_is_S	src/mgrowthctrl/utils/data.py	/^def _is_S(mc_meta: dict) -> bool:$/;"	f	typeref:typename:bool
_is_X	src/mgrowthctrl/utils/data.py	/^def _is_X(mc_meta: dict) -> bool:$/;"	f	typeref:typename:bool
_label_for	src/mgrowthctrl/utils/data.py	/^def _label_for(mc_meta: dict) -> str:$/;"	f	typeref:typename:str
_lerp	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _lerp(a, b, t, out=None):$/;"	f
_log_ode_rhs	src/mgrowthctrl/models/base.py	/^    def _log_ode_rhs(self, t, y, control_fn=None):$/;"	m	class:BaseODEModel
_match_err_selector	src/mgrowthctrl/utils/data.py	/^def _match_err_selector(col: str, sel: str | Callable[[str], str | None] | None = None) -> str |/;"	f	typeref:typename:str|None
_match_selector	src/mgrowthctrl/utils/data.py	/^def _match_selector(col: str, sel: str | Iterable[str] | Callable[[str], bool] | None = None) ->/;"	f	typeref:typename:bool
_median	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _median(a, axis=None, out=None, overwrite_input=False):$/;"	f
_median_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _median_dispatcher($/;"	f
_meshgrid_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _meshgrid_dispatcher(*xi, copy=None, sparse=None, indexing=None):$/;"	f
_met_idx_map	src/mgrowthctrl/models/crm/utils.py	/^def _met_idx_map(s_cols):$/;"	f
_msort_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _msort_dispatcher(a):$/;"	f
_nonneg_pchip	src/mgrowthctrl/utils/plot.py	/^def _nonneg_pchip(x, y):$/;"	f
_norm	src/mgrowthctrl/models/crm/utils.py	/^def _norm(s):$/;"	f
_nx	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^import numpy.core.numeric as _nx$/;"	I	nameref:module:numpy.core.numeric
_ode_rhs	src/mgrowthctrl/models/base.py	/^    def _ode_rhs(self, t, y, control_fn=None):$/;"	m	class:BaseODEModel
_parse_gufunc_signature	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _parse_gufunc_signature(signature):$/;"	f
_parse_input_dimensions	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _parse_input_dimensions(args, input_core_dims):$/;"	f
_percentile_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _percentile_dispatcher(a, q, axis=None, out=None, overwrite_input=None,$/;"	f
_piecewise_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _piecewise_dispatcher(x, condlist, funclist, *args, **kw):$/;"	f
_place_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _place_dispatcher(arr, mask, vals):$/;"	f
_present_species_multi	src/mgrowthctrl/models/crm/utils.py	/^def _present_species_multi(x_cols):$/;"	f
_quantile	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _quantile($/;"	f
_quantile_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _quantile_dispatcher(a, q, axis=None, out=None, overwrite_input=None,$/;"	f
_quantile_is_valid	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _quantile_is_valid(q):$/;"	f
_quantile_unchecked	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _quantile_unchecked(a,$/;"	f
_quantile_ureduce_func	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _quantile_ureduce_func($/;"	f	typeref:typename:np.array
_resolve_fit_args	src/mgrowthctrl/models/crm/model.py	/^    def _resolve_fit_args(self, df, time_col, x_cols, s_cols):$/;"	m	class:CRModel
_resolve_indices	src/mgrowthctrl/controllers/base.py	/^    def _resolve_indices($/;"	m	class:BaseController
_rot90_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _rot90_dispatcher(m, k=None, axes=None):$/;"	f
_safe_pchip	src/mgrowthctrl/models/crm/utils.py	/^def _safe_pchip(x, y):$/;"	f
_scatter_to_state	src/mgrowthctrl/controllers/base.py	/^    def _scatter_to_state($/;"	m	class:BaseController	typeref:typename:Tuple[torch.Tensor,torch.Tensor]
_select_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _select_dispatcher(condlist, choicelist, default=None):$/;"	f
_set_params_from_dict	src/mgrowthctrl/models/crm/model.py	/^    def _set_params_from_dict(self, p: Dict[str, Any]) -> None:$/;"	m	class:CRModel	typeref:typename:None
_simulate_fn	src/mgrowthctrl/models/crm/model.py	/^    def _simulate_fn($/;"	m	class:CRModel	typeref:typename:Dict[str,np.ndarray]
_sinc_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _sinc_dispatcher(x):$/;"	f
_sort_complex	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _sort_complex(a):$/;"	f
_split_XS	tests/test_base_controller.py	/^def _split_XS(model: BaseODEModel, y):$/;"	f
_split_state	src/mgrowthctrl/models/base.py	/^    def _split_state(self, y):$/;"	m	class:BaseODEModel
_step_impl	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^    def _step_impl(self):$/;"	m	class:BDF
_trapz_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _trapz_dispatcher(y, x=None, dx=None, axis=None):$/;"	f
_trim_zeros	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _trim_zeros(filt, trim=None):$/;"	f
_unwrap_dispatcher	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _unwrap_dispatcher(p, discont=None, axis=None, *, period=None):$/;"	f
_update_dim_sizes	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _update_dim_sizes(dim_sizes, arg, core_dims):$/;"	f
_ureduce	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def _ureduce(a, func, keepdims=False, **kwargs):$/;"	f
_validate_jac	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^    def _validate_jac(self, jac, sparsity):$/;"	m	class:BDF
_vectorize_call	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    def _vectorize_call(self, func, args):$/;"	m	class:vectorize
_vectorize_call_with_signature	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    def _vectorize_call_with_signature(self, func, args):$/;"	m	class:vectorize
add_newdoc_ufunc	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^from numpy.core.umath import _add_newdoc_ufunc as add_newdoc_ufunc$/;"	Y	nameref:unknown:_add_newdoc_ufunc
angle	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def angle(z, deg=False):$/;"	f
append	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def append(arr, values, axis=None):$/;"	f
array_function_dispatch	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^array_function_dispatch = functools.partial($/;"	v
as_array	src/mgrowthctrl/backends/array.py	/^    def as_array(self, x: ArrayLike) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
as_array	src/mgrowthctrl/backends/array.py	/^    def as_array(self, x: ArrayLike) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
as_array	src/mgrowthctrl/backends/array.py	/^    def as_array(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
as_dict	src/mgrowthctrl/models/crm/model.py	/^    def as_dict(self) -> ParamsDict:$/;"	m	class:CRModelParams	typeref:typename:ParamsDict
asarray_chkfinite	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def asarray_chkfinite(a, dtype=None, order=None):$/;"	f
average	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def average(a, axis=None, weights=None, returned=False, *,$/;"	f
backend	scripts/doc_examples/intro/get_started.py	/^backend = TorchBackend(device="cpu")$/;"	v
bartlett	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def bartlett(M):$/;"	f
blackman	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def blackman(M):$/;"	f
build_mech_masks_single	src/mgrowthctrl/models/crm/utils.py	/^def build_mech_masks_single(s_cols, x_col_name=None):$/;"	f
build_splines_single	src/mgrowthctrl/models/crm/utils.py	/^def build_splines_single(time, X, S_mat):$/;"	f
change_D	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^def change_D(D, order, factor):$/;"	f
clip	src/mgrowthctrl/backends/array.py	/^    def clip($/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
clip	src/mgrowthctrl/backends/array.py	/^    def clip($/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
clip	src/mgrowthctrl/backends/array.py	/^    def clip($/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
code_dir	scripts/extract_doc_examples.py	/^code_dir = Path('scripts\/doc_examples')$/;"	v
code_indent	scripts/extract_doc_examples.py	/^code_indent = ' ' * 4$/;"	v
code_path	scripts/extract_doc_examples.py	/^    code_path = code_dir \/ Path(rst_path.replace('docs\/', '')).with_suffix('.py')$/;"	v
compiled_interp	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    interp as compiled_interp, interp_complex as compiled_interp_complex$/;"	Y	nameref:unknown:interp
compiled_interp_complex	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    interp as compiled_interp, interp_complex as compiled_interp_complex$/;"	Y	nameref:unknown:interp_complex
compute_R	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^def compute_R(order, factor):$/;"	f
compute_loss	src/mgrowthctrl/controllers/base.py	/^    def compute_loss($/;"	m	class:BaseController	typeref:typename:Tuple[torch.Tensor,Any]
compute_percentile_band	src/mgrowthctrl/utils/plot.py	/^    def compute_percentile_band(sims, key, col, t_grid, p_lo, p_hi):$/;"	f	function:plot_data_with_overlay	file:
compute_rhs	src/mgrowthctrl/models/base.py	/^    def compute_rhs(self, t, X, S):$/;"	m	class:BaseODEModel
compute_rhs	src/mgrowthctrl/models/crm/model.py	/^    def compute_rhs(self, t, X, S):$/;"	m	class:CRModel
concat0	src/mgrowthctrl/backends/array.py	/^    def concat0(self, parts: Iterable[ArrayLike]) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
concat0	src/mgrowthctrl/backends/array.py	/^    def concat0(self, parts: Iterable[ArrayLike]) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
concat0	src/mgrowthctrl/backends/array.py	/^    def concat0(self, parts: Iterable[ArrayLike]) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
control_rhs	src/mgrowthctrl/models/base.py	/^    def control_rhs(self, t, X, S):$/;"	m	class:BaseODEModel
control_wrapper	src/mgrowthctrl/controllers/base.py	/^        def control_wrapper(t, X, S):$/;"	f	member:BaseController.fit	file:
control_wrapper	src/mgrowthctrl/controllers/base.py	/^        def control_wrapper(t, X, S):$/;"	f	member:BaseController.simulate	file:
copy	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def copy(a, order='K', subok=False):$/;"	f
corrcoef	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def corrcoef(x, y=None, rowvar=True, bias=np._NoValue, ddof=np._NoValue, *,$/;"	f
cov	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None,$/;"	f
crm_fit_mcmc	src/mgrowthctrl/models/crm/fit.py	/^def crm_fit_mcmc($/;"	f
crm_fit_mcmc_from_df	src/mgrowthctrl/models/crm/fit.py	/^def crm_fit_mcmc_from_df($/;"	f
crm_fit_mechanistic	src/mgrowthctrl/models/crm/fit.py	/^def crm_fit_mechanistic($/;"	f
crm_setup	tests/test_models.py	/^def crm_setup():$/;"	f
data	get_std_data.py	/^data = Dataloader()$/;"	v
data	plot_test.py	/^data = Dataloader()$/;"	v
data	run_plot_example.py	/^data = Dataloader()$/;"	v
data	scripts/doc_examples/intro/get_started.py	/^data = Dataloader()$/;"	v
delete	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def delete(arr, obj, axis=None):$/;"	f
derivative	src/mgrowthctrl/models/crm/utils.py	/^            def derivative(self, n=1):$/;"	m	class:_safe_pchip.ConstFunc
derivative	src/mgrowthctrl/models/crm/utils.py	/^            def derivative(self, n=1):$/;"	m	class:_safe_pchip.ZeroFunc
detach_to_numpy	src/mgrowthctrl/backends/array.py	/^    def detach_to_numpy(self, x: ArrayLike) -> np.ndarray: ...$/;"	m	class:ArrayBackend	typeref:typename:np.ndarray
detach_to_numpy	src/mgrowthctrl/backends/array.py	/^    def detach_to_numpy(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
detach_to_numpy	src/mgrowthctrl/backends/array.py	/^    def detach_to_numpy(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:TorchBackend	typeref:typename:np.ndarray
diff	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def diff(a, n=1, axis=-1, prepend=np._NoValue, append=np._NoValue):$/;"	f
digitize	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def digitize(x, bins, right=False):$/;"	f
disp	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def disp(mesg, device=None, linefeed=True):$/;"	f
draw_panel	src/mgrowthctrl/utils/plot.py	/^    def draw_panel($/;"	f	function:plot_data_with_overlay	file:
end_time	src/mgrowthctrl/utils/data.py	/^    def end_time(self) -> float:$/;"	m	class:Dataloader	typeref:typename:float
ensure_1d	src/mgrowthctrl/backends/array.py	/^    def ensure_1d(self, x: ArrayLike) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
ensure_1d	src/mgrowthctrl/backends/array.py	/^    def ensure_1d(self, x: ArrayLike) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
ensure_1d	src/mgrowthctrl/backends/array.py	/^    def ensure_1d(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
estimate_b_init	src/mgrowthctrl/models/crm/utils.py	/^def estimate_b_init(t_eval, X_spl, dS_spl, b_mask, mask_early, m, eps=1e-9):$/;"	f
estimate_k_log_slope	src/mgrowthctrl/models/crm/utils.py	/^def estimate_k_log_slope(t_eval, X_spl, mask_late, eps=1e-9, k_floor=1e-6):$/;"	f
evaluate	src/mgrowthctrl/models/base.py	/^    def evaluate($/;"	m	class:BaseODEModel	typeref:typename:float
exp	src/mgrowthctrl/backends/array.py	/^    def exp(self, x: ArrayLike) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
exp	src/mgrowthctrl/backends/array.py	/^    def exp(self, x: ArrayLike) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
exp	src/mgrowthctrl/backends/array.py	/^    def exp(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
extract	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def extract(condition, arr):$/;"	f
find	src/mgrowthctrl/models/crm/utils.py	/^    def find(*keys):$/;"	f	function:_present_species_multi	file:
find_any	src/mgrowthctrl/models/crm/utils.py	/^    def find_any(names):$/;"	f	function:_met_idx_map	file:
fit	src/mgrowthctrl/controllers/base.py	/^    def fit($/;"	m	class:BaseController
fit	src/mgrowthctrl/models/crm/model.py	/^    def fit($/;"	m	class:CRModel	typeref:typename:"CRModel"
fit_least_squares	src/mgrowthctrl/models/crm/model.py	/^    def fit_least_squares($/;"	m	class:CRModel
fit_mcmc	src/mgrowthctrl/models/crm/model.py	/^    def fit_mcmc($/;"	m	class:CRModel
flip	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def flip(m, axis=None):$/;"	f
forward	src/mgrowthctrl/controllers/base.py	/^    def forward($/;"	m	class:BaseController	typeref:typename:Tuple[torch.Tensor,torch.Tensor]
forward	src/mgrowthctrl/controllers/closed_loop.py	/^    def forward($/;"	m	class:ClosedLoopNeuralController	typeref:typename:Tuple[torch.Tensor,torch.Tensor]
forward	src/mgrowthctrl/controllers/open_loop.py	/^    def forward($/;"	m	class:OpenLoopNeuralController	typeref:typename:Tuple[torch.Tensor,torch.Tensor]
forward	tests/test_base_controller.py	/^    def forward(self, model, t, X, S):$/;"	m	class:ConstantSInflowController
forward	tests/test_base_controller.py	/^    def forward(self, model, t, X, S):$/;"	m	class:NoOpController
from_dict	src/mgrowthctrl/models/crm/model.py	/^    def from_dict($/;"	m	class:CRModel	typeref:typename:"CRModel"
from_shapes	src/mgrowthctrl/models/crm/model.py	/^    def from_shapes($/;"	m	class:CRModelParams	typeref:typename:"CRModelParams"
from_single_species_data	src/mgrowthctrl/models/crm/model.py	/^    def from_single_species_data($/;"	m	class:CRModel	typeref:typename:"CRModel"
func	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^            def func(*vargs):$/;"	f	member:vectorize._call_as_normal	file:
gamma_fun	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    gamma_fun = lambda gamma, _: (gamma == 0)$/;"	f	function:_inverted_cdf	file:
gamma_fun	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^    gamma_fun = lambda gamma, index: (gamma == 0) & (np.floor(index) % 2 == 0)$/;"	f	function:_closest_observation	file:
get_arr	src/mgrowthctrl/utils/save.py	/^    def get_arr(obj, key):$/;"	f	function:save_simulation_results	file:
get_input_history	src/mgrowthctrl/controllers/base.py	/^    def get_input_history($/;"	m	class:BaseController	typeref:typename:torch.Tensor
get_input_history	src/mgrowthctrl/controllers/closed_loop.py	/^    def get_input_history($/;"	m	class:ClosedLoopNeuralController	typeref:typename:torch.Tensor
get_input_history	src/mgrowthctrl/controllers/open_loop.py	/^    def get_input_history($/;"	m	class:OpenLoopNeuralController	typeref:typename:torch.Tensor
get_input_history	tests/test_base_controller.py	/^    def get_input_history(self, trajectory, model):$/;"	m	class:ConstantSInflowController
get_input_history	tests/test_base_controller.py	/^    def get_input_history(self, trajectory, model):$/;"	m	class:NoOpController
get_params	src/mgrowthctrl/models/crm/model.py	/^    def get_params(self) -> CRModelParams:$/;"	m	class:CRModel	typeref:typename:CRModelParams
gradient	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def gradient(f, *varargs, axis=None, edge_order=1):$/;"	f
hamming	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def hamming(M):$/;"	f
hanning	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def hanning(M):$/;"	f
has_any_code	scripts/extract_doc_examples.py	/^                has_any_code = True$/;"	v
has_any_code	scripts/extract_doc_examples.py	/^    has_any_code = False$/;"	v
has_scipy	tests/conftest.py	/^def has_scipy():$/;"	f
has_torch_and_torchdiffeq	tests/conftest.py	/^def has_torch_and_torchdiffeq():$/;"	f
i0	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def i0(x):$/;"	f
in_code_block	scripts/extract_doc_examples.py	/^                in_code_block = False$/;"	v
in_code_block	scripts/extract_doc_examples.py	/^                in_code_block = True$/;"	v
in_code_block	scripts/extract_doc_examples.py	/^    in_code_block = False$/;"	v
init_params_single_species	src/mgrowthctrl/models/crm/utils.py	/^def init_params_single_species($/;"	f
init_ra_crude	src/mgrowthctrl/models/crm/utils.py	/^def init_ra_crude($/;"	f
insert	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def insert(arr, obj, values, axis=None):$/;"	f
interp	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def interp(x, xp, fp, left=None, right=None, period=None):$/;"	f
iterable	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def iterable(y):$/;"	f
jac_wrapped	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^                def jac_wrapped(t, y):$/;"	f	member:BDF._validate_jac	file:
jac_wrapped	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^            def jac_wrapped(t, y):$/;"	f	member:BDF._validate_jac	file:
kaiser	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def kaiser(M, beta):$/;"	f
keep_fc	tests/test_dataloader.py	/^        keep_fc = lambda mc: mc['techniqueType'] == 'fc'$/;"	f	function:test_loading_remote_data_with_an_average_bioreplicate	file:
keep_od	tests/test_dataloader.py	/^        keep_od = lambda mc: mc['techniqueType'] == 'od'$/;"	f	function:test_loading_remote_data_with_an_average_bioreplicate	file:
line	scripts/extract_doc_examples.py	/^            line = line.rstrip()$/;"	v
load_local_data	src/mgrowthctrl/utils/data.py	/^    def load_local_data($/;"	m	class:Dataloader
load_remote_experiment	src/mgrowthctrl/utils/data.py	/^    def load_remote_experiment($/;"	m	class:Dataloader
log	src/mgrowthctrl/backends/array.py	/^    def log(self, x: ArrayLike) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
log	src/mgrowthctrl/backends/array.py	/^    def log(self, x: ArrayLike) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
log	src/mgrowthctrl/backends/array.py	/^    def log(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
lu	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^            def lu(A):$/;"	f	member:BDF.__init__	file:
mGrowthDB	docs/index.rst	/^.. _mGrowthDB: https:\/\/mgrowthdb.gbiomed.kuleuven.be\/$/;"	T	title:mgrowthctrl: Microbiome Growth Control
mGrowthDB	docs/utilities/data_loader.rst	/^.. _mGrowthDB: https:\/\/mgrowthdb.gbiomed.kuleuven.be\/$/;"	T	title:Data Loading
make_mcmc_primitives	src/mgrowthctrl/models/crm/fit.py	/^def make_mcmc_primitives(ctx: FitContext, theta0: np.ndarray):$/;"	f
make_time_windows	src/mgrowthctrl/models/crm/utils.py	/^def make_time_windows(time, t_early=None, t_late=None, n_spline_points=400):$/;"	f
mechanistic_masks	src/mgrowthctrl/models/crm/utils.py	/^def mechanistic_masks(s_cols, x_cols):$/;"	f
median	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def median(a, axis=None, out=None, overwrite_input=False, keepdims=False):$/;"	f
meshgrid	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def meshgrid(*xi, copy=True, sparse=False, indexing='xy'):$/;"	f
mgrowthctrl	README.md	/^# mgrowthctrl$/;"	c
mgrowthctrl: Microbiome Growth Control	docs/index.rst	/^mgrowthctrl: Microbiome Growth Control$/;"	H
model	plot_test.py	/^model = CRModel.from_single_species_data($/;"	v
model	run_plot_example.py	/^model = CRModel.from_single_species_data($/;"	v
model	scripts/doc_examples/intro/get_started.py	/^model = CRModel.from_single_species_data($/;"	v
model_numpy	tests/conftest.py	/^def model_numpy():$/;"	f
model_torch	tests/conftest.py	/^def model_torch():$/;"	f
msort	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def msort(a):$/;"	f
np	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	plot_test.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	run_plot_example.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	scripts/doc_examples/intro/get_started.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/backends/array.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/controllers/base.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/models/base.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/models/crm/fit.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/models/crm/model.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/models/crm/utils.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/utils/data.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/utils/plot.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	src/mgrowthctrl/utils/save.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	tests/conftest.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	tests/test_base_controller.py	/^import numpy as np$/;"	I	nameref:module:numpy
np	tests/test_models.py	/^import numpy as np$/;"	I	nameref:module:numpy
out_lines	scripts/extract_doc_examples.py	/^    out_lines = []$/;"	v
pack	src/mgrowthctrl/models/crm/fit.py	/^    def pack($/;"	m	class:FitContext	typeref:typename:np.ndarray
params_from_theta	src/mgrowthctrl/models/crm/fit.py	/^    def params_from_theta(self, theta: np.ndarray) -> Dict[str, np.ndarray]:$/;"	m	class:FitContext	typeref:typename:Dict[str,np.ndarray]
paths	.python_tools.json	/^  "paths": [$/;"	a
pd	src/mgrowthctrl/models/crm/model.py	/^import pandas as pd$/;"	I	nameref:module:pandas
pd	src/mgrowthctrl/utils/data.py	/^import pandas as pd$/;"	I	nameref:module:pandas
pd	src/mgrowthctrl/utils/plot.py	/^import pandas as pd$/;"	I	nameref:module:pandas
pd	src/mgrowthctrl/utils/save.py	/^import pandas as pd$/;"	I	nameref:module:pandas
pd	tests/test_dataloader.py	/^import pandas as pd$/;"	I	nameref:module:pandas
percentile	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def percentile(a,$/;"	f
piecewise	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def piecewise(x, condlist, funclist, *args, **kw):$/;"	f
place	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def place(arr, mask, vals):$/;"	f
plot_data_with_overlay	src/mgrowthctrl/utils/plot.py	/^def plot_data_with_overlay($/;"	f
plot_mcmc_error_evolution	src/mgrowthctrl/utils/plot.py	/^def plot_mcmc_error_evolution(sschain, save_prefix=None):$/;"	f
plot_parameter_distributions	src/mgrowthctrl/utils/plot.py	/^def plot_parameter_distributions($/;"	f
plt	src/mgrowthctrl/utils/plot.py	/^import matplotlib.pyplot as plt$/;"	I	nameref:module:matplotlib.pyplot
posterior_from_chain	src/mgrowthctrl/models/crm/fit.py	/^def posterior_from_chain(chain: np.ndarray, burn: float = 0.3) -> np.ndarray:$/;"	f	typeref:typename:np.ndarray
predict	src/mgrowthctrl/models/base.py	/^    def predict($/;"	m	class:BaseODEModel	typeref:typename:SimpleNamespace
predict_u	src/mgrowthctrl/controllers/base.py	/^    def predict_u(self, t, X, S, model) -> torch.Tensor:$/;"	m	class:BaseController	typeref:typename:torch.Tensor
prepare_fit_context	src/mgrowthctrl/models/crm/fit.py	/^def prepare_fit_context($/;"	f	typeref:typename:Tuple[FitContext,np.ndarray,np.ndarray,np.ndarray]
push_remote_data	src/mgrowthctrl/utils/data.py	/^    def push_remote_data(self, label, df, value_col_index=1):$/;"	m	class:Dataloader
pytest cache directory	.pytest_cache/README.md	/^# pytest cache directory #$/;"	c
quantile	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def quantile(a,$/;"	f
residuals	src/mgrowthctrl/models/crm/fit.py	/^    def residuals(self, theta: np.ndarray) -> np.ndarray:$/;"	m	class:FitContext	typeref:typename:np.ndarray
residuals_for_theta	src/mgrowthctrl/models/crm/fit.py	/^    def residuals_for_theta(theta: np.ndarray) -> np.ndarray:$/;"	f	function:make_mcmc_primitives	typeref:typename:np.ndarray	file:
rot90	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def rot90(m, k=1, axes=(0, 1)):$/;"	f
sample_posterior_indices	src/mgrowthctrl/models/crm/fit.py	/^def sample_posterior_indices($/;"	f	typeref:typename:np.ndarray
save_simulation_results	src/mgrowthctrl/utils/save.py	/^def save_simulation_results(sim, names: ModelNames, output_path: str):$/;"	f
select	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def select(condlist, choicelist, default=0):$/;"	f
set_cols	src/mgrowthctrl/models/crm/utils.py	/^    def set_cols(mat, rows, keys):$/;"	f	function:mechanistic_masks	file:
set_params	src/mgrowthctrl/models/crm/model.py	/^    def set_params(self, params: CRModelParams) -> "CRModel":$/;"	m	class:CRModel	typeref:typename:"CRModel"
sim	plot_test.py	/^sim = model.simulate(data.y0, t_sim)$/;"	v
sim	run_plot_example.py	/^sim = model.simulate(data.y0, t_sim)$/;"	v
sim	scripts/doc_examples/intro/get_started.py	/^sim = model.simulate(data.y0, t_sim)$/;"	v
sims_from_chain	src/mgrowthctrl/models/crm/fit.py	/^def sims_from_chain($/;"	f	typeref:typename:List[Dict[str,np.ndarray]]
simulate	src/mgrowthctrl/controllers/base.py	/^    def simulate($/;"	m	class:BaseController
simulate	src/mgrowthctrl/models/crm/model.py	/^    def simulate($/;"	m	class:CRModel	typeref:typename:SimpleNamespace
sinc	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def sinc(x):$/;"	f
solve	src/mgrowthctrl/models/base.py	/^    def solve($/;"	m	class:BaseODEModel
solve_bdf_system	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^def solve_bdf_system(fun, t_new, y_predict, c, psi, LU, solve_lu, scale, tol):$/;"	f
solve_lu	.venv/lib/python3.13/site-packages/scipy/integrate/_ivp/bdf.py	/^            def solve_lu(LU, b):$/;"	f	member:BDF.__init__	file:
sort_complex	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def sort_complex(a):$/;"	f
sos	src/mgrowthctrl/models/crm/fit.py	/^    def sos(self, theta: np.ndarray) -> float:$/;"	m	class:FitContext	typeref:typename:float
sos_function	src/mgrowthctrl/models/crm/fit.py	/^    def sos_function(theta: np.ndarray, data=None) -> float:$/;"	f	function:make_mcmc_primitives	typeref:typename:float	file:
start_time	src/mgrowthctrl/utils/data.py	/^    def start_time(self) -> float:$/;"	m	class:Dataloader	typeref:typename:float
sum	src/mgrowthctrl/backends/array.py	/^    def sum(self, x: ArrayLike, axis: int) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
sum	src/mgrowthctrl/backends/array.py	/^    def sum(self, x: ArrayLike, axis: int) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
sum	src/mgrowthctrl/backends/array.py	/^    def sum(self, x: ArrayLike, axis: int) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
t_eval_short	tests/conftest.py	/^def t_eval_short():$/;"	f
t_sim	plot_test.py	/^t_sim = np.linspace(data.start_time, data.end_time, num=200)$/;"	v
t_sim	run_plot_example.py	/^t_sim = np.linspace(data.start_time, data.end_time, num=200)$/;"	v
t_sim	scripts/doc_examples/intro/get_started.py	/^t_sim = np.linspace(data.start_time, data.end_time, num=200)$/;"	v
test_constant_inflow_callable_direct	tests/test_base_controller.py	/^def test_constant_inflow_callable_direct(model_numpy, y0_nm):$/;"	f
test_constant_inflow_scalar_direct	tests/test_base_controller.py	/^def test_constant_inflow_scalar_direct(model_numpy, y0_nm):$/;"	f
test_constant_inflow_vector_direct	tests/test_base_controller.py	/^def test_constant_inflow_vector_direct(model_numpy, y0_nm):$/;"	f
test_controlled_integration_scalar_numpy	tests/test_base_controller.py	/^def test_controlled_integration_scalar_numpy($/;"	f
test_controlled_integration_scalar_torch	tests/test_base_controller.py	/^def test_controlled_integration_scalar_torch($/;"	f
test_crm_initialization	tests/test_models.py	/^def test_crm_initialization(crm_setup):$/;"	f
test_crm_prediction_run	tests/test_models.py	/^def test_crm_prediction_run(crm_setup):$/;"	f
test_crm_rhs_output_shape	tests/test_models.py	/^def test_crm_rhs_output_shape(crm_setup):$/;"	f
test_loading_local_data	tests/test_dataloader.py	/^def test_loading_local_data():$/;"	f
test_loading_local_data_with_error_values	tests/test_dataloader.py	/^def test_loading_local_data_with_error_values():$/;"	f
test_loading_remote_data_with_an_average_bioreplicate	tests/test_dataloader.py	/^def test_loading_remote_data_with_an_average_bioreplicate():$/;"	f
test_loading_remote_data_with_custom_url	tests/test_dataloader.py	/^def test_loading_remote_data_with_custom_url():$/;"	f
test_noop_returns_zeros_direct	tests/test_base_controller.py	/^def test_noop_returns_zeros_direct(model_numpy, y0_nm):$/;"	f
test_simulate_method_exists	tests/test_base_controller.py	/^def test_simulate_method_exists(model_torch):$/;"	f
timer	scripts/doc_examples/intro/get_started.py	/^from timeit import default_timer as timer$/;"	Y	nameref:unknown:default_timer
to_dict	src/mgrowthctrl/models/crm/model.py	/^    def to_dict(self) -> Dict[str, Union[float, list]]:$/;"	m	class:CRModel	typeref:typename:Dict[str,Union[float,list]]
to_mask_early	src/mgrowthctrl/models/crm/utils.py	/^    def to_mask_early(te, spec):$/;"	f	function:make_time_windows	file:
to_mask_late	src/mgrowthctrl/models/crm/utils.py	/^    def to_mask_late(te, spec):$/;"	f	function:make_time_windows	file:
torch	src/mgrowthctrl/backends/array.py	/^    torch = None  # type: ignore$/;"	v
torch_odeint	src/mgrowthctrl/models/base.py	/^    from torchdiffeq import odeint as torch_odeint$/;"	Y	nameref:unknown:odeint
trapz	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def trapz(y, x=None, dx=1.0, axis=-1):$/;"	f
trim_zeros	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def trim_zeros(filt, trim='fb'):$/;"	f
u_of_t	tests/test_base_controller.py	/^    def u_of_t(t):$/;"	f	function:test_constant_inflow_callable_direct	file:
unpack	src/mgrowthctrl/models/crm/fit.py	/^    def unpack($/;"	m	class:FitContext	typeref:typename:Tuple[np.ndarray,np.ndarray,np.ndarray,np.ndarray]
unsqueeze0	src/mgrowthctrl/backends/array.py	/^    def unsqueeze0(self, x: ArrayLike) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
unsqueeze0	src/mgrowthctrl/backends/array.py	/^    def unsqueeze0(self, x: ArrayLike) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
unsqueeze0	src/mgrowthctrl/backends/array.py	/^    def unsqueeze0(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
unwrap	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^def unwrap(p, discont=None, axis=-1, *, period=2*pi):$/;"	f
vectorize	.venv/lib/python3.13/site-packages/numpy/lib/function_base.py	/^class vectorize:$/;"	c
wrapped_rhs	src/mgrowthctrl/models/base.py	/^            def wrapped_rhs(t, y):$/;"	f	member:BaseODEModel.solve	file:
wrapped_rhs_torch	src/mgrowthctrl/models/base.py	/^        def wrapped_rhs_torch(t, y):$/;"	f	member:BaseODEModel.solve	file:
xp_name	src/mgrowthctrl/backends/array.py	/^    xp_name = "numpy"$/;"	v	class:NumpyBackend
xp_name	src/mgrowthctrl/backends/array.py	/^    xp_name = "torch"$/;"	v	class:TorchBackend
y0	src/mgrowthctrl/utils/data.py	/^    def y0(self):$/;"	m	class:Dataloader
y0_nm	tests/conftest.py	/^def y0_nm(model_numpy):$/;"	f
zeros_like	src/mgrowthctrl/backends/array.py	/^    def zeros_like(self, x: ArrayLike) -> "torch.Tensor":$/;"	m	class:TorchBackend	typeref:typename:"torch.Tensor"
zeros_like	src/mgrowthctrl/backends/array.py	/^    def zeros_like(self, x: ArrayLike) -> ArrayLike: ...$/;"	m	class:ArrayBackend	typeref:typename:ArrayLike
zeros_like	src/mgrowthctrl/backends/array.py	/^    def zeros_like(self, x: ArrayLike) -> np.ndarray:$/;"	m	class:NumpyBackend	typeref:typename:np.ndarray
