Spectra 1.1.0
Header-only C++ Library for Large Scale Eigenvalue Problems
Loading...
Searching...
No Matches
SymEigsSolver.h
1// Copyright (C) 2016-2025 Yixuan Qiu <yixuan.qiu@cos.name>
2//
3// This Source Code Form is subject to the terms of the Mozilla
4// Public License v. 2.0. If a copy of the MPL was not distributed
5// with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
6
7#ifndef SPECTRA_SYM_EIGS_SOLVER_H
8#define SPECTRA_SYM_EIGS_SOLVER_H
9
10#include <Eigen/Core>
11
12#include "HermEigsBase.h"
13#include "Util/SelectionRule.h"
14#include "MatOp/DenseSymMatProd.h"
15
16namespace Spectra {
17
133template <typename OpType = DenseSymMatProd<double>>
134class SymEigsSolver : public HermEigsBase<OpType, IdentityBOp>
135{
136private:
137 using Index = Eigen::Index;
138
139public:
157 SymEigsSolver(OpType& op, Index nev, Index ncv) :
158 HermEigsBase<OpType, IdentityBOp>(op, IdentityBOp(), nev, ncv)
159 {}
160};
161
162} // namespace Spectra
163
164#endif // SPECTRA_SYM_EIGS_SOLVER_H
SymEigsSolver(OpType &op, Index nev, Index ncv)