# commons-issues mailing list archives

##### Site index · List index
Message view
Top
From "Luc Maisonobe (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MATH-519) GaussianFitter Unexpectedly Throws NotStrictlyPositiveException
Date Mon, 21 Feb 2011 08:27:38 GMT
```
[ https://issues.apache.org/jira/browse/MATH-519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12997299#comment-12997299
]

Luc Maisonobe commented on MATH-519:
------------------------------------

Maybe this discussion should be held on the dev list since it becomes long.
Anyway, returning NaN or POSITIVE_INFINITY would work only with some optimizers.
I guess a proper solution would be to have constrained optimization available (see MATH-196).
For simple bounds on estimated parameters, this can be done using intermediate variables and
mapping functions, but for general non-linear constraints, we need Lagrangian multipliers
and all this stuff.

> GaussianFitter Unexpectedly Throws NotStrictlyPositiveException
> ---------------------------------------------------------------
>
>                 Key: MATH-519
>                 URL: https://issues.apache.org/jira/browse/MATH-519
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.0
>            Reporter: Ole Ersoy
>             Fix For: 3.0
>
>         Attachments: GaussianFitter.java, GaussianFitter2Test.java
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Running the following:
>     	double[] observations =
>     	{
>     			1.1143831578403364E-29,
>     			 4.95281403484594E-28,
>     			 1.1171347211930288E-26,
>     			 1.7044813962636277E-25,
>     			 1.9784716574832164E-24,
>     			 1.8630236407866774E-23,
>     			 1.4820532905097742E-22,
>     			 1.0241963854632831E-21,
>     			 6.275077366673128E-21,
>     			 3.461808994532493E-20,
>     			 1.7407124684715706E-19,
>     			 8.056687953553974E-19,
>     			 3.460193945992071E-18,
>     			 1.3883326374011525E-17,
>     			 5.233894983671116E-17,
>     			 1.8630791465263745E-16,
>     			 6.288759227922111E-16,
>     			 2.0204433920597856E-15,
>     			 6.198768938576155E-15,
>     			 1.821419346860626E-14,
>     			 5.139176445538471E-14,
>     			 1.3956427429045787E-13,
>     			 3.655705706448139E-13,
>     			 9.253753324779779E-13,
>     			 2.267636001476696E-12,
>     			 5.3880460095836855E-12,
>     			 1.2431632654852931E-11
>     	};
>
>     	GaussianFitter g =
>     		new GaussianFitter(new LevenbergMarquardtOptimizer());
>
>     	for (int index = 0; index < 27; index++)
>     	{
>     	}
>        	g.fit();
> Results in:
> org.apache.commons.math.exception.NotStrictlyPositiveException: -1.277 is smaller than,
or equal to, the minimum (0)
> 	at org.apache.commons.math.analysis.function.Gaussian\$Parametric.validateParameters(Gaussian.java:184)
> 	at org.apache.commons.math.analysis.function.Gaussian\$Parametric.value(Gaussian.java:129)
> I'm guessing the initial guess for sigma is off.

--
This message is automatically generated by JIRA.
-