make_W_II

  • full name: tenpy.networks.mpo.make_W_II

  • parent module: tenpy.networks.mpo

  • type: function

tenpy.networks.mpo.make_W_II(t, A, B, C, D)[source]

W_II approx to exp(t H) from MPO parts (A, B, C, D).

Get the W_II approximation of [zaletel2015].

In the paper, we have two formal parameter “phi_{r/c}” which satisfies \(\phi_r^2 = phi_c^2 = 0\). To implement this, we temporarily extend the virtual Hilbert space with two hard-core bosons “br, bl”. The components of Eqn (11) can be computed for each index of the virtual row/column independently The matrix exponential is done in the hard-core extended Hilbert space

Parameters:
  • t (float) – The time step per application of the propagator. Should be imaginary for real time evolution!

  • A (numpy.ndarray) – Blocks of the MPO tensor to be exponentiated, as defined in [zaletel2015]. Legs 'wL', 'wR', 'p', 'p*'; legs projected to a single IdL/IdR can be dropped.

  • B (numpy.ndarray) – Blocks of the MPO tensor to be exponentiated, as defined in [zaletel2015]. Legs 'wL', 'wR', 'p', 'p*'; legs projected to a single IdL/IdR can be dropped.

  • C (numpy.ndarray) – Blocks of the MPO tensor to be exponentiated, as defined in [zaletel2015]. Legs 'wL', 'wR', 'p', 'p*'; legs projected to a single IdL/IdR can be dropped.

  • D (numpy.ndarray) – Blocks of the MPO tensor to be exponentiated, as defined in [zaletel2015]. Legs 'wL', 'wR', 'p', 'p*'; legs projected to a single IdL/IdR can be dropped.