26 #if ! defined (octave_dSparse_h)
27 #define octave_dSparse_h 1
29 #include "octave-config.h"
51 typedef void (*solve_singularity_handler) (
double rcond);
83 :
MSparse<double> (a,
r, c, nr, nc, sum_terms, nzm) { }
139 const bool force =
false,
const bool calccond =
true)
const;
143 const bool force =
false,
const bool calccond =
true)
const;
152 bool force =
false,
bool calc_cond =
true)
const;
157 bool calc_cond =
true)
const;
163 double& rcond, solve_singularity_handler sing_handler,
164 bool calc_cond =
false)
const;
168 double& rcond, solve_singularity_handler sing_handler,
169 bool calc_cond =
false)
const;
173 double& rcond, solve_singularity_handler sing_handler,
174 bool calc_cond =
false)
const;
178 double& rcond, solve_singularity_handler sing_handler,
179 bool calc_cond =
false)
const;
184 double& rcond, solve_singularity_handler sing_handler,
185 bool calc_cond =
false)
const;
189 double& rcond, solve_singularity_handler sing_handler,
190 bool calc_cond =
false)
const;
194 double& rcond, solve_singularity_handler sing_handler,
195 bool calc_cond =
false)
const;
199 double& rcond, solve_singularity_handler sing_handler,
200 bool calc_cond =
false)
const;
205 double& rcond, solve_singularity_handler sing_handler,
206 bool calc_cond =
false)
const;
210 double& rcond, solve_singularity_handler sing_handler,
211 bool calc_cond =
false)
const;
215 double& rcond, solve_singularity_handler sing_handler,
216 bool calc_cond =
false)
const;
220 double& rcond, solve_singularity_handler sing_handler,
221 bool calc_cond =
false)
const;
226 double& rcond, solve_singularity_handler sing_handler,
227 bool calc_cond =
false)
const;
231 double& rcond, solve_singularity_handler sing_handler,
232 bool calc_cond =
false)
const;
236 double& rcond, solve_singularity_handler sing_handler,
237 bool calc_cond =
false)
const;
241 double& rcond, solve_singularity_handler sing_handler,
242 bool calc_cond =
false)
const;
247 double& rcond, solve_singularity_handler sing_handler,
248 bool calc_cond =
false)
const;
252 double& rcond, solve_singularity_handler sing_handler,
253 bool calc_cond =
false)
const;
257 double& rcond, solve_singularity_handler sing_handler,
258 bool calc_cond =
false)
const;
262 double& rcond, solve_singularity_handler sing_handler,
263 bool calc_cond =
false)
const;
268 Matrix& Info, solve_singularity_handler sing_handler,
269 bool calc_cond =
false)
const;
273 double& rcond, solve_singularity_handler sing_handler,
274 bool calc_cond =
false)
const;
278 double& rcond, solve_singularity_handler sing_handler,
279 bool calc_cond =
false)
const;
283 double& rcond, solve_singularity_handler sing_handler,
284 bool calc_cond =
false)
const;
288 double& rcond, solve_singularity_handler sing_handler,
289 bool calc_cond =
false)
const;
298 double& rcond)
const;
301 double& rcond, solve_singularity_handler sing_handler,
302 bool singular_fallback =
true)
const;
310 double& rcond)
const;
313 double& rcond, solve_singularity_handler sing_handler,
314 bool singular_fallback =
true)
const;
321 double& rcond)
const;
324 double& rcond, solve_singularity_handler sing_handler,
325 bool singular_fallback =
true)
const;
338 solve_singularity_handler sing_handler,
339 bool singular_fallabck =
true)
const;
346 double& rcond)
const;
349 double& rcond, solve_singularity_handler sing_handler)
const;
362 solve_singularity_handler sing_handler)
const;
371 solve_singularity_handler sing_handler)
const;
380 solve_singularity_handler sing_handler)
const;
389 solve_singularity_handler sing_handler)
const;
396 double& rcond)
const;
399 double& rcond, solve_singularity_handler sing_handler)
const;
408 solve_singularity_handler sing_handler)
const;
415 double& rcond)
const;
418 double& rcond, solve_singularity_handler sing_handler)
const;
422 OCTAVE_API bool any_element_is_negative (
bool =
false)
const;
423 OCTAVE_API bool any_element_is_nan (
void)
const;
424 OCTAVE_API bool any_element_is_inf_or_nan (
void)
const;
425 OCTAVE_API bool any_element_not_one_or_zero (
void)
const;
426 OCTAVE_API bool all_elements_are_zero (
void)
const;
427 OCTAVE_API bool all_elements_are_int_or_inf_or_nan (
void)
const;
428 OCTAVE_API bool all_integers (
double& max_val,
double& min_val)
const;
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
#define SPARSE_FORWARD_DEFS(B, R, F, T)
#define SPARSE_SMSM_CMP_OP_DECLS(M1, M2, API)
#define SPARSE_SMSM_BOOL_OP_DECLS(M1, M2, API)
#define SPARSE_SSM_CMP_OP_DECLS(S, M, API)
#define SPARSE_SMS_BOOL_OP_DECLS(M, S, API)
#define SPARSE_SSM_BOOL_OP_DECLS(S, M, API)
#define SPARSE_SMS_CMP_OP_DECLS(M, S, API)
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
MSparse< T > transpose(void) const
MSparse< T > & operator=(const MSparse< T > &a)
SparseMatrix(const Sparse< double > &a)
SparseMatrix(const SparseMatrix &a, const dim_vector &dv)
SparseMatrix(const SparseMatrix &a)
SparseMatrix(octave_idx_type r, octave_idx_type c)
SparseMatrix transpose(void) const
SparseMatrix(const MSparse< double > &a)
OCTAVE_API ComplexMatrix solve(const ComplexMatrix &b) const
SparseMatrix(const Array< double > &a, const octave::idx_vector &r, const octave::idx_vector &c, octave_idx_type nr=-1, octave_idx_type nc=-1, bool sum_terms=true, octave_idx_type nzm=-1)
SparseMatrix(octave_idx_type r, octave_idx_type c, octave_idx_type num_nz)
SparseMatrix(const NDArray &a)
SparseMatrix(const PermMatrix &a)
SparseMatrix(const Matrix &a)
SparseMatrix hermitian(void) const
SparseMatrix(const dim_vector &dv, octave_idx_type nz=0)
SparseMatrix(octave_idx_type r, octave_idx_type c, double val)
Vector representing the dimensions (size) of an Array.
OCTAVE_API Matrix trans_mul(const SparseMatrix &a, const Matrix &b)
OCTAVE_API SparseMatrix operator+(const DiagMatrix &, const SparseMatrix &)
OCTAVE_API SparseMatrix min(double d, const SparseMatrix &m)
OCTAVE_API SparseMatrix real(const SparseComplexMatrix &a)
OCTAVE_API SparseMatrix operator*(const SparseMatrix &a, const SparseMatrix &b)
OCTAVE_API Matrix mul_trans(const Matrix &a, const SparseMatrix &b)
OCTAVE_API SparseMatrix imag(const SparseComplexMatrix &a)
OCTAVE_API SparseMatrix max(double d, const SparseMatrix &m)
OCTAVE_API SparseMatrix operator-(const DiagMatrix &, const SparseMatrix &)
bool operator!=(const dim_vector &a, const dim_vector &b)
bool operator==(const dim_vector &a, const dim_vector &b)
static M utsolve(const SM &U, const ColumnVector &Q, const M &m)
static M ltsolve(const SM &L, const ColumnVector &Q, const M &m)
octave::idx_vector idx_vector
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
bool too_large_for_float(double x)
class OCTAVE_API SparseMatrix
const octave_base_value const Array< octave_idx_type > & ra_idx
octave_value operator!(const octave_value &a)
static void transpose(octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, octave_idx_type *ridx2, octave_idx_type *cidx2)