C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
NonOrthogonalDensityOperator.h
Go to the documentation of this file.
1 // Copyright András Vukics 2006–2014. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
2 // -*- C++ -*-
4 #ifndef CPPQEDCORE_QUANTUMDATA_NONORTHOGONALDENSITYOPERATOR_H_INCLUDED
5 #define CPPQEDCORE_QUANTUMDATA_NONORTHOGONALDENSITYOPERATOR_H_INCLUDED
6 
7 #include "NonOrthogonalDensityOperatorFwd.h"
8 
9 #include "DensityOperator.h"
10 
11 
12 namespace quantumdata {
13 
14 template<int RANK, typename TRAFO>
15 class NonOrthogonalDensityOperator/* : public DensityOperator<RANK>, private linalg::VectorSpace<NonOrthogonalDensityOperator<RANK,TRAFO> > {
16 
17  typedef StateVectorBase<RANK> Base;
18  typedef Base::Impl Impl;
19  typedef Base::Idx Idx ;
20 
21  NonOrthogonalStateVector(const Impl& array) : Base(array), _arrayPulled(array.shape()), _PulledCompatible(false) {}
22  // Not pulled in the first place
23 
24  Impl& operator()() {_PulledCompatible=false; return const_cast<Impl&>(static_cast<const Base*>(this)->operator());}
25 
26  // matrix-like indexing
27  const dcomp matrix(const Idx& i1, const Idx& i2);
28 
29  renorm
30 
31  CLDO MakeLDO() const; // For this it has to pull
32 
33 private:
34  Impl _arrayPulled;
35  bool _PulledCompatible;
36 
37  strategyForPulling _p;
38 
39 };
40 
41 */;
42 
43 } // quantumdata
44 
45 
46 #endif // CPPQEDCORE_QUANTUMDATA_NONORTHOGONALDENSITYOPERATOR_H_INCLUDED
Comprises classes representing the state of composite quantum systems and providing various interface...
Definition: ArrayBase.h:16
Defines class of the same name.