Re: How about extending JAMA
Just to chime in here: This is one of the hopes and dreams I think we
have at Apache for the Jakarta Commons Math package. I think that Apache
represents a good neutral location for the advancement of such an open
and shared API. We already maintain a library of functions that can be
utilized to implement such Matrix operations.
We would gladly take any contributions and would enjoy others
involvement in advancing an open math java api further. All developers
> I like this idea that Kim is proposing here. I myself has extended
> JAMA for my own work and make most methods (in Extended Jama)
> equivalent to MatLab. This mean that I code in Java (JAMA) but think
> in MatLab. Some of the methods Kim have mentioned , I have already
> made available in my JAMA extension , because they are standard MatLab
> function call.
> In MatLab:
> B = A(p ,:) - 'p' is the index of that row [getRow(int row)]
> B = A(: ,p) - 'p' is the index of that column [getColumn(int
> B = mean(A ,2) - '2' is reference to mean of columns
> B = mean(A ,1) - '1' is reference to mean of rows [getRwoMeans()]
> B = diff(A ,1 ,1) - '1' and '1' are the "difference order" (first
> order in this case) and reference to 'rows' [differenceByRowMeans()]
> B = diff(A ,1 ,2) - '1' and '2' are the "difference order" (first
> order in this case) and reference to 'columns'
> Just a suggestion to Ron and Cleve , if it is possible to make Jama
> evolve with users can make contributions so that Jama is regularly
> updated with the progress of each new version be made available from
> NIST. This will result in incremental new versions for Jama.
> Kim van der Linde wrote:
>> Hi All,
>> I have a question. I have added several methods to the Matrix class
>> in Jama, such as:
>> public Matrix getRow(int row) // returns a 1xn matrix
>> public Matrix getColumn(int column) // returns a mx1 matrix
>> public double getColumnMeans()
>> public double getRowMeans()
>> public String toString() // gives back a tab separated row and column
>> correct string
>> public Matrix differenceByColumnMeans()
>> public Matrix differenceByRowMeans()
>> Furthermore, I made a convinience class (Matrices) which returns
>> standard matrices such as SSCP, covariance and correlation matrices.
>> I needed some of these for matrix calculations involving mahalanobis
>> distances of multivariate data sets and related outlier detection
>> using the Minimum Volume Ellipsoid (MVE) method.
>> In the near future, I will make available a jar file with the MVE
>> module, and I need to incorporate a class with the added methods.
>> What would be the proper way to proceed. Included the amended
>> Jama.Matrix class, rename the class to kim.math.Matrix? How about
>> copyright notices? And if including the amended Jama.Matrix class is
>> preferred, how do I prevent mixing up with the original class?
Mark R. Diggory
Harvard MIT Data Center
Date Index |
Thread Index |
Problems or questions? Contact firstname.lastname@example.org