MyraMath
lanczos1.h
Go to the documentation of this file.
1 // ========================================================================= //
2 // This file is part of MyraMath, copyright (c) 2014-2019 by Ryan A Chilton //
3 // and distributed by MyraCore, LLC. See LICENSE.txt for license terms. //
4 // ========================================================================= //
5 
6 #ifndef MYRAMATH_ITERATIVE_LANCZOS1_H
7 #define MYRAMATH_ITERATIVE_LANCZOS1_H
8 
14 #include <myramath/MYRAMATH_EXPORT.h>
15 
16 // For std::pair
17 #include <utility>
18 
19 namespace myra {
20 
21 // Forward declarations.
22 template<class Number> class CMatrixRange;
23 template<class Number> class Action;
24 template<class Number> class Vector;
25 
27 MYRAMATH_EXPORT std::pair< Vector<float >, float > lanczos1(const Action<float >& A, float tolerance = 1.0e-4, int iterations = 50);
28 MYRAMATH_EXPORT std::pair< Vector<double>, double> lanczos1(const Action<double>& A, double tolerance = 1.0e-8, int iterations = 50);
29 
31 MYRAMATH_EXPORT std::pair< Vector<float >, float > lanczos1(const Action<float >& A, const CMatrixRange<float >& Q, float tolerance = 1.0e-4, int iterations = 50);
32 MYRAMATH_EXPORT std::pair< Vector<double>, double> lanczos1(const Action<double>& A, const CMatrixRange<double>& Q, double tolerance = 1.0e-8, int iterations = 50);
33 
34 } // namespace myra
35 
36 #endif
Definition: syntax.dox:1