annotate liboctave/operators/mx-ext.h @ 22236:065a44375723

gsvd: reduce code duplication with templates. * CmplxGSVD.cc, CmplxGSVD.h, dbleGSVD.cc, dbleGSVD.h: Remove files for no longer existing classes. Replaced by gsvd template class. This classes never existed in an Octave release, this was freshly imported from Octave Forge so backwards compatibility is not an issue. * liboctave/numeric/gsvd.h, liboctave/numeric/gsvd.cc: New files for gsvd class template generated from CmplxGSVD.cc, CmplxGSVD.h, dbleGSVD.cc, and dbleGSVD.h and converted to template. Removed unused << operator, unused constructor with &info, and commented code. Only instantiated for Matrix and ComplexMatrix, providing interface to DGGSVD and ZGGSVD. * liboctave/numeric/module.mk: Update. * mx-defs.h, mx-ext.h: Use new classes.
author Barbara Locsi <locsi.barbara@gmail.com>
date Tue, 09 Aug 2016 18:02:11 +0200
parents 63b41167ef1e
children bac0d6f07a3e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
1 /*
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
2
19697
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
3 Copyright (C) 1994-2015 John W. Eaton
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
4
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
6
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
10 option) any later version.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
11
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
15 for more details.
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
16
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
18 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
19 <http://www.gnu.org/licenses/>.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
20
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
21 */
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
22
20791
f7084eae3318 maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents: 19697
diff changeset
23 #if ! defined (octave_mx_ext_h)
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
24 #define octave_mx_ext_h 1
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
25
21244
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 20791
diff changeset
26 #include "octave-config.h"
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 20791
diff changeset
27
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
28 // Result of a AEP Balance operation.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
29
21268
f08ae27289e4 better use of templates for balance classes
John W. Eaton <jwe@octave.org>
parents: 21267
diff changeset
30 #include "aepbalance.h"
f08ae27289e4 better use of templates for balance classes
John W. Eaton <jwe@octave.org>
parents: 21267
diff changeset
31
f08ae27289e4 better use of templates for balance classes
John W. Eaton <jwe@octave.org>
parents: 21267
diff changeset
32 // Result of a GEP Balance operation.
f08ae27289e4 better use of templates for balance classes
John W. Eaton <jwe@octave.org>
parents: 21267
diff changeset
33
f08ae27289e4 better use of templates for balance classes
John W. Eaton <jwe@octave.org>
parents: 21267
diff changeset
34 #include "gepbalance.h"
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
35
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
36 // Result of a Determinant calculation.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
37
8335
64cf956a109c templatize & fix DET
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
38 #include "DET.h"
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
39
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
40 // Result of a Cholesky Factorization
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
41
21269
3c8a3d35661a better use of templates for Cholesky factorization
John W. Eaton <jwe@octave.org>
parents: 21268
diff changeset
42 #include "chol.h"
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
43
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
44 // Result of a Hessenberg Decomposition
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
45
21267
f5b8c3aca5f8 make better use of templates for Hessenberg decomposition
John W. Eaton <jwe@octave.org>
parents: 21266
diff changeset
46 #include "hess.h"
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
47
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
48 // Result of a Schur Decomposition
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
49
21266
e69eaee28737 make better use of templates for Schur decomposition
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
50 #include "schur.h"
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
51
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
52 // Result of a Singular Value Decomposition.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
53
21273
cbced1c09916 better use of templates for svd classes
John W. Eaton <jwe@octave.org>
parents: 21271
diff changeset
54 #include "svd.h"
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
55
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
56 // Result of an Eigenvalue computation.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
57
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
58 #include "EIG.h"
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
59
22235
63b41167ef1e gsvd: new function imported from Octave-Forge linear-algebra package.
Barbara Locsi <locsi.barbara@gmail.com>
parents: 21279
diff changeset
60 // Result of a Generalized Singular Value Decomposition.
63b41167ef1e gsvd: new function imported from Octave-Forge linear-algebra package.
Barbara Locsi <locsi.barbara@gmail.com>
parents: 21279
diff changeset
61
22236
065a44375723 gsvd: reduce code duplication with templates.
Barbara Locsi <locsi.barbara@gmail.com>
parents: 22235
diff changeset
62 #include "gsvd.h"
22235
63b41167ef1e gsvd: new function imported from Octave-Forge linear-algebra package.
Barbara Locsi <locsi.barbara@gmail.com>
parents: 21279
diff changeset
63
63b41167ef1e gsvd: new function imported from Octave-Forge linear-algebra package.
Barbara Locsi <locsi.barbara@gmail.com>
parents: 21279
diff changeset
64
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
65 // Result of an LU decomposition.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
66
21271
7e67c7f82fc1 better use of templates for lu factorization classes
John W. Eaton <jwe@octave.org>
parents: 21269
diff changeset
67 #include "lu.h"
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
68
687
cba3b57a82db [project @ 1994-09-09 23:28:08 by jwe]
jwe
parents: 460
diff changeset
69 // Result of a QR decomposition.
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
70
21279
eb1524b07fe3 better use of templates for qr classes
John W. Eaton <jwe@octave.org>
parents: 21273
diff changeset
71 #include "qr.h"
4210
b6e652bf4e5f [project @ 2002-12-04 00:40:13 by jwe]
jwe
parents: 3185
diff changeset
72
460
c45e50c4ee94 [project @ 1994-06-06 00:45:22 by jwe]
jwe
parents:
diff changeset
73 #endif