Hi all,
I have a last minute idea for a GSoC project. It involves either adding tensor methods to NMatrix or building a separate gem (NTensor or something). There seems to be a great lack of tensor libraries available to the scientific community, apart from a couple Matlab toolboxes (but not everyone has access to Matlab, or has any desire to use it). See this article:
https://www.oreilly.com/ideas/lets-build-open-source-tensor-libraries-for-data-science. Some detail on the proposed project is given below.
A tensor is essentially a multidimensional array, which NMatrix has already some support for. This project would involve:
1. Implementation of basic tensor operations, such as outer product, n-mode product, slicing, matricization, etc.
2. Implementation of tensor decompositions, such as CANDECOMP/PARAFAC, Tucker, higher-order SVD, etc.
3. Implementation of further tensor methods used in machine learning / data science, such as tensor regression.
Prerequisites on the student:
Sorry for the last minute notice. Just a few days ago, I have stumbled upon the lack of tools for tensor analysis, as I was preparing to try out the methodology on my own research.
If you are interested to be a student or a mentor let me know.
Best,
Alexej