Skip to content

Computing smaller process tensors from larger ones #121

Description

@gefux

It could be useful to have a function that computes smaller process tensors (in MPO form) from larger ones by:

  • "tracing out" late time steps
  • "tracing out" early time steps (this could depend on the system Hamiltonian and Controls)
  • coarse graining the time steps (for example: 3 timesteps with dt=0.02 become one time step with dt'=0.06)
  • truncating the MPO bonds with relative and absolute cutoffs.

The function header would then look like this:

def reduce_process_tensor(pt, system=None, control=None, start_index=1, end_index=-1, coarse_graining=1, epsrel=None, chi=None):

This could be particularly useful if one has a library of different process tensors (as I proposed in #119). Then the library only needs to hold the most accurate, fine, and long process tensors. The coarser ones could then be straightforwardly generated from the finer ones.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions