class zfit.constraint.SimpleConstraint(func, params, *, name=None)[source]#

Bases: BaseConstraint

Constraint from a (function returning a) Tensor.

  • func (Callable) – Callable that constructs the constraint and returns a tensor. For the expected signature, see below in params.

  • params (Union[Mapping[str, TypeVar(ParameterType, bound= Dict[str, zfit.core.interfaces.ZfitParameter])], Iterable[TypeVar(ParameterType, bound= Dict[str, zfit.core.interfaces.ZfitParameter])], TypeVar(ParameterType, bound= Dict[str, zfit.core.interfaces.ZfitParameter]), None]) – The parameters of the loss. If given as a list, the parameters are named “param_{i}” and the function does not take any arguments. If given as a dict, the function expects the parameter as the first argument (params).

add_cache_deps(cache_deps, allow_non_cachable=True)#

Add dependencies that render the cache invalid if they change.

  • cache_deps (ztyping.CacherOrCachersType)

  • allow_non_cachable (bool) – If True, allow cache_dependents to be non-cachables. If False, any cache_dependents that is not a ZfitGraphCachable will raise an error.


TypeError – if one of the cache_dependents is not a ZfitGraphCachable _and_ allow_non_cachable if False.

property dtype: DType#

The dtype of the object.


Return a set of all independent Parameter that this object depends on.


only_floating (bool) – If True, only return floating Parameter

Return type:


get_dependencies(only_floating: bool = True) ztyping.DependentsType#


Deprecated: THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use get_params instead if you want to retrieve the independent parameters or get_cache_deps in case you need the numerical cache dependents (advanced).

Return type:


get_params(floating=True, is_yield=None, extract_independent=True, only_floating=<class 'zfit.util.checks.NotSpecified'>)#

Recursively collect parameters that this object depends on according to the filter criteria.

Which parameters should be included can be steered using the arguments as a filter.
  • None: do not filter on this. E.g. floating=None will return parameters that are floating as well as

    parameters that are fixed.

  • True: only return parameters that fulfil this criterion

  • False: only return parameters that do not fulfil this criterion. E.g. floating=False will return

    only parameters that are not floating.

  • floating (bool | None) – if a parameter is floating, e.g. if floating() returns True

  • is_yield (bool | None) – if a parameter is a yield of the _current_ model. This won’t be applied recursively, but may include yields if they do also represent a parameter parametrizing the shape. So if the yield of the current model depends on other yields (or also non-yields), this will be included. If, however, just submodels depend on a yield (as their yield) and it is not correlated to the output of our model, they won’t be included.

  • extract_independent (bool | None) – If the parameter is an independent parameter, i.e. if it is a ZfitIndependentParameter.

Return type:


property name: str#

The name of the object.


Register a cacher that caches values produces by this instance; a dependent.


cacher (ztyping.CacherOrCachersType)


Clear the cache of self and all dependent cachers.