Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[iot-wg] 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
~~~~~~~~~~~~~~~~~~~~~~~~



Back to the top