Menu

Reference.Classes.ket_rho

Burkhard Schmidt

WavePacket main classes "ket" and "rho": Quantum state vectors and density matrices in eigen representation

The classdef "ket" deals with quantum state vectors and density operators in eigen (aka energy) representation . Quantum-mechanical observables/operators are represented as matrices.

The classdef "rho" deals with quantum density operators in eigen (aka energy) representation. To avoid the representation of quantum-mechanical super-operators as 4th-order tensors, we use a tetradic notation, i.e. a vectorization of density (and other) matrices, along with a corresponding representation of superoperators as matrices. Note that the Matlab/Octave package also contains several types of Lindblad models for treating dissipation and decoherence in the quantum density picture.

With the above representations, objects of classes "ket" and "rho" are treated in many aspects in the same way (which is why "rho" is a subclass of "ket"), using the formalism of (bi-)linear control theory for expressing both TDSE and LvNE , based on the notions of controlability and observability. Even though at that time still without object-oriented programming concepts, quantum state vectors and density matrices were first introduced in versions 5.x of WavePacket, in the context of model order reduction and optimal control problems.

  • For the source codes of the classdef "ket" see here.
  • For the source codes of the classdef "rho" see here.

In addition to the methods that are required for each and every of the WavePacket main classes, the classdefs "ket" and "rho" contain the following public methods:

method explanation
check_stable check whether system's evolution is stable, i.e. whether real parts of eigenvalues of A are negative
spectrum_A Calculate spectrum of A-matrix and plot it in the complex number plane

Furthermore, the classdefs "ket" and "rho" contain the following public properties containing information about the matrices A, B, N and C, D and vectors x_i, x_e, etc used in the following bilinear control problem, see also our Matlab/Octave functions qm_abncd, qm_balance, qm_truncate, and qm_H2model.

 d                                                           
-- x(t) = ( A + iNu(t) ) x(t) + iBu(t)                      
dt

                            T                                         
y(t) = C x(t) + x (t) D x(t)

The respective properties are given in the following table:

property description
A matrix describing the (linear!) time evolution of the unperturbed (field-free) system
B set of matrices for terms linear in the field components
N set of matrices for bilinear terms (linear in field and linear in state vectors)
C set of matrices for linear observables (control targets) ¹
D set of matrices for quadratic observables (control targets) ¹
Q set of toggles indicating whether 2ℜ(⟨c,x⟩) or abs(⟨c,x⟩)² for Q=false or Q=true, respectively, are optimized; see work by Zhu/Botina/Rabitz(1998) or Ohtsuki/Zhu/Rabitz(1999).
S left-multiply a state vector with this matrix to perform balancing transformation
T inverse transformation
x input (state vector)
x_initial initial state vector: x(t=0) = x0
x_equilibrium equilibrium vector: A xe = 0, i.e. fixed point of ∂tx=Ax
x_label labeling state components
y output (observables)
y_initial initial values of observables: y0 = C x0
y_equilibrium equilibrium values of observables: ye = C xe
y_label labeling output components, aka observables
label for plot labels
title for plot titles

¹ Note that either one of C or D has to exist, but not both of them!


Related

Wiki: Reference.Classes.Main
Wiki: Reference.Programs.qm_H2model
Wiki: Reference.Programs.qm_abncd
Wiki: Reference.Programs.qm_balance
Wiki: Reference.Programs.qm_setup
Wiki: Reference.Programs.qm_truncate
Wiki: Reference.Variables.plots
Wiki: Reference.Variables.state
Wiki: Reference.Variables.time.ket
Wiki: Reference.Variables.time.propa.ode
Wiki: Reference.Variables.time.rho
Wiki: Reference.Variables.time
Wiki: Users.Basics.Main

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.