You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Mick (JIRA)" <ji...@apache.org> on 2008/01/16 22:03:34 UTC

[jira] Created: (MATH-177) Provide a general minimizing package with a classical Gauss-Newton algorithm

Provide a general minimizing package with a classical Gauss-Newton algorithm
----------------------------------------------------------------------------

                 Key: MATH-177
                 URL: https://issues.apache.org/jira/browse/MATH-177
             Project: Commons Math
          Issue Type: Improvement
    Affects Versions: 2.0
            Reporter: Mick
             Fix For: 2.0


Currently the math API provides least squares only method for minimizing (solving). The limitation to least-squares problems comes from the Levenberg-Marquardt algorithm. A more general minimizer (not for quadratic forms) could be implemented by refactoring this with a classical GN, steepest descent and also conjugate gradient. We could use them as a basis for some least-squares solvers (and also keep the very efficient and specialized Levenberg-Marquardt too).

Based on email exchange with Luc Maisonobe entitled [math] Minimizer on 1/15/08.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (MATH-177) Provide a general minimizing package with a classical Gauss-Newton algorithm

Posted by "Luc Maisonobe (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MATH-177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Luc Maisonobe resolved MATH-177.
--------------------------------

    Resolution: Fixed

conjugate gradient and simplex method for linear problems have been added
the package is now in good shape, further tunings will be added as new issues if needed

> Provide a general minimizing package with a classical Gauss-Newton algorithm
> ----------------------------------------------------------------------------
>
>                 Key: MATH-177
>                 URL: https://issues.apache.org/jira/browse/MATH-177
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Mick
>            Assignee: Luc Maisonobe
>             Fix For: 2.0
>
>         Attachments: BrentMinimizer.java, UnivariateRealSolver.java, UnivariateRealSolverImpl.java
>
>
> Currently the math API provides least squares only method for minimizing (solving). The limitation to least-squares problems comes from the Levenberg-Marquardt algorithm. A more general minimizer (not for quadratic forms) could be implemented by refactoring this with a classical GN, steepest descent and also conjugate gradient. We could use them as a basis for some least-squares solvers (and also keep the very efficient and specialized Levenberg-Marquardt too).
> Based on email exchange with Luc Maisonobe entitled [math] Minimizer on 1/15/08.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (MATH-177) Provide a general minimizing package with a classical Gauss-Newton algorithm

Posted by "Gilles (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MATH-177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gilles updated MATH-177:
------------------------

    Attachment: UnivariateRealSolverImpl.java
                UnivariateRealSolver.java
                BrentMinimizer.java

Here are the files discussed on the ML under subject: "[math] Brent Minimization".
[Although Luc said I should attach them to this issue, they are probably meant to be included in (or below) the "analysis" package.]


> Provide a general minimizing package with a classical Gauss-Newton algorithm
> ----------------------------------------------------------------------------
>
>                 Key: MATH-177
>                 URL: https://issues.apache.org/jira/browse/MATH-177
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Mick
>            Assignee: Luc Maisonobe
>             Fix For: 2.0
>
>         Attachments: BrentMinimizer.java, UnivariateRealSolver.java, UnivariateRealSolverImpl.java
>
>
> Currently the math API provides least squares only method for minimizing (solving). The limitation to least-squares problems comes from the Levenberg-Marquardt algorithm. A more general minimizer (not for quadratic forms) could be implemented by refactoring this with a classical GN, steepest descent and also conjugate gradient. We could use them as a basis for some least-squares solvers (and also keep the very efficient and specialized Levenberg-Marquardt too).
> Based on email exchange with Luc Maisonobe entitled [math] Minimizer on 1/15/08.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MATH-177) Provide a general minimizing package with a classical Gauss-Newton algorithm

Posted by "Luc Maisonobe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MATH-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12682181#action_12682181 ] 

Luc Maisonobe commented on MATH-177:
------------------------------------

The redesigned optimization package is almost in place as of 2009-03-15.
The existing algorithms have been ported to the new API.
There is still some work to do to add new algorithms like conjugate gradient and steepest descent.

> Provide a general minimizing package with a classical Gauss-Newton algorithm
> ----------------------------------------------------------------------------
>
>                 Key: MATH-177
>                 URL: https://issues.apache.org/jira/browse/MATH-177
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Mick
>            Assignee: Luc Maisonobe
>             Fix For: 2.0
>
>         Attachments: BrentMinimizer.java, UnivariateRealSolver.java, UnivariateRealSolverImpl.java
>
>
> Currently the math API provides least squares only method for minimizing (solving). The limitation to least-squares problems comes from the Levenberg-Marquardt algorithm. A more general minimizer (not for quadratic forms) could be implemented by refactoring this with a classical GN, steepest descent and also conjugate gradient. We could use them as a basis for some least-squares solvers (and also keep the very efficient and specialized Levenberg-Marquardt too).
> Based on email exchange with Luc Maisonobe entitled [math] Minimizer on 1/15/08.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MATH-177) Provide a general minimizing package with a classical Gauss-Newton algorithm

Posted by "Luc Maisonobe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MATH-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664968#action_12664968 ] 

Luc Maisonobe commented on MATH-177:
------------------------------------

The Brent minimizer class has been added in trunk in the new minimization package as of r735475.
Some tests have been added, but they fail unless very loose threshold are used. The algorithm
also seems to be very slow for now. This seems to be due to the fact the parabolic fitting is in fact
never used during the tests, only the golden section part is used leading to a very large number of
iterations (between 45 and 50) and low accuracy.

I didn't investigate the problem. This may be due to the refactoring I did to fit the new interfaces and
our current coding style.

Gilles, could you review what I have done ?


> Provide a general minimizing package with a classical Gauss-Newton algorithm
> ----------------------------------------------------------------------------
>
>                 Key: MATH-177
>                 URL: https://issues.apache.org/jira/browse/MATH-177
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Mick
>            Assignee: Luc Maisonobe
>             Fix For: 2.0
>
>         Attachments: BrentMinimizer.java, UnivariateRealSolver.java, UnivariateRealSolverImpl.java
>
>
> Currently the math API provides least squares only method for minimizing (solving). The limitation to least-squares problems comes from the Levenberg-Marquardt algorithm. A more general minimizer (not for quadratic forms) could be implemented by refactoring this with a classical GN, steepest descent and also conjugate gradient. We could use them as a basis for some least-squares solvers (and also keep the very efficient and specialized Levenberg-Marquardt too).
> Based on email exchange with Luc Maisonobe entitled [math] Minimizer on 1/15/08.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MATH-177) Provide a general minimizing package with a classical Gauss-Newton algorithm

Posted by "Luc Maisonobe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MATH-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576745#action_12576745 ] 

Luc Maisonobe commented on MATH-177:
------------------------------------

The estimation and optimization packages should really be redesigned. They are independent despite they address similar problems.

A more general approach should be adopted, which could be specialized according to type of function minimized (general versus quadratic forms) as proposed in this issue, but also according to availability or not of gradient (which is the main difference between the estimation and optimization packages).

Of course, this will introduce incompatible changes so can be done only for 2.0.

> Provide a general minimizing package with a classical Gauss-Newton algorithm
> ----------------------------------------------------------------------------
>
>                 Key: MATH-177
>                 URL: https://issues.apache.org/jira/browse/MATH-177
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Mick
>            Assignee: Luc Maisonobe
>             Fix For: 2.0
>
>
> Currently the math API provides least squares only method for minimizing (solving). The limitation to least-squares problems comes from the Levenberg-Marquardt algorithm. A more general minimizer (not for quadratic forms) could be implemented by refactoring this with a classical GN, steepest descent and also conjugate gradient. We could use them as a basis for some least-squares solvers (and also keep the very efficient and specialized Levenberg-Marquardt too).
> Based on email exchange with Luc Maisonobe entitled [math] Minimizer on 1/15/08.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.