commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles Sadowski <gil...@harfang.homelinux.org>
Subject Re: [Math] MATH-519
Date Mon, 21 Feb 2011 14:28:48 GMT
Hi.

> > [...]
> > Yes, but for simple bounds this would not be too much (using a logarithm or exponential).
> > For double bounds, one typically uses a scaled logit function.
> > 
> > > If this is the best choice, I'll implement a "conversion" class (for
> > > the
> > > "simple" bound case).
> > 
> > It is a simple intermediate solution, but certainly not a best solution.
> > I don't if we should implement it because its simple or if we should already
> > go all the way and implement properly constrained optimization. I'm leaning
> > towards a complete solution.
> 
> This utility class would be certainly be useful because constraints are not
> implemented currently. If one needs to use a CM optimizer for optimizing an
> inherently constrained parameter (such as the eccentricity of an elliptic
> orbit), one would need to implement the conversion functionality anyway.

I propose a class along the following lines:
---CUT---
public class Transform {
  public static double unconstrain(double x,
                                   double lo,
                                   double hi) {
    // ...
  }

  public static double constrain(double x,
                                 double lo,
                                 double hi) {
    // ...
  }
}
---CUT---
where [lo, hi] is the interval of allowed values, that will be mapped to the
unconstrained [-inf, +inf] range.

The name "Transform" is too vague. Do you have some suggestions?

> [...]


Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message