Skip to content

Electron occupation number not concerved in imaginary time-evolution #168

@atxy-blip

Description

@atxy-blip

Very recently we have found out that the electron occupation number changes drastically after several times of imaginary time-evolution.
The very finding has been reproduced on several GPU platforms with a test file (holstein-test.zip) provided by @zhoulq2333. With any version of renormalizer not earlier than 254b981, the value of e_occupation, which in principle should remain unchanged, deviates significantly from the initial value of 0.1 after a mere evolution of about 20 steps. Please feel free to carry out the test on your own.

In brief, the commit of 254b981 does two things

  1. add an environment variable RENO_NUM_THREADS to unify multi-thread libraries
  2. modify the tolerence used in MPS canonicalization

Bugs introduced by the latter should have been addressed by #167, while as I mentioned in #167 (comment), setting RENO_NUM_THREADS to 1 does not take effect in the latest version cloned from the master branch, though helps in the version of v0.0.4.

Therefore, I am seeking help here on how to address the problem, either to validate its existence or to investigate its origin.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions