funclp.JointFunction module

class funclp.JointFunction(channels, shared_parameters=None, shared_variables=None, **kwargs)[source]

Bases: CudaReference

Composite function used to jointly fit several independent channels.

Parameters:
  • channels (list) – Functions or JointChannel instances.

  • shared_parameters (dict, optional) – Mapping from joint parameter name to per-channel child parameter names. Use None for channels that do not share this parameter. Example: {‘x0’: [‘mux’, None, ‘x0’], ‘sigma’: [None, ‘sig’, ‘sig’]}.

  • shared_variables (dict, optional) – Mapping from joint variable name to per-channel child variable names. Use None for channels that do not use this joint variable. Example: {‘x’: [‘x’, ‘xx’], ‘y’: [‘y’, ‘yy’], ‘z’: [‘z’, None]}.

  • kwargs (dict) – Attributes to change after construction.

Notes

Data inputs are intentionally kept channel-local. They are passed to prepare_fit_inputs as one data block per channel, because different channels may have different data input names and shapes.

Affine transforms are fixed and applied on variables, not parameters. Since affine coefficients are not fitted parameters, no derivatives are generated for them.

property constants
property name
property nmodels
property parameters
prepare_fit_inputs(raw_data, args, weights)[source]

Linked modules