Changelog
All notable changes to this project will be documented in this file.
[0.8.0] - Unreleased
Fixed a negative index bug in
n_fermion_sector_view
. Credits to Dr. Cezary Śliwa for providing the patch.
[0.7.2] - 2022-11-12
Export namespaced CMake target
libcommute::libcommute
instead of plainlibcommute
.Install CMake configuration files into
${CMAKE_INSTALL_PREFIX}/lib/cmake/libcommute
, which is the recommended location.Upgraded bundled Catch2 to version 2.13.9 (this fixes issue #2 a.k.a. catchorg/Catch2#2178).
Fixed compilation with clang/libc++ 15 (issue #5).
Added project citation information.
[0.7.1] - 2021-12-17
New methods
space_partition::subspace_basis()
andspace_partition::subspace_bases()
.New methods
sparse_state_vector::prune()
(two overloads).New example
hubbard_holstein_1d
and minor updates to the documentation.
[0.7.0] - 2021-10-09
Added an implementation of the
StateVector
concept for some Eigen 3 types (vectors, vector segments, column-like matrix blocks and one-dimensionalEigen::Map
views). The corresponding header file isloperator/state_vector_eigen3.hpp
.New classes
n_fermion_sector_view
andn_fermion_multisector_view
that implement N-fermion (multi)sector views of a state vector. The classes are supplemented with free utility functionsmake_nf(m)s_view()
,make_const_nf(m)s_view()
,n_fermion_(multi)sector_size()
andn_fermion_(multi)sector_basis_states()
.New member typedef
hilbert_space::index_types
.New method
hilbert_space::has_algebra()
.New method
space_partition::find_connections()
.Renamed the
constexpr
integerLIBCOMMUTE_MIN_USER_DEFINED_ALGEBRA_ID
tomin_user_defined_algebra_id
so that it does not appear to be a macro.In the 3-argument constructor of
basis_mapper
, change the type of the last argumentN
fromint
tounsigned int
.Removed methods
basis_mapper::make_(const_)view_no_ref()
.basis_mapper::make_(const_)view()
will now return a non-reference view when supplied with a non lvalue-reference argument.New CMake option
STATIC_ANALYSIS
. When enabled, theclang-tidy
andcppcheck
static analysis tools will be run on the C++ sources of unit tests and examples as part of build process.Minor bugfixes in unit tests and improvements in coding style.
Reformatted C++ sources using
clang-format
and a style based onLLVM
.
[0.6.1] - 2021-03-30
New method
hilbert_space::index()
.