I am looking to implement this paper in Julia : Complex Embeddings for Simple Link Prediction (arxiv.org). I initially tried to set up a Tensor of the size of entity and relations I have and it was too large to fit into memory. Are there any libraries and packages in Julia (like sparse tensors) that I can leverage for this purpose? The paper describes an iterative procedure and operates using complex numbers.

Also, would love any other guidance in implementing the paper in an optimal way (might add more functionality, that I am thinking about, might be some additional regularizers).

It’s always max 2D. I don’t know if tensor here means 3D+ but is such a package for sparse (tensors), available, like in (i.e. without using that one with Julia, while using it or any Python library would also be a valid choose using PythonCall.jl):

Thank you, I am implementing it as a vector of Sparse Arrays as suggested in the next comment. I have been able to generate the tensors, and the sparse arrays.

I am now trying to figure out how to implement the iterative solver to get Matrices A and Tensor R. I am able to specify the tensor in the form of vector of vectors since the matrices in tensor are diagonalized. Are there any specific libraries, or methods suggested for such use cases? I will need to implement an iterative algorithm eventually to learn parameters for A and R.