Message Boards Message Boards

Constrained minimization of a function whose minimum is exactly zero

I am minimizing a complicated function with constraints having minimum exactly zero, but the function is complicated with a lot of local minima, and the minimizing function (chi^2) is for standard methods lower than the precision of the machine. I judge it from the fact that the value of obtained minimum (less than 10^-31), and that the value of the minimized function is for some codes (Minimize, NMinimize) different when I calculate it outside the code using obtained solution and compare it with the value of the final solution returned by the code itself. I have also checked, if I change the digits of the final solution after the 19-th place (I think it corresponds to MachinePrecision level) the change of chi^2 is of the order or bigger than the final chi^2. I am using Minimize, FindMinimum and NonLinearModelFit.

So, the problem is how I minimize a complicated, constrained function with a lot of local minima which is exactly zero. As a first step I have tried to improve the precision of the calculation, but I got inconsistent results, so I suspect that I do not know the process of improving the precision in Mathematica. In Fortran, it is very simple: I just use IMPLICIT DOUBLE PRECISION and the problem is done. Here, apparently, it is not so simple.

I can give the detailed code, and a complete description of the physics problem which lays behind it if needed. It is not too long.


POSTED BY: Alfred Svarc

Just to attract attention. This is a real problem in physics and it involves pseudoscalar meson photoproduction in hadron spectroscopy. We use CGLN amplitudes to describe the problem. enter image description here These amplitudes create 16 observables as bilinears of these amplitudes. enter image description here We study the case where Lmax=1.
The task: obtain unknown complex multipoles (E0+, M1-, E1+, M1+) from observables.


  1. We generate numeric values of observables from chosen complex multipoles (8 real numbers)
  2. We fit these numbers with 8 real parameters
  3. We expect to restore original multipoles

Problem: Because of physical reasons, observables are given as billinears of amplitudes, so the overall phase cannot be determined.

This problem is solved by introducing three constraining equations.

I first fit one observable d$\sigma_0$.

The main problem to be solved is that the minimizing function (square of the difference between numeric data and theoretical value) should be exactly zero to obtain the result, and this function has a lot of local minima and is very sensitive to the precision of the machine.

I use FindMinimium as the problem is constrained fit.

Enclosed is the code with descriptions.

The main issue is that I know, and can calculate the Chi2 within the standard precision of the machine, but my minimization never finds this value.

The code is enclosed.

This is a research in progress, and results can be published. If someone contributes, he is welcome to be the co-author.

POSTED BY: Alfred Svarc
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract