Hello everyone,
I herbey present the next alpha version of the C++ rewrite of
Wavepacket.
One of the features that we always wanted for the mythical WavePacket 5
was transparent handling of density operators. This was difficult with
the current Matlab's code structures, and is now fully supported by the
C++ port.
There are still many rough edges, starting with the installation, going
over the setup of the initial wave packet to the inefficient operator
arithmetic, but by changing a few lines of code (~3), you can now
convert every wave function propagation into an equivalent density
operator propagation, and this feature is meant to stay.
For completeness, the changelog:
- new working acceptance tests:
- Harmonic oscillator with Lindblad dissipation
- Density propagation and Wavefunction propagation give same result
- added a builder to set up density operators as direct product states
- completely reworked how operators work; there is now a primitive that
knows what to do with various objects and a high-level operator that
determines the actual action (commute with a density operator or
apply to a wavefunction)
- added a bunch of new operators:
- CommutatorOperator, LindbladLiouvillian as high-level operators
- ConstantOperator, TensorOperator as primitives
- added class to simplify transformation of wavefunctions/density
operators between the various representation (DVR, FBR, DVR with
weights)
- added Makefile target and structure for doxygen documentation
- slightly simplified the Makefile configuration; fixed a few linker
issues
- shifted a few files, beautification and simplification of the
code/tests etc.
Ulf
|