Program Listing for File biorthogonalization.hpp¶
↰ Return to documentation for file (SeQuant/domain/mbpt/biorthogonalization.hpp)
#ifndef SEQUANT_DOMAIN_MBPT_BIORTHOGONALIZE_HPP
#define SEQUANT_DOMAIN_MBPT_BIORTHOGONALIZE_HPP
#include <SeQuant/core/container.hpp>
#include <SeQuant/core/expr.hpp>
#include <SeQuant/core/index.hpp>
namespace sequant {
namespace {
static constexpr double default_biorth_threshold = 1e-12;
}
[[nodiscard]] ResultExpr biorthogonal_transform_copy(
const ResultExpr& expr, double threshold = default_biorth_threshold);
[[nodiscard]] container::svector<ResultExpr> biorthogonal_transform_copy(
const container::svector<ResultExpr>& exprs,
double threshold = default_biorth_threshold);
void biorthogonal_transform(ResultExpr& expr,
double threshold = default_biorth_threshold);
void biorthogonal_transform(container::svector<ResultExpr>& exprs,
double threshold = default_biorth_threshold);
[[nodiscard]] ExprPtr biorthogonal_transform(
const ExprPtr& expr,
const container::svector<container::svector<sequant::Index>>&
ext_index_groups = {},
double threshold = default_biorth_threshold);
} // namespace sequant
#endif