-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Changelog: - added support for TD-DMRG with time-independent Hamiltonian - added Changelog
- Loading branch information
1 parent
5ab0eef
commit f6d3a3c
Showing
87 changed files
with
36,853 additions
and
789 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,3 +5,5 @@ | |
build*/ | ||
my* | ||
.vscode | ||
**check* | ||
**resu* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,70 +1,131 @@ | ||
image: gitlab.chab.ethz.ch:4567/reiher/docker/qcmaquis-gcc:latest | ||
|
||
# Pipeline that compiles the code with increasingly complex models | ||
|
||
stages: | ||
- buildBasic | ||
- testBasic | ||
- buildAdvanced | ||
- testAdvanced | ||
- buildFinal | ||
- testFinal | ||
|
||
build-electronic: | ||
stage: build | ||
stage: buildBasic | ||
tags: | ||
- default_docker | ||
script: | ||
- mkdir buildElectronic && cd buildElectronic | ||
- cmake -DQCMAQUIS_TESTS=ON -DBUILD_SYMMETRIES="TwoU1;TwoU1PG;SU2U1;SU2U1PG" ../dmrg | ||
- make -j4 | ||
- make -j2 | ||
artifacts: | ||
paths: | ||
- buildElectronic/ | ||
expire_in: 6h | ||
when: always | ||
|
||
testElectronic: | ||
stage: testBasic | ||
needs: ["build-electronic"] | ||
tags: | ||
- default_docker | ||
script: | ||
- cd buildElectronic | ||
- make test -j2 | ||
|
||
build-relativistic: | ||
stage: build | ||
stage: buildAdvanced | ||
needs: ["testElectronic"] | ||
tags: | ||
- default_docker | ||
script: | ||
- mkdir buildRelativistic && cd buildRelativistic | ||
- cmake -DQCMAQUIS_TESTS=ON -DBUILD_SYMMETRIES="TwoU1;TwoU1PG;SU2U1;SU2U1PG;U1DG" ../dmrg | ||
- make -j4 | ||
- make -j2 | ||
artifacts: | ||
paths: | ||
- buildRelativistic/ | ||
expire_in: 6h | ||
when: always | ||
|
||
testRelativistic: | ||
stage: testAdvanced | ||
needs: ["build-relativistic"] | ||
tags: | ||
- default_docker | ||
script: | ||
- cd buildRelativistic | ||
- make test -j2 | ||
|
||
build-with-nu1: | ||
stage: build | ||
stage: buildFinal | ||
needs: ["testRelativistic"] | ||
tags: | ||
- default_docker | ||
script: | ||
- mkdir buildNU1 && cd buildNU1 | ||
- cmake -DQCMAQUIS_TESTS=ON -DBUILD_SYMMETRIES="TwoU1;TwoU1PG;SU2U1;SU2U1PG;U1DG;NU1" -DBUILD_PREBO=ON -DDMRG_NUMSYMM=5 ../dmrg | ||
- make -j4 | ||
- make -j2 | ||
artifacts: | ||
paths: | ||
- buildNU1/ | ||
expire_in: 6h | ||
when: always | ||
|
||
testElectronic: | ||
stage: test | ||
needs: ["build-electronic"] | ||
testNU1: | ||
stage: testFinal | ||
needs: ["build-with-nu1"] | ||
tags: | ||
- default_docker | ||
script: | ||
- cd buildElectronic | ||
- make test | ||
- cd buildNU1 | ||
- make test -j4 | ||
|
||
testRelativistic: | ||
stage: test | ||
needs: ["build-relativistic"] | ||
# Pipeline for the TD-DMRG case | ||
|
||
build-TD-conventional: | ||
stage: buildBasic | ||
tags: | ||
- default_docker | ||
script: | ||
- cd buildRelativistic | ||
- make test | ||
- mkdir buildTDConventional && cd buildTDConventional | ||
- cmake -DQCMAQUIS_TESTS=ON -DBUILD_SYMMETRIES="TwoU1;TwoU1PG;SU2U1;SU2U1PG" -DBUILD_DMRG_EVOLVE=ON ../dmrg | ||
- make -j2 | ||
artifacts: | ||
paths: | ||
- buildTDConventional/ | ||
expire_in: 6h | ||
when: always | ||
|
||
testNU1: | ||
stage: test | ||
needs: ["build-with-nu1"] | ||
testTDConventional: | ||
stage: testBasic | ||
needs: ["build-TD-conventional"] | ||
tags: | ||
- default_docker | ||
script: | ||
- cd buildNU1 | ||
- make test | ||
- cd buildTDConventional | ||
- make test -j2 | ||
|
||
build-TD-with-all-symmetries: | ||
stage: buildAdvanced | ||
needs: ["testTDConventional"] | ||
tags: | ||
- default_docker | ||
script: | ||
- mkdir buildTDAllSymmetries && cd buildTDAllSymmetries | ||
- cmake -DQCMAQUIS_TESTS=ON -DBUILD_SYMMETRIES="TwoU1;TwoU1PG;SU2U1;SU2U1PG;U1DG;NU1" -DBUILD_DMRG_EVOLVE=ON -DBUILD_PREBO=ON ../dmrg | ||
- make -j2 | ||
artifacts: | ||
paths: | ||
- buildTDAllSymmetries/ | ||
expire_in: 6h | ||
when: always | ||
|
||
testTDAllSymmetries: | ||
stage: testAdvanced | ||
needs: ["build-TD-with-all-symmetries"] | ||
tags: | ||
- default_docker | ||
script: | ||
- cd buildTDAllSymmetries | ||
- make test -j2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Changelog | ||
|
||
## Release 3.1.0 | ||
|
||
- Added support for TD-DMRG with time-independent Hamiltonian | ||
|
||
## Release 3.0.6 | ||
|
||
- Bugfix for compilation with BUILD_PREBO=OFF | ||
|
||
## Release 3.0.5 | ||
|
||
- Added support for PreBO DMRG calculations | ||
|
||
## Release 3.0.4 | ||
|
||
- Fixed overlap calculations in MPSSI | ||
- Fixed number of sweeps for DMRGSCF excited states | ||
- Got rid of boost::enable_if and boost::shared_ptr in favour of STL | ||
- Small updates in the Fortran interface and for Mac OS X | ||
|
||
## Release 3.0.3 | ||
|
||
- Fix for Fiedler ordering and excited states | ||
- Faster parallel RDM evaluation | ||
- Fixed some crashes for TDM evaluation | ||
- Added several tests for RDMs | ||
- Ability to read necessary parameters from checkpoint files |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||
* * | ||
* ALPS Project: Algorithms and Libraries for Physics Simulations * | ||
* * | ||
* ALPS Libraries * | ||
* * | ||
* Copyright (C) 2012 by Andreas Hehn <[email protected]> * | ||
* * | ||
* This software is part of the ALPS libraries, published under the ALPS * | ||
* Library License; you can use, redistribute it and/or modify it under * | ||
* the terms of the license, either version 1 or (at your option) any later * | ||
* version. * | ||
* * | ||
* You should have received a copy of the ALPS Library License along with * | ||
* the ALPS Libraries; see the file LICENSE.txt. If not, the license is also * | ||
* available from http://alps.comp-phys.org/. * | ||
* * | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * | ||
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT * | ||
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE * | ||
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, * | ||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * | ||
* DEALINGS IN THE SOFTWARE. * | ||
* * | ||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | ||
|
||
#ifndef ALPS_NUMERIC_MATRIX_ADJOINT_HPP | ||
#define ALPS_NUMERIC_MATRIX_ADJOINT_HPP | ||
|
||
#include <alps/numeric/matrix/adjoint_view.hpp> | ||
|
||
namespace alps { | ||
namespace numeric { | ||
|
||
template <typename Matrix> | ||
inline adjoint_view<Matrix> adjoint(Matrix const& m) { | ||
return adjoint_view<Matrix>(m); | ||
} | ||
|
||
template <typename Matrix> | ||
void adjoint_inplace(Matrix& m) { | ||
typedef typename Matrix::size_type size_type; | ||
using std::swap; | ||
if(num_rows(m) == num_cols(m) ) { | ||
for(size_type i = 0; i < num_rows(m); ++i) { | ||
m(i, i) = std::conj(m(i, i)); | ||
for(size_type j = i+1; j < num_cols(m); ++j) { | ||
m(i, j) = std::conj(m(i, j)); | ||
m(j, i) = std::conj(m(j, i)); | ||
swap(m(i,j), m(j,i)); | ||
} | ||
} | ||
} | ||
else { | ||
// TODO replace this code by an actual inplace implementation | ||
Matrix m2 = adjoint(m); | ||
swap(m,m2); | ||
} | ||
} | ||
|
||
} // end namespace numeric | ||
} // end namespace alps | ||
|
||
#endif //ALPS_NUMERIC_MATRIX_ADJOINT_HPP |
Oops, something went wrong.