[jira] [Updated] (MATH-765) Refactoring the vector and matrix classes

2012-03-08 Thread Leandro Ariel Pezzente (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/MATH-765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leandro Ariel Pezzente updated MATH-765:


Comment: was deleted

(was: Gilles , do you know if MIT License is compatibles with APL 2.0 ?)

 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ébastien Brisard
  Labels: api-change, linear

 {panel:title=Warning|borderStyle=solid}
 This is not a bug report, but rather a summary of all discussions which have 
 taken place on the mailing list regarding the refactoring of the vector and 
 matrix classes. Indeed, it has been argued many times that the {{RealVector}} 
 and {{RealMatrix}} interfaces are really cluttered, and could benefit from 
 other approaches (like functional programming). 
 The description of this ticket will be updated as the discussion progresses 
 on the mailing-list, and new JIRA tickets will be created to carry out the 
 real work. {color:red}In order to keep this ticket tidy, contributors 
 should refrain from commenting on this website. Instead, messages should be 
 posted on the dev mailing-list{color}.
 {panel}
 h1. The current API (version 3.0)
 In this section, the current interfaces for vectors and matrices are 
 compared. Vectors and matrices are two mathematical objects which are very 
 close in nature. Their implementations should therefore be as similar as 
 possible. 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
 h3. List of the methods
 || {{RealVector}}  || {{RealMatrix}}  
  || Comments ||
 | {{RealVector add(RealVector v)}} | {{RealMatrix add(RealMatrix m)}} 
  |   |
 | {{int getDimension()}}   | {{int getRowDimension()}},\\ {{int 
 getColumnDimension()}} |   |
 | {{RealVector mapMultiply(double d)}} | {{scalarMultiply(double d)}} 
  | (1)   |
 |  | {{double getTrace()}}
  |   |
 |  | {{multiply(RealMatrix m)}}   
  |   |
 |  | {{double[] operate(double[])}}   
  | (2)   |
 |  | {{RealVector operate(RealVector)}}   
  |   |
 |  | {{RealMatrix power(int p)}}  
  |   |
 |  | {{double[] preMultiply(double[])}}   
  | (2)   |
 |  | {{RealMatrix 
 preMultiply(RealMatrix)}}|   |
 |  | {{RealVector 
 preMultiply(RealVector)}}|   |
 |  | {{RealMatrix transpose()}}   
  |   |
 h3. Comments on the above methods
 h4. Comment (1)
 {{RealVector RealVector.mapMultiply(double)}} and {{RealMatrix 
 RealMatrix.scalarMultiply(double)}} perform essentially the same task. 
 Readibility of the classes would be improved if they add the same name. This 
 is very important since these methods reflect the fact that the space of 
 vectors as well as the space of matrices are two vector spaces.
 h4. Comment (2)
 Prior to the release of version 3.0, all methods involving taking as 
 argument, or returning, {{double[]}} representing vectors were removed. The 
 rationale for this is that calling {{new ArrayRealVector(double[], false)}} 
 is very easy, and comes at virtually no cost (see MATH-653 and MATH-660). It 
 might be worth considering the same simplification for the {{RealMatrix}} 
 interface.
 h2. Methods reflecting the mathematical structure of euclidean space
 h2. Constructors, factory methods and related methods
 h2. Manipulation of entries
 h2. Various norms
 h2. Functional-programming-like methods

--
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




[jira] [Updated] (MATH-745) up to 5x Performance Improvement on FasFourierTransformer.java by using a recursive iterative sumation Approach

2012-02-12 Thread Leandro Ariel Pezzente (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/MATH-745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leandro Ariel Pezzente updated MATH-745:


Attachment: FastFourierTransformer.patch.txt

patch uploadad

 up to 5x Performance Improvement on FasFourierTransformer.java by using a 
 recursive iterative sumation Approach
 ---

 Key: MATH-745
 URL: https://issues.apache.org/jira/browse/MATH-745
 Project: Commons Math
  Issue Type: Improvement
Affects Versions: 3.0
Reporter: Leandro Ariel Pezzente
  Labels: FFT, Fast, Fourier, Transform
 Attachments: FastFourierTransformer.patch.txt


 By swithinch form a loop iterative approach to a recursive iterative approach 
 on fastFourierTransformer.java a Perfomance Improvement of up to 5x is gained.

--
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




[jira] [Updated] (MATH-742) Please make PolynomialSplineFunction Serializable

2012-02-10 Thread Leandro Ariel Pezzente (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/MATH-742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leandro Ariel Pezzente updated MATH-742:


Attachment: PolynomialSplineFunction.java

 Please make PolynomialSplineFunction Serializable
 -

 Key: MATH-742
 URL: https://issues.apache.org/jira/browse/MATH-742
 Project: Commons Math
  Issue Type: Improvement
Affects Versions: 2.2
Reporter: Neil Roeth
Priority: Minor
 Attachments: PolynomialSplineFunction.java


 PolynomialSplineFunction is not Serializable, while the very similar 
 PolynomialFunction class in the same package is. All that needs to be done is 
 to add the import:
 {{import java.io.Serializable;}}
 and change this:
 {{public class PolynomialSplineFunction implements 
 DifferentiableUnivariateRealFunction}}
 to this:
 {{public class PolynomialSplineFunction implements 
 DifferentiableUnivariateRealFunction, Serializable}}
 I made exactly that modification to a local copy and it serialized 
 successfully.  Before the change, I got serialization errors.
 Thanks.

--
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




[jira] [Updated] (MATH-741) Univariate Function Series Abstract Factory Implementation

2012-02-09 Thread Leandro Ariel Pezzente (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/MATH-741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leandro Ariel Pezzente updated MATH-741:


Attachment: TestHypergeometric.java
Hypergeometric.java
UnivariateFunctionFactory.java

UnivariateFuncionFactory.java is the main abstract class. Hypergeometric.java 
is an Hypergeometric function implementation constructed using this abstract 
superclass. TestHypergeometric.java is a Junit test that check the assertion 
between the Hypergeometric and 2 very well know equialities.

 Univariate Function Series Abstract Factory Implementation
 --

 Key: MATH-741
 URL: https://issues.apache.org/jira/browse/MATH-741
 Project: Commons Math
  Issue Type: New Feature
Affects Versions: 4.0
Reporter: Leandro Ariel Pezzente
Priority: Minor
 Attachments: Hypergeometric.java, TestHypergeometric.java, 
 UnivariateFunctionFactory.java


 To Implement an abstract class for witch Univariate functions constructed 
 using functional series. This abstract class must resolve all terms sums 
 using recursive iterative methods. Classes subclassed by this abstract 
 function must implement UnivariateFunction interface.

--
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




[jira] [Updated] (MATH-737) Multi Dimensional Legendre Polynomials Interpolation Class

2012-02-05 Thread Leandro Ariel Pezzente (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/MATH-737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leandro Ariel Pezzente updated MATH-737:


   Description: Extend legendre Polynomial Interpolation Class to 
support Multi-dimensional sets of points. This Class would be implemented in 
analysis,interpolation package.   (was: Extend legendre Polynomial 
Interpolation Class to support Multi-dimensional sets of points. This Class 
would be implemented in Polynomials package. )
Issue Type: New Feature  (was: Improvement)
 Affects Version/s: (was: 3.0)
4.0
Remaining Estimate: 0h
 Original Estimate: 0h

 Multi Dimensional Legendre Polynomials Interpolation Class
 --

 Key: MATH-737
 URL: https://issues.apache.org/jira/browse/MATH-737
 Project: Commons Math
  Issue Type: New Feature
Affects Versions: 4.0
Reporter: Leandro Ariel Pezzente
Priority: Trivial
  Labels: Legendre, Polynomials
   Original Estimate: 0h
  Remaining Estimate: 0h

 Extend legendre Polynomial Interpolation Class to support Multi-dimensional 
 sets of points. This Class would be implemented in analysis,interpolation 
 package. 

--
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