This was my project proposal for GSoC 2018. The qualifying task was to implement inversion for 5x5 matrices, ideally using xtensor.
The details of this implementation and its design can be found in the document: https://github.com/FrozenWinters/xinvert/blob/master/docs/xinvert_design_document.pdf
Subsequently to submitting this, I given a lot of information about the project and composed the following proposal: https://github.com/FrozenWinters/xinvert/blob/master/docs/GSoC_Proposal/GSoC_ACTS_Proposal.pdf
This repo contains the source for the project and documentation, with built document files. It also contains a diagram mentioned in the design document: https://github.com/FrozenWinters/xinvert/blob/master/docs/mmult_explanation.pdf
While working on qualifying task, I made my first brush with xtensor and read about half of the words in the Usage section of the xtensor documentation. I spent several hours working to an eventual objective I mentioned in the design document; this was based on an incorrect understanding of hardware vectorisation.
The results of the GSoC project itself may be found in the following repo: https://gitlab.in2p3.fr/Antares/xtensor_experiments