Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: pomerol-ed/pomerol

Tags

2.2

Toggle 2.2's commit message
Release 2.2

- New class `FieldOperator`. This class is an intermediate layer in the
  inheritance hierarchy between `MonomialOperator` and
  `CreationOperator`/`AnnihilationOperator`.

- `GreensFunction` has been extended to compute anomalous GFs. This can be
  achieved by passing two `AnnihilationOperator` objects to the constructor.
  A unit test for this new functionality has been added.

- `GFContainer` can now store anomalous Green's functions (an extra boolean
  argument has been added to its constructor to control this new feature).

- Added a new family of functions `LatticePresets::Pairing()` that return
  expressions for superconducting pairing terms.

- New class `QuarticOperator`. In full analogy with `QuadraticOperator`, it is
  meant to be primarily used with `EnsembleAverage` to compute e.g. average
  double occupancy.

- It is now possible to pass a tolerance level for the retained matrix elements
  to `MonomialOperator::compute()`, `MonomialOperatorPart::compute()` and
  `FieldOperatorContainer::computeAll()`.

- Lehmann representation: Reorganized handling of various adjustable tolerance
  levels in `GreensFunction`, `Susceptibility`, `ThreePointSusceptibility`,
  `TwoParticleGF` and related classes. All tolerance levels are now exposed to
  the user.

- Speed up construction of Lehmann representations by switching from `std::set`
  to the faster `std::unordered_set` in `TermList`.

- The tutorial has been extended to demonstrate the use of the new features.

2.1

Toggle 2.1's commit message
Release 2.1

- New classes to compute the 3-point fermion-boson susceptibilities,
  `ThreePointSusceptibility`, `ThreePointSusceptibilityPart` and
  `ThreePointSusceptibilityContainer`.
- `QuadraticOperator` can now be a product of two creators or two annihilators.
- Renamed type aliases `FreqTuple` -> `FreqTuple3` and `FreqVec` -> `FreqVec3`.
  The old names are still usable but marked as deprecated.
- Bumped required CMake version to 3.11.0.
- Bumped required libcommute version to 0.7.2.
- Use CMake's module `FetchContent` to fetch libcommute if it is not found
  locally.
- Install CMake configuration files into
  `${CMAKE_INSTALL_PREFIX}/lib/cmake/pomerol`, which is the recommended
  location.
- New GitHub Actions workflow that builds and installs pomerol on macOS 11.

2.0

Toggle 2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
rearrange (#56)

2.0_pre

Toggle 2.0_pre's commit message
Major release 2.0

Main changes in Pomerol 2.0
===========================

- The Mozilla Public License Version 2.0 has been adopted.

- Pomerol 2.0 requires a C++11 compatible compiler to build.

- Dependence on Boost.MPI and Boost.Serialization has been dropped. Pomerol 2.0
  still depends on a few header-only Boost libraries and an MPI-3.0
  implementation that provides a working `<mpi.h>`.

- Changed extension of all header files from `.h` to `.hpp`.

- The input layer and diagonalization routines have been rewritten to benefit
  from facilities provided by
  [libcommute](https://github.com/krivenko/libcommute). Hamiltonians to be
  solved are now specified as libcommute's expressions with arbitrary static
  types of indices carried by creation/annihilation operators.

- Thanks to the use of libcommute's expressions, it is now possible to solve
  models, whose Hamiltonians involve bosonic degrees of freedom.

- The `Lattice` class has been retired. The `LatticePresets` class has been
  turned into a namespace with preset functions returning their respective
  expressions of Hamiltonian terms. For the sake of backward compatibility,
  operators in the expressions returned by these functions carry the
  traditional (site label, orbital index, spin projection) index triplets.

- The `spin` enumeration type is now declared in the `LatticePresets` namespace.
  The enumeration has also been extended with an extra `undef` value, which is
  meant to be used on bosonic creation/annihilation operators.

- The `POMEROL_COMPLEX_MATRIX_ELEMENTS` CMake option has been removed.
  A proper matrix storage format is selected at runtime depending on the types
  of input expressions for Hamiltonians and operators of physical observables.

- API of class `IndexClassification` has been made more generic (it is now
  templated on the operator index types to accommodate the flexibility of
  libcommute's expressions).

- Class `IndexHamiltonian` has been removed.

- Functionality of the `Symmetrizer` and `StatesClassification` classes has been
  redistributed between `StatesClassification` and a new class `HilbertSpace`.
  The notion of quantum numbers has been abandoned since partition of a
  Hilbert space into sectors is now performed by libcommute's `space_partition`
  algorithm.

- Class `FieldOperator` has been generalized and renamed into
  `MonomialOperator`. It can now compute and store matrices of arbitrary
  monomial operators, i.e. operators that are products of creation/annihilation
  operators, possibly with a real or complex prefactor.

- It is now possible to use `EnsembleAverage` and `Susceptibility` to compute
  averages/dynamical fluctuations of monomial operators instead of just
  quadratic operators.

- Renamed `EnsembleAverage::getResult()` to `EnsembleAverage::operator()()`.

- The outdated `ENABLE_SAVE_PLAINTEXT` macro has been removed.

- The `pomerol/first_include.h.in` header has been renamed into
  `pomerol/Version.hpp.in`.

- API reference documentation and the tutorial have been updated and cleaned up.

- Unit tests have been ported from Google Test to Catch2. The header file of
  Catch2 is bundled to the source code.

1.3

Toggle 1.3's commit message
Release 1.3

Last release adhering to C++98 standard.
This release:
- Fix in symmetry detection
- Speedup of operator matrix element computation (H. Shinaoka)
- Truncate blocks having negligible density matrix (J. Otsuki)
- Fix OpenMP flags (H. Strand)
- Fixes (N. Wenzell, H. Shinaoka)
- Update README

1.2

Toggle 1.2's commit message
Define POMEROL_VERSION macro in first_include.h

1.2.0a0

Toggle 1.2.0a0's commit message
Merge pull request #3 from iskakoff/master

Check for correct program name

1.2.0

Toggle 1.2.0's commit message
Fixed memory issues in 2PGF calc; added OpenMP; cleaning

1.1

Toggle 1.1's commit message
LICENSE and COPYRIGHT

1.0

Toggle 1.0's commit message
Update README.md