annotate liboctave/numeric/sparse-qr.h @ 30394:f3f3e3793fb5 stable

maint: style check C++ files in liboctave/ ahead of 7.1 release. * Array.cc, Array.h, CMatrix.cc, CSparse.cc, MArray.cc, MSparse.cc, MatrixType.cc, MatrixType.h, Range.cc, Range.h, Sparse.cc, Sparse.h, dMatrix.cc, dSparse.cc, fCMatrix.cc, fCMatrix.h, fMatrix.cc, fMatrix.h, idx-vector.cc, idx-vector.h, CollocWt.cc, CollocWt.h, DASPK.cc, DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, Quad.cc, aepbalance.cc, chol.cc, eigs-base.cc, gepbalance.cc, gsvd.cc, lo-amos-proto.h, lo-arpack-proto.h, lo-blas-proto.h, lo-lapack-proto.h, lo-qrupdate-proto.h, lo-specfun.cc, oct-convn.h, oct-fftw.h, oct-norm.cc, oct-spparms.cc, randmtzig.cc, sparse-chol.cc, sparse-dmsolve.cc, sparse-lu.cc, sparse-qr.cc, sparse-qr.h, svd.cc, file-ops.cc, file-stat.cc, lo-sysinfo.cc, oct-env.cc, f77-fcn.h, lo-cutils.h, lo-ieee.h, lo-regexp.cc, lo-utils.cc, oct-binmap.h, oct-inttypes.h, oct-sparse.cc, oct-sparse.h, oct-string.cc, url-transfer.cc: Style check C++ files in liboctave/ ahead of 7.1 release.
author Rik <rik@octave.org>
date Mon, 29 Nov 2021 10:03:47 -0800
parents 441f0ab6e5ad
children bd67d0045e21
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ////////////////////////////////////////////////////////////////////////
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 //
29358
0a5b15007766 update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 27923
diff changeset
3 // Copyright (C) 2005-2021 The Octave Project Developers
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 // distribution or <https://octave.org/copyright/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 // This file is part of Octave.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
9 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
11 // under the terms of the GNU General Public License as published by
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
13 // (at your option) any later version.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
14 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
18 // GNU General Public License for more details.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
19 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
20 // You should have received a copy of the GNU General Public License
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
21 // along with Octave; see the file COPYING. If not, see
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
22 // <https://www.gnu.org/licenses/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ////////////////////////////////////////////////////////////////////////
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26 #if ! defined (octave_sparse_qr_h)
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 #define octave_sparse_qr_h 1
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28
21244
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21186
diff changeset
29 #include "octave-config.h"
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21186
diff changeset
30
29564
bffdb54e78da use shared_ptr to manage memory for sparse chol and qr classes
John W. Eaton <jwe@octave.org>
parents: 29434
diff changeset
31 #include <memory>
bffdb54e78da use shared_ptr to manage memory for sparse chol and qr classes
John W. Eaton <jwe@octave.org>
parents: 29434
diff changeset
32
25149
dd774017866b allow most headers to be included alone (bug #53505)
John W. Eaton <jwe@octave.org>
parents: 25054
diff changeset
33 #include "oct-cmplx.h"
dd774017866b allow most headers to be included alone (bug #53505)
John W. Eaton <jwe@octave.org>
parents: 25054
diff changeset
34
23475
d691ed308237 maint: Clean up #includes in liboctave/numeric directory.
Rik <rik@octave.org>
parents: 23220
diff changeset
35 class Matrix;
d691ed308237 maint: Clean up #includes in liboctave/numeric directory.
Rik <rik@octave.org>
parents: 23220
diff changeset
36 class ComplexMatrix;
29242
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
37 class SparseMatrix;
23475
d691ed308237 maint: Clean up #includes in liboctave/numeric directory.
Rik <rik@octave.org>
parents: 23220
diff changeset
38 class SparseComplexMatrix;
d691ed308237 maint: Clean up #includes in liboctave/numeric directory.
Rik <rik@octave.org>
parents: 23220
diff changeset
39 class ColumnVector;
d691ed308237 maint: Clean up #includes in liboctave/numeric directory.
Rik <rik@octave.org>
parents: 23220
diff changeset
40 template <typename T> class MArray;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41
22317
6ca3acf5fad8 move some new numeric classes to namespace octave::math
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
42 namespace octave
6ca3acf5fad8 move some new numeric classes to namespace octave::math
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
43 {
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
44 namespace math
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
45 {
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
46 // If the sparse matrix classes become templated on the element type
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
47 // (i.e., sparse_matrix<double>), then it might be best to make the
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
48 // template parameter of this class also be the element type instead
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
49 // of the matrix type.
21177
a10f60e13243 style fixes in liboctave/numeric directory
John W. Eaton <jwe@octave.org>
parents: 21176
diff changeset
50
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
51 template <typename SPARSE_T>
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
52 class
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
53 sparse_qr
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
54 {
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
55 public:
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
57 OCTAVE_API sparse_qr (void);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58
29265
ecf5b2d9c2d3 sparse-qr.cc: Simplify code by using default parameters (bug #57033).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29259
diff changeset
59 #if (defined (HAVE_SPQR) && defined (HAVE_CHOLMOD))
29259
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
60 // order = 7 selects SPQR default ordering
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
61 OCTAVE_API sparse_qr (const SPARSE_T& a, int order = 7);
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
62 #else
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
63 OCTAVE_API sparse_qr (const SPARSE_T& a, int order = 0);
29259
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
64 #endif
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
65
29948
c92a4ebaa777 Remove OCTAVE_API from functions that are tagged with =delete or =default.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29564
diff changeset
66 sparse_qr (const sparse_qr& a) = default;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
67
29948
c92a4ebaa777 Remove OCTAVE_API from functions that are tagged with =delete or =default.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29564
diff changeset
68 ~sparse_qr (void) = default;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
69
29948
c92a4ebaa777 Remove OCTAVE_API from functions that are tagged with =delete or =default.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29564
diff changeset
70 sparse_qr& operator = (const sparse_qr& a) = default;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
72 OCTAVE_API bool ok (void) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
73
29434
91f32bf0d497 maint: strip trailing spaces from code base.
Rik <rik@octave.org>
parents: 29359
diff changeset
74 OCTAVE_API ColumnVector E (void) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
75
29259
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
76 // constructs permutation matrix from permutation vector rep -> E()
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
77 OCTAVE_API SparseMatrix E_MAT () const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
79 OCTAVE_API SPARSE_T V (void) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
80
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
81 OCTAVE_API ColumnVector Pinv (void) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
82
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
83 OCTAVE_API ColumnVector P (void) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
84
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
85 OCTAVE_API SPARSE_T R (bool econ = false) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
87 OCTAVE_API typename SPARSE_T::dense_matrix_type
29265
ecf5b2d9c2d3 sparse-qr.cc: Simplify code by using default parameters (bug #57033).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29259
diff changeset
88 C (const typename SPARSE_T::dense_matrix_type& b, bool econ = false) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
89
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
90 OCTAVE_API typename SPARSE_T::dense_matrix_type
29265
ecf5b2d9c2d3 sparse-qr.cc: Simplify code by using default parameters (bug #57033).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29259
diff changeset
91 Q (bool econ = false) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
92
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
93 template <typename RHS_T, typename RET_T>
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
94 static OCTAVE_API RET_T
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
95 solve (const SPARSE_T& a, const RHS_T& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
96 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
97
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
98 private:
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
99
30394
f3f3e3793fb5 maint: style check C++ files in liboctave/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 30127
diff changeset
100 template <typename RHS_T, typename RET_T>
29259
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
101 static OCTAVE_API RET_T
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
102 min2norm_solve (const SPARSE_T& a, const RHS_T& b,
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
103 octave_idx_type& info, int order);
66f162b6fa03 Replacement of CXSPARSE by SPQR for QR factorization (bug #57033).
Simon Hau <simon.hau79@gmail.com>
parents: 29242
diff changeset
104
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
105 template <typename RHS_T, typename RET_T>
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
106 OCTAVE_API RET_T
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
107 tall_solve (const RHS_T& b, octave_idx_type& info) const;
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
108
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
109 template <typename RHS_T, typename RET_T>
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
110 OCTAVE_API RET_T
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
111 wide_solve (const RHS_T& b, octave_idx_type& info) const;
30127
441f0ab6e5ad maint: use "m_" prefix for member variables in class sparse_qr.
Rik <rik@octave.org>
parents: 29948
diff changeset
112
441f0ab6e5ad maint: use "m_" prefix for member variables in class sparse_qr.
Rik <rik@octave.org>
parents: 29948
diff changeset
113 //--------
441f0ab6e5ad maint: use "m_" prefix for member variables in class sparse_qr.
Rik <rik@octave.org>
parents: 29948
diff changeset
114 class sparse_qr_rep;
441f0ab6e5ad maint: use "m_" prefix for member variables in class sparse_qr.
Rik <rik@octave.org>
parents: 29948
diff changeset
115
441f0ab6e5ad maint: use "m_" prefix for member variables in class sparse_qr.
Rik <rik@octave.org>
parents: 29948
diff changeset
116 std::shared_ptr<sparse_qr_rep> m_rep;
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
117 };
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118
29242
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
119 #if defined (__clang__) || defined (_WIN32)
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
120 // extern instantiations with set visibility/export/import attribute
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
121
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
122 extern template class OCTAVE_API sparse_qr<SparseMatrix>;
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
123
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
124 extern template class OCTAVE_API sparse_qr<SparseComplexMatrix>;
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
125 #endif
f207504ae98d sparse-qr: Export member function instantiations (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29228
diff changeset
126
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
127 // Provide qrsolve for backward compatibility.
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
128
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
129 extern OCTAVE_API Matrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
130 qrsolve (const SparseMatrix& a, const MArray<double>& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
131 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
132
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
133 extern OCTAVE_API SparseMatrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
134 qrsolve (const SparseMatrix& a, const SparseMatrix& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
135 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
136
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
137 extern OCTAVE_API ComplexMatrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
138 qrsolve (const SparseMatrix& a, const MArray<Complex>& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
139 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
140
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
141 extern OCTAVE_API SparseComplexMatrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
142 qrsolve (const SparseMatrix& a, const SparseComplexMatrix& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
143 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
144
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
145 extern OCTAVE_API ComplexMatrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
146 qrsolve (const SparseComplexMatrix& a, const MArray<double>& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
147 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
148
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
149 extern OCTAVE_API SparseComplexMatrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
150 qrsolve (const SparseComplexMatrix& a, const SparseMatrix& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
151 octave_idx_type& info);
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
152
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
153 extern OCTAVE_API ComplexMatrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
154 qrsolve (const SparseComplexMatrix& a, const MArray<Complex>& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
155 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
156
29228
5c14f81e0937 Set API tags in files in liboctave/numeric (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
157 extern OCTAVE_API SparseComplexMatrix
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
158 qrsolve (const SparseComplexMatrix& a, const SparseComplexMatrix& b,
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
159 octave_idx_type& info);
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
160
22329
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
161 typedef sparse_qr<SparseMatrix> SparseQR;
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
162 typedef sparse_qr<SparseComplexMatrix> SparseComplexQR;
7f3c7a8bd131 maint: Indent namespaces in liboctave/numeric files.
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
163 }
22317
6ca3acf5fad8 move some new numeric classes to namespace octave::math
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
164 }
6ca3acf5fad8 move some new numeric classes to namespace octave::math
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
165
21176
791dcb32b657 revamp sparse QR factorizatino classes
John W. Eaton <jwe@octave.org>
parents:
diff changeset
166 #endif