You might also look at Apache Commons Math:
http://commons.apache.org/math/
Doug
John Caron wrote:
Konrad Hinsen wrote:
I would like to do some data processing in Clojure (a JVM language),
with the data being read from a netCDF file. The processing involves
mostly standard linear algebra operations, e.g. singular value
decomposition.
Both Colt and JAMA contain all the operations I need, but unfortunately
they use different multiarray implementations than netCDF. I looks like
I'd have to copy the data between two array classes, which is a pretty
stupid (and inefficient) thing to do. Is there any other option? For
example a linear algebra library that works directly on Unidata's Java
array classes? If there is no other way than copying, what would be the
most efficient approach?
Thanks,
Konrad.
_______________________________________________
netcdf-java mailing list
netcdf-java@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit:
http://www.unidata.ucar.edu/mailing_lists/
Hi Konrad:
There are no known algebra packages using ucar.ma2.
The most efficient thing to use is this method on the Array class:
public java.lang.Object get1DJavaArray(java.lang.Class wantType);
this will give back the java primitive array, without copying if possible. So
if you have a double Array:
double[] ja = (double []) ma.get1DJavaArray( double.class);
you then have to see if your chosen algebra package has a constructor that can
wrap the java array without copying it. You will need the shape information:
int[] shape = ma.getShape();
Good luck, and drop me a note if you find out anything useful to others with
the same problem.
John
_______________________________________________
netcdf-java mailing list
netcdf-java@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/