Hello,

my name is Cem. I am a PhD candidate working at the Fraunhofer Institute of Optronics, System Technologies and Image Exploitation.

I am a passionate programmer in C++ since I am student that I intensively use on a daily basis. My PhD thesis is about implementing fast tensor operations on shared memory systems using C++ (C++14) and OpenCL for GPUs. By tensor operations I mean those that are relevant in the realm of numerical multilinear algebra. I have already implemented tensor contractions and elementwise tensor operations for tensors and tensor views with arbitrary number of dimensions where the rank can be compile-time or runtime variable. For testing purposes I have implemented tensor data structures that allow to set the rank, dimensions and the layout at runtime (They could also be changed to be compile-time parameters).

I also want to implement common tensor algorithms such as the higher-order singular value decomposition, orthogonal iterator in order to support new algorithms for different types of applications. Using my library I have generalized and implemented the biconjugate gradient and Jacobi methods for multilinear systems that are described in

"Solving Multilinear Systems via Tensor Inversion
M. Brazell, N. Li, C. Navasca, and C. Tamon
SIAM Journal on Matrix Analysis and Applications201334:2, 542-570"

I presented the implementation and design of tensor template functions using iterators in MeetingC++ in Berlin 2017:  https://youtu.be/8P-sDH9XJAc

If your are interested in the details of my current implementation, please have a look at https://arxiv.org/abs/1711.10912

I would love to contribute to uBlas and to adjust the data structures according to the needs of the Boost community.

Best regards,

Cem