In rare cases, after a subproblem solution has been evaluated, pounders will produce an interpolation set with with fewer than n+1 points. This is because the order in which points are examined for sufficient affine independence is reverse lexicographic.
A test case illustrating the issue on the main branch is in #149.
This is not a bug in formquad, but an issue with pounders assuming that, since the trust region radius and center have not changed and the model is not valid, a model-improving point will be evaluated; after no more than n-1 such iterations, the model will be valid and progress will be made (either through accepting a solution in the mean time, or having a valid model, which then allows the radius to shrink).
In rare cases, after a subproblem solution has been evaluated, pounders will produce an interpolation set with with fewer than n+1 points. This is because the order in which points are examined for sufficient affine independence is reverse lexicographic.
A test case illustrating the issue on the
main
branch is in #149.This is not a bug in formquad, but an issue with pounders assuming that, since the trust region radius and center have not changed and the model is not valid, a model-improving point will be evaluated; after no more than n-1 such iterations, the model will be valid and progress will be made (either through accepting a solution in the mean time, or having a valid model, which then allows the radius to shrink).
Multiple fixes are given below.