wavepacket-cpp-0.1.1b

所属分类:数学计算
开发工具:Visual C++
文件大小:304KB
下载次数:32
上传日期:2016-09-18 10:55:03
上 传 者JihadFenix
说明:  c++编写的小波包算法,可以实现小波包分解与重构,速度较快
(A wavelet packet implementation written in C++, does wavepacket decomposition and reconstruction quite efficiently)

文件列表:
wavepacket-cpp-0.1.1b (0, 2016-09-13)
wavepacket-cpp-0.1.1b\AUTHORS (146, 2016-09-13)
wavepacket-cpp-0.1.1b\NEWS (4542, 2016-09-13)
wavepacket-cpp-0.1.1b\Makefile (2452, 2016-09-13)
wavepacket-cpp-0.1.1b\GPL.txt (18092, 2016-09-13)
wavepacket-cpp-0.1.1b\test (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\misc (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\misc\InterpolatorTest.cpp (3214, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\state (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\state\GaussianTest.cpp (1950, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\state\HarmonicStateTest.cpp (2423, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\state\StateIntegrationTest.cpp (3834, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\state\MorseStateTest.cpp (3577, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\potentials (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\potentials\HarmonicFunctionTest.cpp (1895, 2016-09-13)
wavepacket-cpp-0.1.1b\test\functor\potentials\MorseFunctionTest.cpp (1568, 2016-09-13)
wavepacket-cpp-0.1.1b\test\builder (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\builder\StateBuilderTest.cpp (7590, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance\DensityOperator.cpp (3262, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance\ShapedLaser.cpp (4597, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance\RedfieldDissipation.cpp (6339, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance\HarmonicOscillator.cpp (4970, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance\FreeParticle.cpp (3597, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance\LindbladDissipation.cpp (6038, 2016-09-13)
wavepacket-cpp-0.1.1b\test\acceptance\Thermal.cpp (4738, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils (0, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\representation.hpp (2386, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\testmain.cpp (825, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\Random.hpp (2445, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\RepresentationUtilsTest.cpp (2315, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\Random.cpp (1495, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\tensor_utils.cpp (1691, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\operator.hpp (994, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\operator.cpp (1529, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\representation.cpp (3407, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\tensor_utils.hpp (2297, 2016-09-13)
wavepacket-cpp-0.1.1b\test\testutils\TensorUtilsTest.cpp (1870, 2016-09-13)
wavepacket-cpp-0.1.1b\test\propagator (0, 2016-09-13)
... ...

Description =========== This is a C++ library to numerically solve the Schroedinger equation for distinguishable particles. The code is under the GNU General Public License; see the accompagnying license file for the lawyer text. The current status in brief: - you can solve the Schroedinger and the Liouville-von-Neumann equations; switching can be done with few lines of code - multiple coupled equations can be solved - Lindblad and Redfield dissipation is implemented - only equally-spaced grids / plane wave expansions are implemented - operators are defined for harmonic and Morse potentials and for time-dependent laser fields - Various ODE propagators as well as the Chebychev polynomial method are implemented Also, there is some optimization lacking for complex Hamiltonians etc. Naturally, we plan to extend this in the nearer future. System requirements =================== To be able to compile the code at all, you need the following: * a compiler that implements the C++-11 standard. One of the later g++ (around version 4.7) or CLang++ version 3.2 should be fine. * the tensor library that we use - clone it via git from https://github.com/juanjosegarciaripoll/tensor.git - compile and install it (usual autoconf setup) - note that you will need to enable FFTW support, which also requires the fftw libraries (run the configure script with "--with-fftw") * the boost libraries from http://www.boost.org - You need at least boost version 1.56 * googletest 1.8.0 for compiling the tests - get it from https://github.com/google/googletest/releases/tag/release-1.8.0 * doxygen if you want to build the documentation ("make build-doc") Compilation and getting started =============================== To compile the code, copy the file "Makefile.config.template" to Makefile.config, modify the settings in there, and type "make". This will build the code and all tests, and run all tests. To get a feeling for the code, have a look at the demos under Demos/ and the acceptance tests under test/acceptance. These are explicitly meant as templates for real calculations (as well as complex tests in the latter case to check that the code is correct). Especially for the demos, also have a look at the Makefiles, these can be used for your calculations with minimal adjustments (mainly WAVEPACKET_TOPDIR has to be set to the proper path) Furthermore, there are some basic tutorials on the wiki (https://sourceforge.net/p/wavepacket/cpp/wiki/Tutorial). You can also build the documentation using "make build-doc". This requires doxygen, and constructs a documentation in the directory ./built-doc. The constructed documentation details the available classes grouped into modules (operators, grids etc.). If you do not build the doxygen documentation, you can also find the information as comments in the header files.

近期下载者

相关文件


收藏者