@@ -30,12 +30,8 @@ FunctionGradient AnalyticalGradientCalculator::operator()(const MinimumParameter
3030 MnAlgebraicVector v (par.Vec ().size ());
3131 for (unsigned int i = 0 ; i < par.Vec ().size (); i++) {
3232 unsigned int ext = fTransformation .ExtOfInt (i);
33- if (fTransformation .Parameter (ext).HasLimits ()) {
34- double dd = fTransformation .DInt2Ext (i, par.Vec ()(i));
35- v (i) = dd * grad[ext];
36- } else {
37- v (i) = grad[ext];
38- }
33+ double dd = fTransformation .DInt2Ext (i, par.Vec ()(i));
34+ v (i) = dd * grad[ext];
3935 }
4036
4137 MnPrint print (" AnalyticalGradientCalculator" );
@@ -86,16 +82,10 @@ bool AnalyticalGradientCalculator::Hessian(const MinimumParameters &par, MnAlgeb
8682 // we need now to transform the matrix from external to internal coordinates
8783 for (unsigned int i = 0 ; i < n; i++) {
8884 unsigned int iext = fTransformation .ExtOfInt (i);
89- double dxdi = 1 .;
90- if (fTransformation .Parameters ()[iext].HasLimits ()) {
91- dxdi = fTransformation .DInt2Ext (i, par.Vec ()(i));
92- }
85+ double dxdi = fTransformation .DInt2Ext (i, par.Vec ()(i));
9386 for (unsigned int j = i; j < n; j++) {
94- double dxdj = 1 . ;
87+ double dxdj = fTransformation . DInt2Ext (j, par. Vec ()(j)) ;
9588 unsigned int jext = fTransformation .ExtOfInt (j);
96- if (fTransformation .Parameters ()[jext].HasLimits ()) {
97- dxdj = fTransformation .DInt2Ext (j, par.Vec ()(j));
98- }
9989 hmat (i, j) = dxdi * extHessian[iext*next+ jext] * dxdj;
10090 }
10191 }
@@ -120,12 +110,8 @@ bool AnalyticalGradientCalculator::G2(const MinimumParameters &par, MnAlgebraicV
120110 assert (extG2.size () == fTransformation .Parameters ().size ());
121111 for (unsigned int i = 0 ; i < n; i++) {
122112 const unsigned int iext = fTransformation .ExtOfInt (i);
123- if (fTransformation .Parameters ()[iext].HasLimits ()) {
124- const double dxdi = fTransformation .DInt2Ext (i, par.Vec ()(i));
125- g2 (i) = dxdi * dxdi * extG2[iext];
126- } else {
127- g2 (i) = extG2[iext];
128- }
113+ const double dxdi = fTransformation .DInt2Ext (i, par.Vec ()(i));
114+ g2 (i) = dxdi * dxdi * extG2[iext];
129115 }
130116 return true ;
131117 }
@@ -154,12 +140,8 @@ bool AnalyticalGradientCalculator::G2(const MinimumParameters &par, MnAlgebraicV
154140 for (unsigned int i = 0 ; i < n; i++) {
155141 const unsigned int iext = fTransformation .ExtOfInt (i);
156142 const double diag = extHessian[iext * nExt + iext];
157- if (fTransformation .Parameters ()[iext].HasLimits ()) {
158- const double dxdi = fTransformation .DInt2Ext (i, par.Vec ()(i));
159- g2 (i) = dxdi * dxdi * diag;
160- } else {
161- g2 (i) = diag;
162- }
143+ const double dxdi = fTransformation .DInt2Ext (i, par.Vec ()(i));
144+ g2 (i) = dxdi * dxdi * diag;
163145 }
164146 return true ;
165147}
0 commit comments