Skip to content

Computing smaller process tensors from larger ones #121

@gefux

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.

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