Hello,
I am experimenting with using the SLSQP implementation in NLOPT for a generic chemistry solver (using the Fortran interface), however I am finding that double precision is not enough for optimising the Gibbs and Entropy functions. NLOPT's version of SLSQP successfully finds a solution but the direction of the linesearch for the solver is limited by the level of precision.
I've found that Jacob William's version of SLSQP in quadruple precision mode can give vastly different results than it's double precision version as it finds a different local minimum for the objective function.
https://github.com/jacobwilliams/slsqp
Would it be difficult to implement a higher precision mode of the NLOPT library with an additional compilation flag that would change all of the "double" types to "long double" in the C code? I imagine that it would then be added to Fortran with an include 'nlopt_quad.f' line or similar.
Hello,
I am experimenting with using the SLSQP implementation in NLOPT for a generic chemistry solver (using the Fortran interface), however I am finding that double precision is not enough for optimising the Gibbs and Entropy functions. NLOPT's version of SLSQP successfully finds a solution but the direction of the linesearch for the solver is limited by the level of precision.
I've found that Jacob William's version of SLSQP in quadruple precision mode can give vastly different results than it's double precision version as it finds a different local minimum for the objective function.
https://github.com/jacobwilliams/slsqp
Would it be difficult to implement a higher precision mode of the NLOPT library with an additional compilation flag that would change all of the "double" types to "long double" in the C code? I imagine that it would then be added to Fortran with an
include 'nlopt_quad.f'line or similar.