pairinteraction
A Rydberg Interaction Calculator
tensor.cpp File Reference
#include "pairinteraction/utils/tensor.hpp"
#include "pairinteraction/basis/BasisPair.hpp"
#include "pairinteraction/utils/eigen_assertion.hpp"
#include "pairinteraction/utils/traits.hpp"
#include <Eigen/SparseCore>
#include <algorithm>
#include <limits>
#include <memory>
#include <oneapi/tbb.h>
+ Include dependency graph for tensor.cpp:

Go to the source code of this file.

Namespaces

namespace  pairinteraction
 
namespace  pairinteraction::utils
 

Functions

template<typename Scalar >
Eigen::SparseMatrix< Scalar, Eigen::RowMajor > pairinteraction::utils::calculate_tensor_product (const std::shared_ptr< const BasisPair< Scalar > > &basis_initial, const std::shared_ptr< const BasisPair< Scalar > > &basis_final, const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &matrix1, const Eigen::SparseMatrix< Scalar, Eigen::RowMajor > &matrix2)
 
template Eigen::SparseMatrix< double, Eigen::RowMajor > pairinteraction::utils::calculate_tensor_product (const std::shared_ptr< const BasisPair< double > > &, const std::shared_ptr< const BasisPair< double > > &, const Eigen::SparseMatrix< double, Eigen::RowMajor > &, const Eigen::SparseMatrix< double, Eigen::RowMajor > &)
 
template Eigen::SparseMatrix< std::complex< double >, Eigen::RowMajor > pairinteraction::utils::calculate_tensor_product (const std::shared_ptr< const BasisPair< std::complex< double > > > &, const std::shared_ptr< const BasisPair< std::complex< double > > > &, const Eigen::SparseMatrix< std::complex< double >, Eigen::RowMajor > &, const Eigen::SparseMatrix< std::complex< double >, Eigen::RowMajor > &)