Open anton-buyskikh opened 3 years ago
The Mathematica front-end calculates all the local operator matrices and stores them in a .txt file. Then cDMRG reads this text file and runs the entire DMRG program, i.e., all sweeps for all energy penalties, and stores the result.
I don't know what you mean by using simple test cases. We only store the input for a few cases and use them repeatedly? Calculating the input doesn't take long btw.
I guess I should tag you for notification @anton-buyskikh
@Shovan-Physics The reason I though about it was to make this code accessible for users without Mathematica and use Mathematica only for post-processing and visualisation. But what I'm getting is that the pre-calculation steps are done in Mathematica for better choice of basis. Let's leave it as it is then.
@anton-buyskikh Yes, some pre-processing is required for calculating the basis and local operators, which we do in Mathematica. In principle, one can also do this part in C++, but that'll need writing more codes.
@Shovan-Physics is it sensible to use this code without Mathematica front-end? As far as I understand the executable
cDMRG
can be used as a stand-alone application to do single sweeps.The advantage is huge: we can pick a few simple test cases where a small model is calculated and compared to precomputed results. These test cases will be used by a continuous integration system, i.e. check that the code still produces the same results if you continue development.
It will need a bit of work, but I believe it can be done relatively quickly once we choose test cases and what metrics we use for comparison of the results.