0.5.0ΒΆ

The most prominent change of this release is the addition of the RestrictedPartHoleDrudge. Compared with the SpinOneHalfPartHoleDrudge, this class is less flexible but can be orders of magnitude faster. Note that no backward compatibility is broken by this. All previous script should still run fine. For problems originally written in terms of the unitary group generators, switching to this new drudge can be really easy. All these needs to be done is to remove your own definitions of the unitary group generators, and use the generator e_ provided by the drudge instead. For instance, as in the patch for the RCCSD example.

With such simple changes, the internals of the evaluations will be switched to the new scheme and the code will be significantly faster.

In addition of this change, there are also some other revisions,

  • A bug in Spark has been circumvented in tensor rewriting. Thanks to Ethan Qiu for pointing this out.
  • Tensor definition now allow generic external indices without explicit range.
  • A new simplification heuristics is added to simplify summations whose dummy is not actually involved in the tensor.
  • Add total timing support in Stopwatch.
  • Optimize summation discovery based on Einstein summation convention.