annotate liboctave/CSparse.h @ 7948:af10baa63915 ss-3-1-50

3.1.50 snapshot
author John W. Eaton <jwe@octave.org>
date Fri, 18 Jul 2008 17:42:48 -0400
parents 935be827eaf8
children b11c31849b44
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
1 /*
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
2
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
3 Copyright (C) 2004, 2005, 2006, 2007 David Bateman
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6823
diff changeset
4 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6823
diff changeset
5
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6823
diff changeset
6 This file is part of Octave.
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
7
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
8 Octave is free software; you can redistribute it and/or modify it
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
9 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: 6823
diff changeset
10 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6823
diff changeset
11 option) any later version.
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
12
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but WITHOUT
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
16 for more details.
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
17
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
18 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: 6823
diff changeset
19 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6823
diff changeset
20 <http://www.gnu.org/licenses/>.
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
21
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
22 */
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
23
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
24 #if !defined (octave_CSparse_h)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
25 #define octave_CSparse_h 1
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
26
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
27 #include "dMatrix.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
28 #include "dNDArray.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
29 #include "CNDArray.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
30 #include "dColVector.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
31 #include "CColVector.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
32 #include "oct-cmplx.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
33
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
34 #include "CmplxDET.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
35 #include "MSparse.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
36 #include "MSparse-defs.h"
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
37 #include "Sparse-op-defs.h"
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
38 #include "MatrixType.h"
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
39
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
40 class SparseMatrix;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
41 class SparseBoolMatrix;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
42
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
43 class
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
44 OCTAVE_API
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
45 SparseComplexMatrix : public MSparse<Complex>
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
46 {
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
47 public:
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
48
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
49 typedef void (*solve_singularity_handler) (double rcond);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
50
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
51 SparseComplexMatrix (void) : MSparse<Complex> () { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
52
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
53 SparseComplexMatrix (octave_idx_type r, octave_idx_type c) : MSparse<Complex> (r, c) { }
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
54
6823
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6708
diff changeset
55 SparseComplexMatrix (const dim_vector& dv, octave_idx_type nz = 0) :
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6708
diff changeset
56 MSparse<Complex> (dv, nz) { }
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6708
diff changeset
57
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
58 explicit SparseComplexMatrix (octave_idx_type r, octave_idx_type c, Complex val)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
59 : MSparse<Complex> (r, c, val) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
60
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
61 SparseComplexMatrix (octave_idx_type r, octave_idx_type c, double val)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
62 : MSparse<Complex> (r, c, Complex (val)) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
63
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
64 SparseComplexMatrix (const SparseComplexMatrix& a)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
65 : MSparse<Complex> (a) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
66
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
67 SparseComplexMatrix (const SparseComplexMatrix& a, const dim_vector& dv)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
68 : MSparse<Complex> (a, dv) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
69
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
70 SparseComplexMatrix (const MSparse<Complex>& a) : MSparse<Complex> (a) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
71
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
72 explicit SparseComplexMatrix (const ComplexMatrix& a)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
73 : MSparse<Complex> (a) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
74
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
75 explicit SparseComplexMatrix (const ComplexNDArray& a)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
76 : MSparse<Complex> (a) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
77
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
78 explicit SparseComplexMatrix (const Array<Complex> a, const Array<octave_idx_type>& r,
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
79 const Array<octave_idx_type>& c, octave_idx_type nr = -1,
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
80 octave_idx_type nc = -1, bool sum_terms = true)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
81 : MSparse<Complex> (a, r, c, nr, nc, sum_terms) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
82
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
83 explicit SparseComplexMatrix (const Array<Complex> a,
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
84 const Array<double>& r,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
85 const Array<double>& c, octave_idx_type nr = -1,
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
86 octave_idx_type nc = -1, bool sum_terms = true)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
87 : MSparse<Complex> (a, r, c, nr, nc, sum_terms) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
88
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
89 explicit SparseComplexMatrix (const SparseMatrix& a);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
90
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
91 explicit SparseComplexMatrix (const SparseBoolMatrix& a);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
92
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
93 SparseComplexMatrix (octave_idx_type r, octave_idx_type c, octave_idx_type num_nz)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
94 : MSparse<Complex> (r, c, num_nz) { }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
95
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
96 SparseComplexMatrix& operator = (const SparseComplexMatrix& a)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
97 {
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
98 MSparse<Complex>::operator = (a);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
99 return *this;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
100 }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
101
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
102 bool operator == (const SparseComplexMatrix& a) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
103 bool operator != (const SparseComplexMatrix& a) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
104
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
105 bool is_hermitian (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
106
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
107 SparseComplexMatrix max (int dim = 0) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
108 SparseComplexMatrix max (Array2<octave_idx_type>& index, int dim = 0) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
109 SparseComplexMatrix min (int dim = 0) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
110 SparseComplexMatrix min (Array2<octave_idx_type>& index, int dim = 0) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
111
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
112 SparseComplexMatrix& insert (const SparseComplexMatrix& a, octave_idx_type r, octave_idx_type c);
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
113 SparseComplexMatrix& insert (const SparseMatrix& a, octave_idx_type r, octave_idx_type c);
6823
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6708
diff changeset
114 SparseComplexMatrix& insert (const SparseComplexMatrix& a, const Array<octave_idx_type>& indx);
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6708
diff changeset
115 SparseComplexMatrix& insert (const SparseMatrix& a, const Array<octave_idx_type>& indx);
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
116
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
117 SparseComplexMatrix concat (const SparseComplexMatrix& rb,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
118 const Array<octave_idx_type>& ra_idx);
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
119 SparseComplexMatrix concat (const SparseMatrix& rb,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
120 const Array<octave_idx_type>& ra_idx);
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
121
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
122 ComplexMatrix matrix_value (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
123
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
124 SparseComplexMatrix hermitian (void) const; // complex conjugate transpose
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
125 SparseComplexMatrix transpose (void) const
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
126 { return MSparse<Complex>::transpose (); }
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
127
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
128 friend SparseComplexMatrix conj (const SparseComplexMatrix& a);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
129
5506
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
130 private:
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
131 SparseComplexMatrix dinverse (MatrixType &mattyp, octave_idx_type& info,
5506
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
132 double& rcond, const bool force = false,
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
133 const bool calccond = true) const;
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
134
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
135 SparseComplexMatrix tinverse (MatrixType &mattyp, octave_idx_type& info,
5506
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
136 double& rcond, const bool force = false,
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
137 const bool calccond = true) const;
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
138
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
139 public:
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
140 SparseComplexMatrix inverse (void) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
141 SparseComplexMatrix inverse (MatrixType& mattype) const;
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
142 SparseComplexMatrix inverse (MatrixType& mattype,
5506
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
143 octave_idx_type& info) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
144 SparseComplexMatrix inverse (MatrixType& mattype, octave_idx_type& info,
5506
b4cfbb0ec8c4 [project @ 2005-10-23 19:09:32 by dbateman]
dbateman
parents: 5429
diff changeset
145 double& rcond, int force = 0,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
146 int calc_cond = 1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
147
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
148 ComplexDET determinant (void) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
149 ComplexDET determinant (octave_idx_type& info) const;
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
150 ComplexDET determinant (octave_idx_type& info, double& rcond,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
151 int calc_cond = 1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
152
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
153 private:
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
154 // Diagonal matrix solvers
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
155 ComplexMatrix dsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
156 double& rcond, solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
157 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
158
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
159 ComplexMatrix dsolve (MatrixType &typ, const ComplexMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
160 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
161 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
162 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
163
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
164 SparseComplexMatrix dsolve (MatrixType &typ, const SparseMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
165 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
166 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
167 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
168
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
169 SparseComplexMatrix dsolve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
170 octave_idx_type& info, double& rcond,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
171 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
172 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
173
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
174 // Upper triangular matrix solvers
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
175 ComplexMatrix utsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
176 double& rcond, solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
177 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
178
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
179 ComplexMatrix utsolve (MatrixType &typ, const ComplexMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
180 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
181 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
182 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
183
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
184 SparseComplexMatrix utsolve (MatrixType &typ, const SparseMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
185 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
186 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
187 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
188
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
189 SparseComplexMatrix utsolve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
190 octave_idx_type& info, double& rcond,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
191 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
192 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
193
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
194 // Lower triangular matrix solvers
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
195 ComplexMatrix ltsolve (MatrixType &typ, const Matrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
196 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
197 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
198 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
199
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
200 ComplexMatrix ltsolve (MatrixType &typ, const ComplexMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
201 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
202 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
203 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
204
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
205 SparseComplexMatrix ltsolve (MatrixType &typ, const SparseMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
206 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
207 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
208 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
209
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
210 SparseComplexMatrix ltsolve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
211 octave_idx_type& info, double& rcond,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
212 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
213 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
214
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
215 // Tridiagonal matrix solvers
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
216 ComplexMatrix trisolve (MatrixType &typ, const Matrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
217 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
218 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
219 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
220
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
221 ComplexMatrix trisolve (MatrixType &typ, const ComplexMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
222 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
223 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
224 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
225
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
226 SparseComplexMatrix trisolve (MatrixType &typ, const SparseMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
227 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
228 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
229 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
230
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
231 SparseComplexMatrix trisolve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
232 octave_idx_type& info, double& rcond,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
233 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
234 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
235
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
236 // Banded matrix solvers (umfpack/cholesky)
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
237 ComplexMatrix bsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
238 double& rcond, solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
239 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
240
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
241 ComplexMatrix bsolve (MatrixType &typ, const ComplexMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
242 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
243 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
244 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
245
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
246 SparseComplexMatrix bsolve (MatrixType &typ, const SparseMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
247 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
248 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
249 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
250
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
251 SparseComplexMatrix bsolve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
252 octave_idx_type& info, double& rcond,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
253 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
254 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
255
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
256 // Full matrix solvers (umfpack/cholesky)
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
257 void * factorize (octave_idx_type& err, double &rcond, Matrix &Control,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
258 Matrix &Info, solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
259 bool calc_cond) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
260
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
261 ComplexMatrix fsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
262 double& rcond, solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
263 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
264
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
265 ComplexMatrix fsolve (MatrixType &typ, const ComplexMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
266 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
267 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
268 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
269
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
270 SparseComplexMatrix fsolve (MatrixType &typ, const SparseMatrix& b,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
271 octave_idx_type& info, double& rcond,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
272 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
273 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
274
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
275 SparseComplexMatrix fsolve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
276 octave_idx_type& info, double& rcond,
5681
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
277 solve_singularity_handler sing_handler,
233d98d95659 [project @ 2006-03-16 17:48:55 by dbateman]
dbateman
parents: 5506
diff changeset
278 bool calc_cond = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
279
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
280 public:
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
281 // Generic interface to solver with no probing of type
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
282 ComplexMatrix solve (MatrixType &typ, const Matrix& b) const;
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
283 ComplexMatrix solve (MatrixType &typ, const Matrix& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
284 octave_idx_type& info) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
285 ComplexMatrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
286 double& rcond) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
287 ComplexMatrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
288 double& rcond, solve_singularity_handler sing_handler,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
289 bool singular_fallback = true) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
290
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
291 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const;
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
292 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
293 octave_idx_type& info) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
294 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
295 octave_idx_type& info, double& rcond) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
296 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
297 octave_idx_type& info, double& rcond,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
298 solve_singularity_handler sing_handler,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
299 bool singular_fallback = true) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
300
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
301 SparseComplexMatrix solve (MatrixType &typ, const SparseMatrix& b) const;
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
302 SparseComplexMatrix solve (MatrixType &typ, const SparseMatrix& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
303 octave_idx_type& info) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
304 SparseComplexMatrix solve (MatrixType &typ, const SparseMatrix& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
305 octave_idx_type& info, double& rcond) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
306 SparseComplexMatrix solve (MatrixType &typ, const SparseMatrix& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
307 octave_idx_type& info, double& rcond,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
308 solve_singularity_handler sing_handler,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
309 bool singular_fallback = true) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
310
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
311 SparseComplexMatrix solve (MatrixType &typ,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
312 const SparseComplexMatrix& b) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
313 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
314 octave_idx_type& info) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
315 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
316 octave_idx_type& info, double& rcond) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
317 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
318 octave_idx_type& info, double& rcond,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
319 solve_singularity_handler sing_handler,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
320 bool singular_fallback = true) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
321
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
322 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b) const;
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
323 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
324 octave_idx_type& info) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
325 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
326 octave_idx_type& info, double& rcond) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
327 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
328 octave_idx_type& info, double& rcond,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
329 solve_singularity_handler sing_handler) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
330
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
331 ComplexColumnVector solve (MatrixType &typ,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
332 const ComplexColumnVector& b) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
333 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
334 octave_idx_type& info) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
335 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
336 octave_idx_type& info, double& rcond) const;
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5697
diff changeset
337 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
338 octave_idx_type& info, double& rcond,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
339 solve_singularity_handler sing_handler) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
340
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
341 // Generic interface to solver with probing of type
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
342 ComplexMatrix solve (const Matrix& b) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
343 ComplexMatrix solve (const Matrix& b, octave_idx_type& info) const;
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
344 ComplexMatrix solve (const Matrix& b, octave_idx_type& info,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
345 double& rcond) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
346 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcond,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
347 solve_singularity_handler sing_handler) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
348
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
349 ComplexMatrix solve (const ComplexMatrix& b) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
350 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const;
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
351 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
352 double& rcond) const;
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
353 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
354 double& rcond, solve_singularity_handler sing_handler) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
355
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
356 SparseComplexMatrix solve (const SparseMatrix& b) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
357 SparseComplexMatrix solve (const SparseMatrix& b, octave_idx_type& info) const;
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
358 SparseComplexMatrix solve (const SparseMatrix& b, octave_idx_type& info,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
359 double& rcond) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
360 SparseComplexMatrix solve (const SparseMatrix& b, octave_idx_type& info,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
361 double& rcond,
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
362 solve_singularity_handler sing_handler) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
363
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
364 SparseComplexMatrix solve (const SparseComplexMatrix& b) const;
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
365 SparseComplexMatrix solve (const SparseComplexMatrix& b,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
366 octave_idx_type& info) const;
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
367 SparseComplexMatrix solve (const SparseComplexMatrix& b,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
368 octave_idx_type& info, double& rcond) const;
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
369 SparseComplexMatrix solve (const SparseComplexMatrix& b,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
370 octave_idx_type& info, double& rcond,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
371 solve_singularity_handler sing_handler) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
372
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
373 ComplexColumnVector solve (const ColumnVector& b) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
374 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info) const;
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
375 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
376 double& rcond) const;
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
377 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
378 double& rcond,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
379 solve_singularity_handler sing_handler) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
380
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
381 ComplexColumnVector solve (const ComplexColumnVector& b) const;
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
382 ComplexColumnVector solve (const ComplexColumnVector& b,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
383 octave_idx_type& info) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
384 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
385 double& rcond) const;
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
386 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
387 double& rcond,
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
388 solve_singularity_handler sing_handler) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
389
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
390 SparseComplexMatrix squeeze (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
391
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
392 SparseComplexMatrix index (idx_vector& i, int resize_ok) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
393
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
394 SparseComplexMatrix index (idx_vector& i, idx_vector& j, int resize_ok) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
395
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
396 SparseComplexMatrix index (Array<idx_vector>& ra_idx, int resize_ok) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
397
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
398 SparseComplexMatrix reshape (const dim_vector& new_dims) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
399
5697
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
400 SparseComplexMatrix permute (const Array<octave_idx_type>& vec,
2fe20065a545 [project @ 2006-03-21 16:01:46 by dbateman]
dbateman
parents: 5681
diff changeset
401 bool inv = false) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
402
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
403 SparseComplexMatrix ipermute (const Array<octave_idx_type>& vec) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
404
7922
935be827eaf8 error for NaN values in & and | expressions
John W. Eaton <jwe@octave.org>
parents: 7802
diff changeset
405 bool any_element_is_nan (void) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
406 bool any_element_is_inf_or_nan (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
407 bool all_elements_are_real (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
408 bool all_integers (double& max_val, double& min_val) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
409 bool too_large_for_float (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
410
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
411 SparseBoolMatrix operator ! (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
412
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
413 SparseBoolMatrix all (int dim = -1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
414 SparseBoolMatrix any (int dim = -1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
415
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
416 SparseComplexMatrix cumprod (int dim = -1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
417 SparseComplexMatrix cumsum (int dim = -1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
418 SparseComplexMatrix prod (int dim = -1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
419 SparseComplexMatrix sum (int dim = -1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
420 SparseComplexMatrix sumsq (int dim = -1) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
421 SparseMatrix abs (void) const;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
422
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 5164
diff changeset
423 SparseComplexMatrix diag (octave_idx_type k = 0) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
424
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
425 // i/o
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
426 friend OCTAVE_API std::ostream& operator << (std::ostream& os,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
427 const SparseComplexMatrix& a);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
428 friend OCTAVE_API std::istream& operator >> (std::istream& is,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
429 SparseComplexMatrix& a);
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
430
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
431 typedef double (*dmapper) (const Complex&);
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
432 typedef Complex (*cmapper) (const Complex&);
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
433 typedef bool (*bmapper) (const Complex&);
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
434 SparseMatrix map (dmapper fcn) const;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
435 SparseComplexMatrix map (cmapper fcn) const;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
436 SparseBoolMatrix map (bmapper fcn) const;
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
437 };
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
438
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
439 extern OCTAVE_API SparseComplexMatrix operator * (const SparseMatrix&,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
440 const SparseComplexMatrix&);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
441 extern OCTAVE_API SparseComplexMatrix operator * (const SparseComplexMatrix&,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
442 const SparseMatrix&);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
443 extern OCTAVE_API SparseComplexMatrix operator * (const SparseComplexMatrix&,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
444 const SparseComplexMatrix&);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
445
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
446 extern OCTAVE_API ComplexMatrix operator * (const Matrix&,
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
447 const SparseComplexMatrix&);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
448 extern OCTAVE_API ComplexMatrix operator * (const ComplexMatrix&,
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
449 const SparseMatrix&);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
450 extern OCTAVE_API ComplexMatrix operator * (const ComplexMatrix&,
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
451 const SparseComplexMatrix&);
7802
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
452 extern OCTAVE_API ComplexMatrix mul_trans (const ComplexMatrix&,
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
453 const SparseComplexMatrix&);
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
454 extern OCTAVE_API ComplexMatrix mul_herm (const ComplexMatrix&,
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
455 const SparseComplexMatrix&);
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
456
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
457 extern OCTAVE_API ComplexMatrix operator * (const SparseMatrix&,
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
458 const ComplexMatrix&);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
459 extern OCTAVE_API ComplexMatrix operator * (const SparseComplexMatrix&,
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
460 const Matrix&);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
461 extern OCTAVE_API ComplexMatrix operator * (const SparseComplexMatrix&,
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
462 const ComplexMatrix&);
7802
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
463 extern OCTAVE_API ComplexMatrix trans_mul (const SparseComplexMatrix&,
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
464 const ComplexMatrix&);
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
465 extern OCTAVE_API ComplexMatrix herm_mul (const SparseComplexMatrix&,
1a446f28ce68 implement optimized sparse-dense transposed multiplication
Jaroslav Hajek <highegg@gmail.com>
parents: 7503
diff changeset
466 const ComplexMatrix&);
5429
2042301733ce [project @ 2005-08-25 12:21:24 by dbateman]
dbateman
parents: 5351
diff changeset
467
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
468 extern OCTAVE_API SparseComplexMatrix min (const Complex& c,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
469 const SparseComplexMatrix& m);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
470 extern OCTAVE_API SparseComplexMatrix min (const SparseComplexMatrix& m,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
471 const Complex& c);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
472 extern OCTAVE_API SparseComplexMatrix min (const SparseComplexMatrix& a,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
473 const SparseComplexMatrix& b);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
474
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
475 extern OCTAVE_API SparseComplexMatrix max (const Complex& c,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
476 const SparseComplexMatrix& m);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
477 extern OCTAVE_API SparseComplexMatrix max (const SparseComplexMatrix& m,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
478 const Complex& c);
6108
143b556ce725 [project @ 2006-10-27 01:45:54 by jwe]
jwe
parents: 5785
diff changeset
479 extern OCTAVE_API SparseComplexMatrix max (const SparseComplexMatrix& a,
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
480 const SparseComplexMatrix& b);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
481
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 6108
diff changeset
482 SPARSE_SMS_CMP_OP_DECLS (SparseComplexMatrix, Complex, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 6108
diff changeset
483 SPARSE_SMS_BOOL_OP_DECLS (SparseComplexMatrix, Complex, OCTAVE_API)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
484
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 6108
diff changeset
485 SPARSE_SSM_CMP_OP_DECLS (Complex, SparseComplexMatrix, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 6108
diff changeset
486 SPARSE_SSM_BOOL_OP_DECLS (Complex, SparseComplexMatrix, OCTAVE_API)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
487
6708
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 6108
diff changeset
488 SPARSE_SMSM_CMP_OP_DECLS (SparseComplexMatrix, SparseComplexMatrix, OCTAVE_API)
0ce71beb1cf3 [project @ 2007-06-13 06:40:48 by jwe]
jwe
parents: 6108
diff changeset
489 SPARSE_SMSM_BOOL_OP_DECLS (SparseComplexMatrix, SparseComplexMatrix, OCTAVE_API)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
490
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
491 SPARSE_FORWARD_DEFS (MSparse, SparseComplexMatrix, ComplexMatrix, Complex)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
492
5351
05adf9de7657 [project @ 2005-05-16 20:07:36 by dbateman]
dbateman
parents: 5322
diff changeset
493 #ifdef IDX_TYPE_LONG
5322
22994a5730f9 [project @ 2005-04-29 13:04:24 by dbateman]
dbateman
parents: 5307
diff changeset
494 #define UMFPACK_ZNAME(name) umfpack_zl_ ## name
22994a5730f9 [project @ 2005-04-29 13:04:24 by dbateman]
dbateman
parents: 5307
diff changeset
495 #else
22994a5730f9 [project @ 2005-04-29 13:04:24 by dbateman]
dbateman
parents: 5307
diff changeset
496 #define UMFPACK_ZNAME(name) umfpack_zi_ ## name
22994a5730f9 [project @ 2005-04-29 13:04:24 by dbateman]
dbateman
parents: 5307
diff changeset
497 #endif
22994a5730f9 [project @ 2005-04-29 13:04:24 by dbateman]
dbateman
parents: 5307
diff changeset
498
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
499 #endif
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
500
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
501 /*
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
502 ;;; Local Variables: ***
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
503 ;;; mode: C++ ***
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
504 ;;; End: ***
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents:
diff changeset
505 */