8#include <Eigen/SparseCore>
13template <
typename Scalar>
18template <
typename Scalar>
19Eigen::SparseMatrix<Scalar, Eigen::RowMajor>
21 const std::shared_ptr<
const BasisPair<Scalar>> &basis_final,
22 const Eigen::SparseMatrix<Scalar, Eigen::RowMajor> &matrix1,
23 const Eigen::SparseMatrix<Scalar, Eigen::RowMajor> &matrix2);
25extern template Eigen::SparseMatrix<double, Eigen::RowMajor>
28 const Eigen::SparseMatrix<double, Eigen::RowMajor> &,
29 const Eigen::SparseMatrix<double, Eigen::RowMajor> &);
30extern template Eigen::SparseMatrix<std::complex<double>, Eigen::RowMajor>
32 const std::shared_ptr<
const BasisPair<std::complex<double>>> &,
33 const Eigen::SparseMatrix<std::complex<double>, Eigen::RowMajor> &,
34 const Eigen::SparseMatrix<std::complex<double>, Eigen::RowMajor> &);
Eigen::SparseMatrix< Scalar, Eigen::RowMajor > 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)