MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
eigensolver.hpp
1//
2// eigensolver.hpp
3//
4// Copyright (C) 2013 Drew Lewis
5//
6// Authors: Drew Lewis
7// Maintainer: Drew Lewis and Edward Valeev
8//
9// This file is part of the MPQC Toolkit.
10//
11// The MPQC Toolkit is free software; you can redistribute it and/or modify
12// it under the terms of the GNU Library General Public License as published by
13// the Free Software Foundation; either version 2, or (at your option)
14// any later version.
15//
16// The MPQC Toolkit is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU Library General Public License for more details.
20//
21// You should have received a copy of the GNU Library General Public License
22// along with the MPQC Toolkit; see the file COPYING.LIB. If not, write to
23// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24//
25// The U.S. Government is granted a limited license as per AL 91-7.
26//
27
28#ifndef MPQC_MATH_ELEMENTAL_EIGENSOLVER_HPP
29#define MPQC_MATH_ELEMENTAL_EIGENSOLVER_HPP
30
31#include <tiledarray_fwd.h>
32#include <elemental-lite.hpp>
33
34namespace mpqc {
35namespace TA {
36
37 using TiledArray::TArray2D;
38 using ElemVector = elem::DistMatrix<double, elem::VR, elem::STAR>;
39 using ElemTAEigenSystem = std::pair<ElemVector, TArray2D>;
40
41 /***
42 * Solve generalized Hermitian eigenproblem to form density.
43 */
44 TArray2D
45 eigensolver_D(const TArray2D &F, const TArray2D &S, int occ);
46
47 /***
48 * Solve generatlized Hermitian eigenproblem for occupied coefficients
49 */
50 TArray2D
51 eigensolver_occ_Coeff(const TArray2D &F, const TArray2D &S, int occ);
52
53 /***
54 * Solve generalized Hermitian eigenproblem for all coefficents
55 */
56 ElemTAEigenSystem
57 eigensolver_full_Coeff(const TArray2D &F, const TArray2D &S);
58
59} // namespace mpqc::TA
60} // namespace mpqc
61
62
63#endif /* MPQC_MATH_ELEMENTAL_EIGENSOLVER_HPP */
Contains new MPQC code since version 3.
Definition integralenginepool.hpp:37

Generated at Wed Sep 25 2024 02:45:30 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.