Parameter control / priors

The code now offers several ways to impose explicit constraints on parameters or relations between parameters. These can be thought of as a type of prior.

pbounds

Lets you specify fixed ranges for model parameters. The parameter is completely free within the allowed range, but forbidden from going outside that range. The constraint file has the following form:

#constraints
igal ip lo hi
...

Sequential calls load additional constraints.

plimits

Lets you impose a prior that a given parameter should have a certain value, within some uncertainty. The form of the constraint file is:

#constraints
igal ip value sigma
...

In practice, this adds an addition term to the chisq of the form

(model - value)2 / sigma2

As before, sequential calls load additional constraints.

pmatch

Lets you specify relations between parameters. The form of the constraint file is:

#constraints
igal ip jgal ip ratio sigma
...

For each constraint with sigma = 0, the code forces the exact relation

p[igal][ip] = ratio * p[jgal][jp]

For each constraint with sigma != 0, the code adds a chisq term of the form

( p[igal][ip] - ratio*p[jgal][jp] )2 / sigma2

And as always, sequential calls load additional constraints.