[ https://issues.apache.org/jira/browse/MATH-717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13169041#comment-13169041 ]
Dusan Ku commented on MATH-717:
-------------------------------
Hi Sébastien,
I also agree with you on the downside of float - ugly precision and its workaround.
Just like your case, my huge matrices can be generated procedurally, which means no need to store the matrix. I just felt the diversity (or flexibility) of the choice between the matrix dimension and the type size might benefit us (the developers who are using the library). In this way, for some small problems, small enough to test against the full matrices with float type but not possible with double type, we can test the fully generated matrices with float type. "double" type sometimes does not allow me to test these matrices because the maximum java heap size I could specify under 32-bit OS is somewhere between 1.3G and 1.4G and any attempt over this memory limit throws an OutOfMemory exception. When that happens, my current solution is to make the same classes with float type as the basis.
What conclusions can we draw on this issue? Well, for now, let's just assume that there were some opinions like mine regarding the fact that the basic type is fixed to "double" type.
> A varied class of Array2DRowRealMatrix is needed to contain float type instead of double.
> -----------------------------------------------------------------------------------------
>
> Key: MATH-717
> URL: https://issues.apache.org/jira/browse/MATH-717
> 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira