- From: Alexander Bigerl <bigerl@informatik.uni-leipzig.de>
- Date: Thu, 18 May 2017 18:28:17 +0200
- To: public-lod@w3.org
- Message-ID: <1495124897.6178.7.camel@informatik.uni-leipzig.de>
Hi everyone, I am working on a tensor-based triple store to query triple patterns (not full SPARQL). Therefor I'm looking for a suitable library supporting sparse tensor product. The programming language doesn't matter. But it would be nice if it was optimized for orthonormal-based tensors (means it doesn't need to distinguish between co- and contravariant dimensions for multiplication). In more detail: I represent my my data like this: * I have tensors storing boolean values. * They are n >= 3 dimensional and every dimension has the same size m>1000000. * Every dimension uses a natural number index 0...m. * The tensors are orthonormal-based so I don't need to distinguish between co- and contraviarant dimensions. * There are only very few true values in every tensor, so the rest of the values is false. Therefor it should be sparse. Non-sparse is no option because of at least 1000000^3 entries. I'm looking for: * efficient sparse n-D tensor implementation with support of a fast inner product like: Tαγβ • Dβδε = Rαγδε * optional: support for pipelining multiple operations * optional: support for logical and or pointwise multiplication of equal-dimensioned tensors. The following libraries don't do the trick for reasons: * Tensor flow: misses multiplication with non-dense-none-2D-matrices * scipy sparse: supports only 2D representation and would output a dense narray for dotproduct * theano: supports only 2D sparse tensors * Shared Scientific Toolbox and Universal Java Matrix Package: don't support multiplication of n-D sparse tensors Who is wandering now where the triples are: They are mapped to the dimensions' index so that the coordinates of a true in a 3D Tensor represents a triple. I would be very thankful for any comments or recommendations. Kind regards, Alexander Bigerl
Received on Friday, 19 May 2017 08:10:01 UTC