bath_mapper.spectral_function_to_coupling

bath_mapper.spectral_function_to_coupling(spectral_function, number_modes)

Convert a spectral function to a physical coupling as described by a Spin-Boson-System or Fermion-Boson-System.

If the input spectral function is a SpinBRNoiseOperator, the MixedLindbladOpenSystem constructed has one spin subsystem (with number_modes spins) and 3 * number_modes bosonic subsystems each with frequencies.len() modes. This is because each spin is coupled to 3 bosonic baths, one for each of the X, Y, Z couplings. Additionally, each energy interval (and therefore each frequency) contains one bosonic mode. If the input spectral function is a FermionBRNoiseOperator, the MixedLindbladOpenSystem constructed has one fermionic subsystem (with number_modes fermions) and number_modes * number_modes bosonic subsystems each with frequencies.len() modes. This is because each fermion is coupled to number_modes bosonic baths, as c0 can couple to all a0...aN terms. Additionally, each energy interval (and therefore each frequency) contains one bosonic mode.

Parameters:
  • spectral_function (Union[SpinBRNoiseOperator, FermionBRNoiseOperator]) -- A set of spectral functions for number_modes baths, represented by either a SpinBRNoiseOperator or a FermionBRNoiseOperator.

  • number_modes (int) -- The number of the spins or fermions in the system.

Returns:

The successfully converted spectral function as as MixedLindbladOpenSystem.

Return type:

MixedLindbladOpenSystem

Raises:
  • ValueError -- Spectral function matrix is not symmetric.

  • ValueError -- Could not construct MixedLindbladOpenSystem.