Skip to content

Latest commit

 

History

History
24 lines (13 loc) · 830 Bytes

README.md

File metadata and controls

24 lines (13 loc) · 830 Bytes

SparseTensor

Pure python/python3 library for supporting block sparse tensors with arbitrarily many U(1) symmetries

The library supports a bunch of operations on tensors (see sparsenumpy.py):

tensor contraction (using tensordot)

merging and splitting indices

svd decomposition

truncation

qr decomposition

vectorization of SparseTensor for use in sparse solvers (might not be very fast)

testCaseTensor.py does some unittest checks

The file tensordotprof.py runs a small profiling on the tensordot function. It produces a file tensdotprof, which you can pass to snakeviz to visualize the result. It shows that for tensors with many small blocks, the overhead of python verus numpy.tensordot is large. When the blocksize gets larger than 50, the overhead becomes small and for 80 its negligible