Hi Olexiy, In my field we often encounter a similar problem when estimating attitude since a quaternion is only a valid rotation when it is normalized. We often escape this issue by estimating a "small" adjustment to an apriori guess. (For the details see [1].) For this technique to work the cost function must be smooth and the apriori guess must be "close enough" to the true value. Both of these assumptions are also required to apply a non-linear least squares optimizer. Perhaps you can apply a similar technique to your problem. (It seems that your 'A' parameter is orientation in 3D space.)
If there is a need for an extra steps, I would prefer to make those explicit rather than depending on side effects of cost function evaluation. Best Regards, Evan [1] Crassidis, John L., and John L. Junkins. /Optimal Estimation of Dynamic Systems/. Boca Raton, FL: CRC, 2012. On 09/04/2014 05:37 AM, Olexiy Movchan wrote: > Hello, > > I created the math issue https://issues.apache.org/jira/browse/MATH-1144. > > In version 2.0, LevenbergMarquardtOptimizer passed point to evaluator by > reference. So our software could modify it on every step of algorithm. > In version 3.3, point is copied and then passed to evaluator, so it can't be > updated by evaluator. > > We use LevenbergMarquardtOptimizer for 3d surface fitting (cylinders, cones, > tori) by sampled points. And surface parameters should be renormalized on > every step of algorithm. Please see this article: > http://nvlpubs.nist.gov/nistpubs/jres/103/6/j36sha.pdf > > Also please read the description of MATH-1144 jira issue. > > Can you modify optimizer or evaluator interface to allow in/out parameters > there? > > Thanks, > Olexiy Movchan > >