I am using lmfit
in Python to fit some data, which includes fitting the variables a, b, and c. I need to ensure that a < b < c. I found http://cars9.uchicago.edu/software/python/lmfit_MinimizerResult/constraints.html which talks about constraints needing to be defined as inequalities and setting up dummy variables. For example, if I wanted a + b <= 10, I could do:
pars.add('a', value = 5, vary=True)
pars.add('delta', value = 5, max=10, vary=True)
pars.add('b', expr='delta-a')
And this would ensure that a + b <= 10.
I suppose that I would need c - b > 0 and b - a > 0 (or alternatively a - b < 0 and b - c < 0), but I'm not sure how to code this.