Skip to content

Commit

Permalink
Merge pull request #85 from SpM-lab/terasaki/pass-rescaling-test
Browse files Browse the repository at this point in the history
pass rescaling test
  • Loading branch information
terasakisatoshi authored Jan 28, 2025
2 parents 26aa4dc + 24c954a commit f8a843e
Showing 1 changed file with 13 additions and 17 deletions.
30 changes: 13 additions & 17 deletions test/basis.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ TEST_CASE("FiniteTempBasis consistency tests", "[basis]") {
auto kernel = sparseir::LogisticKernel(beta * omega_max);
// Specify the template argument for SVEResult
sparseir::SVEResult sve_result = sparseir::compute_sve(kernel, epsilon);
/*

using FermKernel = sparseir::FiniteTempBasis<sparseir::Fermionic, sparseir::LogisticKernel>;
using BosKernel = sparseir::FiniteTempBasis<sparseir::Bosonic, sparseir::LogisticKernel>;
using FermKernel = sparseir::FiniteTempBasis<sparseir::Fermionic>;
using BosKernel = sparseir::FiniteTempBasis<sparseir::Bosonic>;

std::pair<FermKernel, BosKernel> bases = sparseir::finite_temp_bases(beta, omega_max, epsilon, sve_result);
/*
sparseir::FiniteTempBasisSet<sparseir::LogisticKernel> bs(beta, omega_max, epsilon, sve_result);
// Check sampling points consistency
Expand Down Expand Up @@ -98,33 +98,29 @@ TEST_CASE("FiniteTempBasis consistency tests", "[basis]") {
double epsilon = 1e-6;
using T = double;

/*
// Specify both template parameters
auto kernel = std::make_shared<sparseir::LogisticKernel>(beta * omega_max);
sparseir::FiniteTempBasis<sparseir::Fermionic, sparseir::LogisticKernel<T>> basis(beta, omega_max, epsilon, kernel);
sparseir::FiniteTempBasis<sparseir::Fermionic, sparseir::LogisticKernel<T>> rescaled_basis = basis.rescale(2.0);
auto kernel = sparseir::LogisticKernel(beta * omega_max);
sparseir::FiniteTempBasis<sparseir::Fermionic> basis(beta, omega_max, epsilon, kernel);
sparseir::FiniteTempBasis<sparseir::Fermionic> rescaled_basis = basis.rescale(2.0);
REQUIRE(rescaled_basis.sve_result->s.size() == basis.sve_result->s.size());
REQUIRE(rescaled_basis.get_wmax() == 6.0);
*/
}

SECTION("default_sampling_points") {
using T = double;
auto beta = 3.0;
auto omega_max = 4.0;
auto epsilon = 1e-6;
/*
auto kernel = std::make_shared<sparseir::LogisticKernel>(beta * omega_max);
auto basis = sparseir::FiniteTempBasis<sparseir::Fermionic, sparseir::LogisticKernel>(beta, omega_max, epsilon, kernel);
auto kernel = sparseir::LogisticKernel(beta * omega_max);
auto basis = sparseir::FiniteTempBasis<sparseir::Fermionic>(beta, omega_max, epsilon, kernel);
auto sve = basis.sve_result;
auto s = sve->s;
//std::cout << "Singular values: " << s.transpose() << std::endl;
int L = 10;
Eigen::VectorXd pts_L = default_sampling_points(sve->u, L);
REQUIRE(pts_L.size() == L);
Eigen::VectorXd pts_100 = default_sampling_points(sve->u, 100);
REQUIRE(pts_100.size() == 24);
*/
//int L = 10;
//Eigen::VectorXd pts_L = default_sampling_points(sve->u, L);
//REQUIRE(pts_L.size() == L);
//Eigen::VectorXd pts_100 = default_sampling_points(sve->u, 100);
//REQUIRE(pts_100.size() == 24);
}

}

0 comments on commit f8a843e

Please sign in to comment.