Hi,

2012/11/27 Gilles Sadowski <gil...@harfang.homelinux.org>

> Hello.
>
> > > > in MATH-803 [1] it was decided to deprecate
> > > RealVector.ebeMultiply/Divide,
> > > > because these methods were difficult to support with sparse vectors.
> > > > However, in MATH-870, we decided to deprecate sparse vectors
> altogether.
> > > >
> > > > I'm therefore having second thoughts on MATH-803. Since the
> problematic
> > > > implementations of RealVector are removed, why not keep these quite
> handy
> > > > methods?
>
> The goal was also to "clean up" the matrix and vector implementations.
>
> True, but all good scientific packages (matlab, scilab, numpy) have these
operations. If we do not keep them in the interface of RealVector (which
I'm OK about), we need to provide a clean alternative. At the moment,
visitors are not clean.


> I'd rather suggest to add such features in the "MathArrays" class:
> -----
> public static double[] ebeDivide(double[] numer,
>                                  double[] denom) {
>   if (numer.length != denom.length) {
>     throw new DimensionMismatchException(numer.length, denom.length);
>   }
>
>   final double[] result = numer.clone();
>   for (int i = 0; i < numer.length; i++) {
>     result[i] /= denom[i];
>   }
>
>   return result;
> }
> -----
>

I'm not adverse to the idea, but actually, cleaning recently took place the
other way round. In RealVector, we removed all methods which took an array
in place of a vector, since constructing an ArrayRealVector from an array
is almost costless (using the right constructor).


>
> What do you think?
>
> Gilles
>
> > [...]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
> Best regards,
Sébastien

Reply via email to