Johnnie Gray
Johnnie Gray
As part of [this paper](https://arxiv.org/abs/2002.01935) I have made a python package - [`cotengra`](https://github.com/jcmgray/cotengra) - that is specifically aimed at contracting large complex tensor networks, mostly in the form of `PathOptimizer`...
Tensor slicing (essentially explicitly doing an outer sum over some indices rather than including them in the pairwise contractions) is a pretty useful way of decreasing the memory cost of...
If you try the ``'dp'`` optimizer on this contraction (a tree graph taken from #112): ```python 'ab,ab,bc,bc,ce,ce,ei,ei,ej,ej,cf,cf,fk,fk,fl,fl,bd,bd,dg,dg,gm,gm,gn,gn,dh,dh,ho,ho,hp,hp->' ``` it's veeery slow for ``shapes=[(2, 2)] * 30`` but very fast in...
It might be sensible (#99 and #112) for ``opt_einsum`` to perform some simple universal pre-processing of contractions before sending them to the actual path optimizers. Including: * **single index reduction**...
[TDVP](https://arxiv.org/abs/1408.5056) is very similar in sweeping structure to DMRG and should be easy to implement (essentially with local exponentials rather than local groundstates) and would be a nice alternative to...
The tensor network documentation, in particular, has fallen a bit behind the functionality. This issue is to keep track of what extra documents will hopefully be written and any suggestions...
``conda`` would be much the preferable way of making ``quimb`` available. The only missing dependency would be ``autoray`` currently.
In the following, the `'b'` index should be mangled on the first TN upon combination: ```python >>> import quimb.tensor as qtn >>> qtn.rand_tensor([2, 2], ['a', 'b']) & qtn.rand_tensor([2, 2], ['b',...
Implementing symmetries allows the targeting of sub-spaces in algorithms such as ``DMRG``, as well as affording memory and computation cost savings. A useful reference implementation might be: https://github.com/mhauru/tensors At the...
In the case where ``Tr(A)`` is known exactly, for example 1 for density operators, the ``approx_spectral`` methods could improve their accuracy by scaling each estimate using vector ``|phi>`` by that...