[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13097760#comment-13097760 ] Sébastien Brisard commented on MATH-653: * {{EigenDecompositionImpl}} done with in rev. 1165505 * {{LUDecompositionImpl}} in rev. 1165506 * {{QRDecompositionSolver}} in rev. 1165507 * {{SingularValueDecompositionSolver}} in rev. 1165508 Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13095795#comment-13095795 ] Sébastien Brisard commented on MATH-653: OK, I've started to look into the {{DecompositionSolver}}. Unfortunately, the method {{solve(double[])}} gets called in {{GaussNewtonOptimizer}}. This class makes thorough use of {{double[]}} as a representation of vectors. There might be a gain in replacing occurences of {{double[]}} by {{ArrayRealVector}}. This might be like opening Pandora's box, though. For the time being, I can propose a quick fix for {{GaussNewtonOptimizer}} to call {{solve(RealVector)}} instead of {{solve(double[])}}, and work on all implementations of {{DecompositionSolver}} so as to remove {{solve(double[])}}, and keep only {{solve(RealVector)}} (and possibly {{solve(ArrayRealVector)}}). How do you like that? Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13095834#comment-13095834 ] Luc Maisonobe commented on MATH-653: OK from me. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13096103#comment-13096103 ] Sébastien Brisard commented on MATH-653: Done in rev 1164615. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13096111#comment-13096111 ] Sébastien Brisard commented on MATH-653: In rev. 1164618: removed references do {{DecompositionSolver.solve(double[])}} from all unit tests of {{RealMatrix}} implementations. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13094366#comment-13094366 ] Sébastien Brisard commented on MATH-653: {quote} I can take care of RealLinearOperator [...] {quote} Done in revision 1163515 (took me some time to find out how to commit). As agreed, I left RealMatrix untouched (had to remove a @Override tag). Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092656#comment-13092656 ] Sébastien Brisard commented on MATH-653: Gilles, I would favor inlining. I'm still working on iterative solvers, so if you want, I can take care of {{RealLinearOperator}} (which was added for this special purpose). Indeed, following what you've just done {{double[] operate(double[] x)}} should probably be removed from this class. Question is: should it also disappear from the daughter class {{AbstractRealMatrix}}? As an aside, is there any plan to rename {{AbstractRealMatrix}} to {{RealMatrix}}? Since I'm still working on the interface of linear solvers, I'll remove the method {{solve(RealLinearOperator, double[], double[]}}, and keep only {{solve(RealLinearOperator, RealVector, RealVector}} before I submit anything. I guess the next step (setting apart the refactoring of RealMatrix/AbstractRealMatrix in the same fashion) would be to look into {{DecompositionSolver}} as well, and remove any methods taking {{double[]}} as an input. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092841#comment-13092841 ] Gilles commented on MATH-653: - {quote} I would favor inlining. {quote} Done in revision 1162800. {quote} I can take care of RealLinearOperator [...] {quote} OK. {quote} any plan to rename AbstractRealMatrix to RealMatrix? {quote} That certainly should be done. ;) Maybe better wait for the conclusion of the ongoing discussion on what to remove/rename in that interface/class... {quote} DecompositionSolver [...] remove any methods taking double[] as an input. {quote} You are welcome to do it. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092479#comment-13092479 ] Gilles commented on MATH-653: - Renaming done in revision 1162511. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092503#comment-13092503 ] Phil Steitz commented on MATH-653: -- Thanks for doing this, Gilles. I am fine with getting rid of the double[] clutter and also tossing one of getData() and toArray(). I don't really care which one. I guess I would marginally prefer toArray as the keeper. I just committed a bunch of javadoc improvements (at least I hope they are improvements) in r1162543. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092593#comment-13092593 ] Gilles commented on MATH-653: - Removed methods taking a double[] arguments from RealVector (revision 1162629). I've left them in ArrayRealVector; they seem to make sense there because the double[] is the underlying storage of that class. Also, they are called within methods that override the base class ones. However, if it is preferable that subclasses do not contain methods that are not in the base class interface, we can either * inline the specialized code and remove the methods, or * make those methods private. What do you think? Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092083#comment-13092083 ] Gilles commented on MATH-653: - From Sébastien, on the dev ML (in the thread with subject RealMatrix.set(double)): {quote} I personnaly have come to dislike the schizophrenia in the RealVector interface between double[] and RealVector. As double[] is the simplest representation of a vector, all methods which take a RealVector as an argument in the RealVector interface are duplicated to also take a double[] as an argument. While this is very flexible for end-users, it is a bit of a pain when you want to extend this interface in a consistent way (and it also make the classes implementing RealVector quite cluttered). I'm just wondering what the real benefit is, since the existing hierarchy allows (at virtually no cost) the creation of a RealArrayVector from a double[] without taking first a (costly) deep copy of the specified double[]. For example, for an end-user, it's not much of a hassle to write v.add(new ArrayRealVector(w, false)) instead of v.add(w) w being a double[]. {quote} I agree. Also because in AbstractRealVector many of the method that take a double[] argument actually delegate to the sibling method that take an ArrayRealVector argument, which looks fairly strange (a superclass relying on one of its subclasses). Even stranger, some methods of the RealVector interface are not defined in AbstractRealVector e.g. {code} RealVector ebeDivide(RealVector) {code} although its equivalent with a double[] is defined and seems to call the non-existent one above! Of course, it works because of polymorphism and the fact that AbstractRealVector can never be instantiated, but it makes the code quite unobvious. Hence, I'd like to remove all the method that take a double[] argument as part of this issue. Is there any objections? Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MATH-653) Rename AbstractRealVector to RealVector
[ https://issues.apache.org/jira/browse/MATH-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092094#comment-13092094 ] Gilles commented on MATH-653: - Also, as already noted elsewhere, the getData() method is redundant with toArray(). One or the other should go. Rename AbstractRealVector to RealVector --- Key: MATH-653 URL: https://issues.apache.org/jira/browse/MATH-653 Project: Commons Math Issue Type: Task Reporter: Gilles Assignee: Gilles Priority: Trivial Fix For: 3.0 AbstractRealVector is the only implementation of the RealVector interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira