GQCP
Loading...
Searching...
No Matches
gqcp
include
Mathematical
Optimization
Eigenproblem
EigenproblemSolver.hpp
Go to the documentation of this file.
1
// This file is part of GQCG-GQCP.
2
//
3
// Copyright (C) 2017-2020 the GQCG developers
4
//
5
// GQCG-GQCP is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU Lesser General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// GQCG-GQCP is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU Lesser General Public License for more details.
14
//
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with GQCG-GQCP. If not, see <http://www.gnu.org/licenses/>.
17
18
#pragma once
19
20
21
#include "
Mathematical/Algorithm/Algorithm.hpp
"
22
#include "
Mathematical/Optimization/Eigenproblem/DenseDiagonalization.hpp
"
23
24
25
namespace
GQCP
{
26
namespace
EigenproblemSolver {
27
28
34
template
<
typename
Scalar>
35
Algorithm<EigenproblemEnvironment<Scalar>
>
Dense
() {
36
37
// Use Eigen's routines to diagonalize a matrix.
38
StepCollection<EigenproblemEnvironment<Scalar>
> steps {};
39
steps.
add
(
DenseDiagonalization<Scalar>
());
40
41
return
Algorithm<EigenproblemEnvironment<Scalar>
>(steps);
42
}
43
44
// We should note that we cannot add the analogous Davidson solver here, because that would cause a cyclic dependence since one of the Davidson steps requires a dense diagonalization.
45
46
47
}
// namespace EigenproblemSolver
48
}
// namespace GQCP
Algorithm.hpp
DenseDiagonalization.hpp
GQCP::Algorithm
Definition:
Algorithm.hpp:33
GQCP::DenseDiagonalization
Definition:
DenseDiagonalization.hpp:37
GQCP::StepCollection
Definition:
StepCollection.hpp:41
GQCP::StepCollection::add
enable_if_t< std::is_same< Environment, typename Z::Environment >::value, StepCollection< Environment > & > add(const Z &step)
Definition:
StepCollection.hpp:92
GQCP::EigenproblemSolver::Dense
Algorithm< EigenproblemEnvironment< Scalar > > Dense()
Definition:
EigenproblemSolver.hpp:35
GQCP
Definition:
BaseOneElectronIntegralBuffer.hpp:25
Generated by
1.9.6