TRIQS/triqs_Nevanlinna 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
solver_core.hpp
1#pragma once
2#include <memory>
3#include <triqs/gfs.hpp>
4#include <triqs/mesh.hpp>
5#include <triqs/utility/macros.hpp>
6#include <nda/nda.hpp>
7#include <h5/h5.hpp>
8#include "Nevanlinna_parameters_t.hpp"
9#include "kernel.hpp"
10
11namespace triqs_Nevanlinna {
12
20
21 public:
22 ~solver_core() = default;
23
29
30 // Copy/Move construction
31 solver_core(solver_core const &) = delete;
32 solver_core(solver_core &&) = default;
33
35 solver_core &operator=(solver_core const &) = delete;
36 solver_core &operator=(solver_core &&) = default;
37
43 void solve(triqs::gfs::gf_const_view<triqs::mesh::imfreq> g_iw);
44
54 [[nodiscard]] triqs::gfs::gf<triqs::mesh::refreq> evaluate(const triqs::mesh::refreq &grid, double eta);
55
64 [[nodiscard]] triqs::gfs::gf<triqs::mesh::refreq> evaluate(const triqs::mesh::refreq &grid, double eta,
65 nda::array_const_view<std::complex<double>, 3> theta);
66
68 [[nodiscard]] C2PY_PROPERTY_GET(Pick_eigenvalues) nda::vector<double> get_Pick_eigenvalues() const { return _kernel->get_Pick_eigenvalues(); };
69
71 [[nodiscard]] C2PY_PROPERTY_GET(size) size_t size() const { return _kernel->size(); };
72
73 private:
74 // vector of Nevanlinna factorization kernels for multi-orbital factorization
75 std::unique_ptr<kernel> _kernel{};
76 };
77} // namespace triqs_Nevanlinna
solver_core(Nevanlinna_parameters_t const &p)
Construct the solver.
solver_core & operator=(solver_core const &)=delete
Copy/Move assignment.
C2PY_PROPERTY_GET(Pick_eigenvalues) nda C2PY_PROPERTY_GET(size) size_t size() const
Eigenvalues of the Pick matrix (non-negative eigenvalues indicate the data is continuable).
triqs::gfs::gf< triqs::mesh::refreq > evaluate(const triqs::mesh::refreq &grid, double eta)
Evaluate diagonal part of the real-frequency Green's function on a chosen grid.
void solve(triqs::gfs::gf_const_view< triqs::mesh::imfreq > g_iw)
Perform a Nevanlinna factorization for a matrix-valued Matsubara frequency Green's function.
Construction parameters for the Nevanlinna solver_core.