Shovan-Physics / cDMRG

Apply DMRG to continuous systems
Apache License 2.0
12 stars 3 forks source link

Run without Mathematica? #5

Open anton-buyskikh opened 3 years ago

anton-buyskikh commented 3 years ago

@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.

Shovan-Physics commented 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.

Shovan-Physics commented 3 years ago

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.

Shovan-Physics commented 3 years ago

I guess I should tag you for notification @anton-buyskikh

anton-buyskikh commented 3 years ago

@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.

Shovan-Physics commented 3 years ago

@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.