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 DF5EE91D1 for ; Thu, 8 Mar 2012 06:21:37 +0000 (UTC) Received: (qmail 90713 invoked by uid 500); 8 Mar 2012 06:21:36 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 90224 invoked by uid 500); 8 Mar 2012 06:21:30 -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 89910 invoked by uid 99); 8 Mar 2012 06:21:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Mar 2012 06:21:27 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_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, 08 Mar 2012 06:21:24 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 4A1F2FECA for ; Thu, 8 Mar 2012 06:21:03 +0000 (UTC) Date: Thu, 8 Mar 2012 06:21:03 +0000 (UTC) From: =?utf-8?Q?S=C3=A9bastien_Brisard_=28Updated=29_=28JIRA=29?= To: issues@commons.apache.org Message-ID: <1741327246.38155.1331187663304.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <2054829214.35035.1331143497658.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (MATH-765) Refactoring the vector and matrix classes MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/MATH-765?page=3Dcom.atlassian.= jira.plugin.system.issuetabpanels:all-tabpanel ] S=C3=A9bastien Brisard updated MATH-765: ----------------------------------- Comment: was deleted (was: Since inner product should be implemented , shouldnt a user be able t= o change a matrix representation in a given base ? . Something along the li= nes of : RealMatrix changeBase( RealMatrix newBase ) Ohhh .. btw , calculating a Matrix's trace could prove usefull too ... double trace() or static double trace( RealMatrix m ) ) =20 > Refactoring the vector and matrix classes > ----------------------------------------- > > Key: MATH-765 > URL: https://issues.apache.org/jira/browse/MATH-765 > Project: Commons Math > Issue Type: Improvement > Affects Versions: 4.0 > Reporter: S=C3=A9bastien Brisard > Labels: api-change, linear > > {panel:title=3DWarning|borderStyle=3Dsolid} > This is not a bug report, but rather a summary of all discussions which h= ave taken place on the mailing list regarding the refactoring of the vector= and matrix classes. Indeed, it has been argued many times that the {{RealV= ector}} and {{RealMatrix}} interfaces are really cluttered, and could benef= it from other approaches (like functional programming).=20 > The description of this ticket will be updated as the discussion progress= es on the mailing-list, and new JIRA tickets will be created to carry out t= he "real" work. In order to keep this ticket tidy, contributors should refr= ain from commenting on this website. Instead, messages should be posted on = the dev mailing-list. > {panel} > h1. The current API (version 3.0) > In this section, the current interfaces for vectors and matrices are comp= ared. Vectors and matrices are two mathematical objects which are very clos= e in nature. Their implementations should therefore be as similar as possib= le. The methods will be sorted as follows > * methods reflecting the mathematical structure of vector space: addition= , multiplication by a scalar, matrix-vector product, ... > * methods reflecting the mathematical structure of euclidean space > * ... > h2. Methods reflecting the mathematical structure of vector space > || {{RealVector}} || {{RealMatrix}} = || Comments || > | {{RealVector add(RealVector v)}} | {{RealMatrix add(RealMatrix m)}}= | | > | {{int getDimension()}} | {{int getRowDimension()}},\\ {{i= nt getColumnDimension()}} | | > | {{RealVector mapMultiply(double d)}} | {{scalarMultiply(double d)}} = | | > | | {{multiply(RealMatrix m)}} = | | > | | {{double[] operate(double[])}} = | | > | | {{RealVector operate(RealVector)= }} | | > | | {{double[] preMultiply(double[])= }} | | > | | {{RealMatrix preMultiply(RealMat= rix)}} | | > | | {{RealVector preMultiply(RealVec= tor)}} | | > h2. Methods reflecting the mathematical structure of euclidean space -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrato= rs: https://issues.apache.org/jira/secure/ContactAdministrators!default.jsp= a For more information on JIRA, see: http://www.atlassian.com/software/jira