supergrad.quantum_system.LindbladObj

supergrad.quantum_system.LindbladObj#

class supergrad.quantum_system.LindbladObj(inpt=None, dims=None, locs=None, _nested_inpt=False, diag_unitary=None)[source]#

The Lindblad Object (LindbladObj) class is designed to represent superoperator in Kronecker product format. It’s particularly useful for representing sparse total systems’ superoperator in a form convenient for computing Einstein summation.

We express the Lindblad equation for a tensor-4 superoperator, the Hamiltonian part and Lindblad generator part are expressed as the tensor product of two operators. The local Hamiltonian and corresponding location should be specified in the inpt and locs argument.

Parameters:
  • inpt (list) – list of list of array inpt is a nested list represents a tensor product, while the first list corresponds to the left operand and the second list corresponds to right operand. Each element of operand corresponds to the local Hamiltonian of the corresponding subsystem tagged in the locs.

  • dims (list) – list of int Dimensions of subsystems in the composited Hilbert Space.

  • locs (list) – list of int Location information of corresponding local Hamiltonian. locs is a nested list represents a tensor product, while the first list corresponds to the left operand and the second list corresponds to right operand. For example, the first element of left operand is the index of the first subsystem in self.dims, and so on.

  • diag_unitary (array) – Unitary of diagonal-unitary format.

  • _nested_inpt (bool) – For internal using only.

__init__(inpt=None, dims=None, locs=None, _nested_inpt=False, diag_unitary=None) None[source]#

Methods

__init__([inpt, dims, locs, _nested_inpt, ...])

add_lindblad_operator(a[, b, chi])

Lindblad operator for a single pair of collapse operators (a, b), or for a single collapse operator (a) when b is not specified:

add_liouvillian(ham)

Convert Hamiltonian to Liouvillian.

compute_contraction_path([lindblad_list, ...])

Compute tensor network contraction path.

expm([right_density, trotter_order, tn_expr])

Calculate matrix exponentiation of LindbladObj.

full()

Dense order-4 tensor from the result of Kronecker product.

get_data()

set_data(data)

tree_flatten()

Specifies a flattening recipe.

tree_unflatten(aux_data, children)

Specifies an unflattening recipe.

Attributes

data

diag_status

The diagonal-unitary format status of subsystems.

loc_status

The local format status of subsystems.

shape

The shape of unitary