我试图拟合一个5参数(a,b,c,d,e)模型,其中一个参数受另一个参数的约束,比如说,
0< d<1
E<\x{e76f}d
我目前使用的是 zfit ,据我所知,它使用 iMinuit
我只创建了zfit.Parameters,并将限制设置为它们可以访问的范围是有效的,同样地,让我们假设:
d = zfit.Parameter('d', value=0.5, lower_limit=0.3, upper_limit=1.0, step_size=0.01)
e = zfit.Parameter('e', value=0.1, lower_limit=0.0, upper_limit=0.3, step_size=0.01)
到目前为止,它一直运作良好,但我认为这不是正确的方法。
那么,我的问题是,怎样才能正确地处理这种限制呢?
干杯
发布于 2020-07-11 22:09:33
我会谨慎地使用这个限制,因为它们会阻塞变量,理想情况下,它们应该远离最终值。
要实现你想要的,有两种方法:
tf.cast(tf.greater(d, 1), tf.float64) * 100.)。也许也要确保使用use_minuit_grad运行的分钟。https://stackoverflow.com/questions/62855017
复制相似问题