You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I use CMAES and its C implementation to deal with stress inversion.
When my problem is very ill conditionned, I have a floating point exception in cmaes.c at line 893/894
/* cumulation for covariance matrix (pc) using B*D*z~N(0,C) */hsig=sqrt(psxps) / sqrt(1.-pow(1.-t->sp.cs, 2*t->gen)) / t->chiN<1.4+2./(N+1);
its with the "pow" function, t->gen = 752 and 1.-t->sp.cs = 0.62435950746181024, so the result must be really close to 0....
Have you got an idea how to avoid this kind of problens, moreover, it has begin to converge !!
Cheers,
Antoine
The text was updated successfully, but these errors were encountered:
This must be a machine dependent problem, as t->gen becomes always large. Your solution seems spot on. I would guess it should also be possible to configure the compiler to ignore numerical underflow errors, which is relatively safe to do.
Hello,
I use CMAES and its C implementation to deal with stress inversion.
When my problem is very ill conditionned, I have a floating point exception in cmaes.c at line 893/894
its with the "pow" function, t->gen = 752 and 1.-t->sp.cs = 0.62435950746181024, so the result must be really close to 0....
Have you got an idea how to avoid this kind of problens, moreover, it has begin to converge !!
Cheers,
Antoine
The text was updated successfully, but these errors were encountered: