Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [science-iwg] Eclipse Proposal - Matrix Algorithms

Erwin,

yep, that needs to be determined. Currently, we are using EJML v0.29. I assume that most of the needed functions (matrix multiplication, matrix addition, ...) can be easily mapped. If not, it would be also OK to directly link a library, preferably an Eclipse project like Eclipse January or Eclipse ND4J.


Best,
Philip

Am 20.06.19 um 12:38 schrieb erwindl0@xxxxxxxxx:
Hi Philip,

Interesting proposition.

I'm not that experienced in this domain, but wouldn't this always be linked to a concrete a-priori data structure / matrix representation?
E.g. January or ND4J or ... have their own multi-dimensional array representations.

Or would this project provide its own matrix structure API and implementations (and bridges to some other well-known projects' data structures)?

cheers
erwin


-----Original Message-----
From: science-iwg-bounces@xxxxxxxxxxx <science-iwg-bounces@xxxxxxxxxxx> On Behalf Of Philip Wenig
Sent: Thursday, 20 June 2019 09:48
To: science-iwg@xxxxxxxxxxx
Subject: [science-iwg] Eclipse Proposal - Matrix Algorithms

Hi folks,

does it make sense to file a new Eclipse Proposals "Matrix Algorithms"
under the umbrella of the Science working group?

We have dozens of algorithms in ChemClipse/OpenChrom which we would like to migrate to a separate project. The goal is, that they can be reused more easily in other projects. I assume

Diamond Light Source
Oak Ridge
deeplearning4j
...

are facing the same problem. At the moment, these algorithms are part of ChemClipse, DAWNSci, deeplearning4j ... and to use them, you have to clone the complete project even if you only need a certain algorithm. We could provide the following algorithms (implementations) in Java:

SVD (Singular Value Decomposition)
NIPALS (Non-linear Iterative Partial Least Squares) OPLS (Orthogonal Projections to Latent Structures)

Currently, we are working on:

MCR-AR (Multivariate Curve Resolution - Alternating Regression)

In the future, we are interested to implement:

PARAFAC2 (Parallel Factor Analysis 2)
TCC (Tucker's Congruence Coefficient)

Java isn't that strong in matrix operations, though we could use matrix libraries and/or create the algorithms in a way that different matrix libraries (Java, C, ...) can be used, e.g.:

ND4J (http://nd4j.org)
Eclipse January (https://www.eclipse.org/january) EJML (http://ejml.org) OpenBLAS (https://www.openblas.net)

In my opinion, we should have a dependency to Apache Commons Math and setup the project in an encapsulated way, similar as SWTChart for plotting charts (it requires only double[] arrays to plot the data).

https://commons.apache.org/proper/commons-math
https://github.com/eclipse/swtchart


What's your opinion?
Feedback is highly appreciated.


Best,
Philip

--
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net ~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
science-iwg mailing list
science-iwg@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/science-iwg

_______________________________________________
science-iwg mailing list
science-iwg@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/science-iwg

--
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry
Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net
~~~~~~~~~~~~~~~~~~~~~~~~



Back to the top