From: Ulf L. <ul...@wa...> - 2014-04-13 18:36:32
|
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 |