Return-Path: X-Original-To: apmail-commons-issues-archive@minotaur.apache.org Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9D003931B for ; Thu, 15 Dec 2011 01:22:03 +0000 (UTC) Received: (qmail 62338 invoked by uid 500); 15 Dec 2011 01:22:03 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 62282 invoked by uid 500); 15 Dec 2011 01:22:03 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 62274 invoked by uid 99); 15 Dec 2011 01:22:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Dec 2011 01:22:03 +0000 X-ASF-Spam-Status: No, hits=-2001.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Dec 2011 01:21:53 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 94C3B113835 for ; Thu, 15 Dec 2011 01:21:30 +0000 (UTC) Date: Thu, 15 Dec 2011 01:21:30 +0000 (UTC) From: "Dusan Ku (Commented) (JIRA)" To: issues@commons.apache.org Message-ID: <1871555610.13824.1323912090610.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <2065938273.31017.1322748400203.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (MATH-717) A varied class of Array2DRowRealMatrix is needed to contain float type instead of double. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/MATH-717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13169904#comment-13169904 ] 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: 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