tmancal74 / quantarhei

Open Quantum System Theory for Molecular Systems
MIT License
21 stars 16 forks source link

Implement secularization through inheritance from Secular class #94

Open tmancal74 opened 6 years ago

tmancal74 commented 6 years ago

Issues #75 and #65 can be fixed by implementing a class (Secular) which provides basic framework for secularization of an arbitrary SuperOperator included Relaxation tensors. In case of secularization, the SuperOperator will keep a matrix of relaxation rates and matrix of dephasing rates (in case of time-dependent operators, it will keep time evolution of the rates) and classes which handle propagation will use this information to efficiently propagate. Also EvolutionSuperOperator can be secularized or calculated in secular approximation

Affected classes:

SuperOperator EvolutionSuperOperator RelaxationTensor (and its derivatives)

tmancal74 commented 5 years ago

Secular class enhanced by providing "storage" for the secular relaxation matrix - self.secular_KK and dephasing rates - self.secular_GG. Secularization works for RelaxationTensor class when represented by a tensor (self.data)