Spectra
SymEigsSolver.h
1 // Copyright (C) 2016-2019 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 SYM_EIGS_SOLVER_H
8 #define SYM_EIGS_SOLVER_H
9 
10 #include <Eigen/Core>
11 
12 #include "SymEigsBase.h"
13 #include "Util/SelectionRule.h"
14 #include "MatOp/DenseSymMatProd.h"
15 
16 namespace Spectra {
17 
18 
139 template < typename Scalar = double,
140  int SelectionRule = LARGEST_MAGN,
141  typename OpType = DenseSymMatProd<double> >
142 class SymEigsSolver: public SymEigsBase<Scalar, SelectionRule, OpType, IdentityBOp>
143 {
144 private:
145  typedef Eigen::Index Index;
146 
147 public:
165  SymEigsSolver(OpType* op, Index nev, Index ncv) :
166  SymEigsBase<Scalar, SelectionRule, OpType, IdentityBOp>(op, NULL, nev, ncv)
167  {}
168 
169 };
170 
171 
172 } // namespace Spectra
173 
174 #endif // SYM_EIGS_SOLVER_H
SymEigsSolver(OpType *op, Index nev, Index ncv)