Mercurial > octave
annotate liboctave/numeric/eigs-base.h @ 22323:bac0d6f07a3e
maint: Update copyright notices for 2016.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 17 Aug 2016 01:05:19 -0400 |
parents | 1473547f50f5 |
children | 4caa7b28d183 |
rev | line source |
---|---|
21190 | 1 /* |
2 | |
22323
bac0d6f07a3e
maint: Update copyright notices for 2016.
John W. Eaton <jwe@octave.org>
parents:
21244
diff
changeset
|
3 Copyright (C) 2005-2016 David Bateman |
21190 | 4 |
5 This file is part of Octave. | |
6 | |
7 Octave is free software; you can redistribute it and/or modify it | |
8 under the terms of the GNU General Public License as published by the | |
9 Free Software Foundation; either version 3 of the License, or (at your | |
10 option) any later version. | |
11 | |
12 Octave is distributed in the hope that it will be useful, but WITHOUT | |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with Octave; see the file COPYING. If not, see | |
19 <http://www.gnu.org/licenses/>. | |
20 | |
21 */ | |
22 | |
21213
f7d1050b9b53
maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents:
21190
diff
changeset
|
23 #if ! defined (octave_eigs_base_h) |
21190 | 24 #define octave_eigs_base_h 1 |
25 | |
21244
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21213
diff
changeset
|
26 #include "octave-config.h" |
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21213
diff
changeset
|
27 |
21190 | 28 #include <iosfwd> |
29 | |
30 class ColumnVector; | |
31 class ComplexColumnVector; | |
32 class Matrix; | |
33 class ComplexMatrix; | |
34 | |
35 typedef ColumnVector (*EigsFunc) (const ColumnVector& x, int& eigs_error); | |
36 | |
37 typedef ComplexColumnVector (*EigsComplexFunc) (const ComplexColumnVector& x, int& eigs_error); | |
38 | |
39 template <typename M> | |
40 octave_idx_type | |
41 EigsRealSymmetricMatrix (const M& m, const std::string typ, | |
42 octave_idx_type k, octave_idx_type p, | |
43 octave_idx_type& info, Matrix& eig_vec, | |
44 ColumnVector& eig_val, const M& _b, | |
45 ColumnVector& permB, ColumnVector& resid, | |
46 std::ostream& os, double tol, bool rvec, | |
47 bool cholB, int disp, int maxit); | |
48 | |
49 template <typename M> | |
50 octave_idx_type | |
51 EigsRealSymmetricMatrixShift (const M& m, double sigma, | |
52 octave_idx_type k, octave_idx_type p, | |
53 octave_idx_type& info, Matrix& eig_vec, | |
54 ColumnVector& eig_val, const M& _b, | |
55 ColumnVector& permB, ColumnVector& resid, | |
56 std::ostream& os, double tol, bool rvec, | |
57 bool cholB, int disp, int maxit); | |
58 | |
59 extern OCTAVE_API octave_idx_type | |
60 EigsRealSymmetricFunc (EigsFunc fun, octave_idx_type n, | |
61 const std::string& _typ, double sigma, | |
62 octave_idx_type k, octave_idx_type p, | |
63 octave_idx_type& info, Matrix& eig_vec, | |
64 ColumnVector& eig_val, ColumnVector& resid, | |
65 std::ostream& os, double tol, bool rvec, | |
66 bool /* cholB */, int disp, int maxit); | |
67 | |
68 template <typename M> | |
69 octave_idx_type | |
70 EigsRealNonSymmetricMatrix (const M& m, const std::string typ, | |
71 octave_idx_type k, octave_idx_type p, | |
72 octave_idx_type& info, ComplexMatrix& eig_vec, | |
73 ComplexColumnVector& eig_val, const M& _b, | |
74 ColumnVector& permB, ColumnVector& resid, | |
75 std::ostream& os, double tol, bool rvec, | |
76 bool cholB, int disp, int maxit); | |
77 | |
78 template <typename M> | |
79 octave_idx_type | |
80 EigsRealNonSymmetricMatrixShift (const M& m, double sigmar, | |
81 octave_idx_type k, octave_idx_type p, | |
82 octave_idx_type& info, | |
83 ComplexMatrix& eig_vec, | |
84 ComplexColumnVector& eig_val, const M& _b, | |
85 ColumnVector& permB, ColumnVector& resid, | |
86 std::ostream& os, double tol, bool rvec, | |
87 bool cholB, int disp, int maxit); | |
88 | |
89 extern OCTAVE_API octave_idx_type | |
90 EigsRealNonSymmetricFunc (EigsFunc fun, octave_idx_type n, | |
91 const std::string& _typ, double sigmar, | |
92 octave_idx_type k, octave_idx_type p, | |
93 octave_idx_type& info, ComplexMatrix& eig_vec, | |
94 ComplexColumnVector& eig_val, ColumnVector& resid, | |
95 std::ostream& os, double tol, bool rvec, | |
96 bool /* cholB */, int disp, int maxit); | |
97 | |
98 template <typename M> | |
99 octave_idx_type | |
100 EigsComplexNonSymmetricMatrix (const M& m, const std::string typ, | |
101 octave_idx_type k, octave_idx_type p, | |
102 octave_idx_type& info, ComplexMatrix& eig_vec, | |
103 ComplexColumnVector& eig_val, const M& _b, | |
104 ColumnVector& permB, | |
105 ComplexColumnVector& cresid, | |
106 std::ostream& os, double tol, bool rvec, | |
107 bool cholB, int disp, int maxit); | |
108 | |
109 template <typename M> | |
110 octave_idx_type | |
111 EigsComplexNonSymmetricMatrixShift (const M& m, Complex sigma, | |
112 octave_idx_type k, octave_idx_type p, | |
113 octave_idx_type& info, | |
114 ComplexMatrix& eig_vec, | |
115 ComplexColumnVector& eig_val, const M& _b, | |
116 ColumnVector& permB, | |
117 ComplexColumnVector& cresid, | |
118 std::ostream& os, double tol, bool rvec, | |
119 bool cholB, int disp, int maxit); | |
120 | |
121 extern OCTAVE_API octave_idx_type | |
122 EigsComplexNonSymmetricFunc (EigsComplexFunc fun, octave_idx_type n, | |
123 const std::string& _typ, Complex sigma, | |
124 octave_idx_type k, octave_idx_type p, | |
125 octave_idx_type& info, ComplexMatrix& eig_vec, | |
126 ComplexColumnVector& eig_val, | |
127 ComplexColumnVector& cresid, std::ostream& os, | |
128 double tol, bool rvec, bool /* cholB */, | |
129 int disp, int maxit); | |
130 | |
131 #endif |