MPQC
3.0.0-alpha
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
34
namespace
mpqc
{
35
namespace
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 */
mpqc
Contains new MPQC code since version 3.
Definition:
integralenginepool.hpp:37
Generated at Sun Jan 26 2020 23:24:00 for
MPQC
3.0.0-alpha using the documentation package
Doxygen
1.8.16.