commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dusan Ku (Commented) (JIRA)" <>
Subject [jira] [Commented] (MATH-717) A varied class of Array2DRowRealMatrix is needed to contain float type instead of double.
Date Thu, 15 Dec 2011 01:21:30 GMT


Dusan Ku commented on MATH-717:

Hi all

Thank you for all considerate discussions. 
Apparently, having additional set of classes just for float type has far more downsides I
initially thought. You guys convinced me as well. 
I can work on my own classes to work around this limitation. 
Again, thank you for all. 

Last but not the least, do you think it's worth adding 'revised simplex method' to CM for
solving a typical linear programming? I've recently implemented the revised simplex method
via eta factorisation though it still needs to be polished further. As you might know well,
it's proven to be faster than the standard simplex method (which was contributed by Ben McCain
for CM), especially for sparse large matrices. 
Actually, it was the beginning of my study on CM. With the current simplex method implemented
in CM, the whole tableau is being maintained in a form of a matrix, for which a large problem
cannot be solved. I tried to keep my implementation in line with the current structure of
'o.a.c.m.optimization.linear', but I felt the refactoring of the class structure might be
needed if the diversified version of simplex method had to be introduced.
One thing I needed initially was to compare the performance between the current simplex method
in CM and the revised simplex method I implemented for a large-sized problem. For this purpose
only, I can do it by rewriting the classes using float member.
> A varied class of Array2DRowRealMatrix is needed to contain float type instead of double.
> -----------------------------------------------------------------------------------------
>                 Key: MATH-717
>                 URL:
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.2
>         Environment: All
>            Reporter: Dusan Ku
>              Labels: features
> The current implementation of Array2DRowRealMatrix takes only double type as its base
element value in the matrix.
> However, the memory size of double is bigger than float, the downside of which makes
the matrix dimension quite limited, compared to float type as its base element type. For small
sized problem, this does not make such a big difference, but for large problems, this limits
the usability of this library quite severely. In my case, I easily hit an error even after
I increase the memory option to 1G. This could have been much more enhanced just by using
'float[][]' instead of the current Array2DRowRealMatrix.
> Therefore, the solution I may suggest is to add another class similar to Array2DRowRealMatrix
containing float type for its matrix variable instead of double. Of course, a better way is
welcome as long as the needs can be fulfilled.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message