Xped
Loading...
Searching...
No Matches
LinearAlgebra.hpp
Go to the documentation of this file.
1#ifndef XPED_PEPS_LINEAR_ALGEBRA_HPP_
2#define XPED_PEPS_LINEAR_ALGEBRA_HPP_
3
4#include <tuple>
5
7
9
10#include "Xped/AD/ADTensor.hpp"
11
12#include "Xped/PEPS/CTM.hpp"
14#include "Xped/PEPS/TMatrix.hpp"
16
17namespace Xped {
18
19template <typename Scalar, typename Symmetry, std::size_t TRank, bool ENABLE_AD, Opts::CTMCheckpoint CPOpts, typename OpScalar, bool HERMITIAN>
20TMatrix<std::conditional_t<ENABLE_AD, stan::math::var, typename OneSiteObservable<OpScalar, Symmetry, HERMITIAN>::ObsScalar>>
21avg(XPED_CONST CTM<Scalar, Symmetry, TRank, ENABLE_AD, CPOpts>& env, OneSiteObservable<OpScalar, Symmetry, HERMITIAN>& op);
22
23template <typename Scalar, typename Symmetry, std::size_t TRank, bool ENABLE_AD, Opts::CTMCheckpoint CPOpts, typename OpScalar, bool HERMITIAN>
24std::array<TMatrix<std::conditional_t<ENABLE_AD, stan::math::var, typename TwoSiteObservable<OpScalar, Symmetry, HERMITIAN>::ObsScalar>>, 4>
25avg(XPED_CONST CTM<Scalar, Symmetry, TRank, ENABLE_AD, CPOpts>& env, TwoSiteObservable<OpScalar, Symmetry, HERMITIAN>& op);
26
27} // namespace Xped
28
29#ifndef XPED_COMPILED_LIB
30# include "PEPS/LinearAlgebra.cpp"
31#endif
32
33#endif
Definition: bench.cpp:62
TMatrix< std::conditional_t< ENABLE_AD, stan::math::var, typename OneSiteObservable< OpScalar, Symmetry, HERMITIAN >::ObsScalar > > avg(XPED_CONST CTM< Scalar, Symmetry, TRank, ENABLE_AD, CPOpts > &env, OneSiteObservable< OpScalar, Symmetry, HERMITIAN > &op)
Definition: LinearAlgebra.cpp:11