Skip to content

Commit b306dad

Browse files
author
Emmanuel Benazera
committed
fix bug in normalization of TPA samples, ref #88
1 parent 64e1ed7 commit b306dad

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/cmastrategy.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@ namespace libcmaes
222222
dVec mean_shift = eostrat<TGenoPheno>::_solutions._xmean - eostrat<TGenoPheno>::_solutions._xmean_prev;
223223
double mean_shift_norm = 1.0;
224224
if (!eostrat<TGenoPheno>::_parameters._sep && !eostrat<TGenoPheno>::_parameters._vd)
225-
mean_shift_norm = (_esolver._eigenSolver.eigenvalues().cwiseInverse().cwiseProduct(_esolver._eigenSolver.eigenvectors().transpose()*mean_shift)).norm() / eostrat<TGenoPheno>::_solutions._sigma;
226-
else mean_shift_norm = eostrat<TGenoPheno>::_solutions._sepcov.cwiseInverse().cwiseProduct(mean_shift).norm() / eostrat<TGenoPheno>::_solutions._sigma;
225+
mean_shift_norm = (_esolver._eigenSolver.eigenvalues().cwiseSqrt().cwiseInverse().cwiseProduct(_esolver._eigenSolver.eigenvectors().transpose()*mean_shift)).norm() / eostrat<TGenoPheno>::_solutions._sigma;
226+
else mean_shift_norm = eostrat<TGenoPheno>::_solutions._sepcov.cwiseSqrt().cwiseInverse().cwiseProduct(mean_shift).norm() / eostrat<TGenoPheno>::_solutions._sigma;
227227
//std::cout << "mean_shift_norm=" << mean_shift_norm << " / sqrt(N)=" << std::sqrt(std::sqrt(eostrat<TGenoPheno>::_parameters._dim)) << std::endl;
228228

229229
dMat rz = _esolver.samples_ind(1);

0 commit comments

Comments
 (0)