24 #if !defined (octave_dSparse_h)
25 #define octave_dSparse_h 1
52 typedef void (*solve_singularity_handler) (
double rcond);
102 bool is_symmetric (
void)
const;
126 GCC_ATTR_DEPRECATED ;
128 GCC_ATTR_DEPRECATED ;
131 GCC_ATTR_DEPRECATED ;
147 double& rcond,
const bool force =
false,
148 const bool calccond =
true)
const;
151 double& rcond,
const bool force =
false,
152 const bool calccond =
true)
const;
159 double& rcond,
int force = 0,
int calc_cond = 1)
const;
161 DET determinant (
void)
const;
164 int calc_cond = 1)
const;
169 double& rcond, solve_singularity_handler sing_handler,
170 bool calc_cond =
false)
const;
174 solve_singularity_handler sing_handler,
175 bool calc_cond =
false)
const;
179 solve_singularity_handler sing_handler,
180 bool calc_cond =
false)
const;
184 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 solve_singularity_handler sing_handler,
195 bool calc_cond =
false)
const;
199 solve_singularity_handler sing_handler,
200 bool calc_cond =
false)
const;
204 solve_singularity_handler sing_handler,
205 bool calc_cond =
false)
const;
209 double& rcond, solve_singularity_handler sing_handler,
210 bool calc_cond =
false)
const;
214 solve_singularity_handler sing_handler,
215 bool calc_cond =
false)
const;
219 solve_singularity_handler sing_handler,
220 bool calc_cond =
false)
const;
224 solve_singularity_handler sing_handler,
225 bool calc_cond =
false)
const;
229 double& rcond, solve_singularity_handler sing_handler,
230 bool calc_cond =
false)
const;
234 solve_singularity_handler sing_handler,
235 bool calc_cond =
false)
const;
239 solve_singularity_handler sing_handler,
240 bool calc_cond =
false)
const;
244 solve_singularity_handler sing_handler,
245 bool calc_cond =
false)
const;
249 double& rcond, solve_singularity_handler sing_handler,
250 bool calc_cond =
false)
const;
254 solve_singularity_handler sing_handler,
255 bool calc_cond =
false)
const;
259 solve_singularity_handler sing_handler,
260 bool calc_cond =
false)
const;
264 solve_singularity_handler sing_handler,
265 bool calc_cond =
false)
const;
269 Matrix &Info, solve_singularity_handler sing_handler,
270 bool calc_cond =
false)
const;
273 double& rcond, solve_singularity_handler sing_handler,
274 bool calc_cond =
false)
const;
278 solve_singularity_handler sing_handler,
279 bool calc_cond =
false)
const;
283 solve_singularity_handler sing_handler,
284 bool calc_cond =
false)
const;
288 solve_singularity_handler sing_handler,
289 bool calc_cond =
false)
const;
296 double& rcond)
const;
298 double& rcond, solve_singularity_handler sing_handler,
299 bool singular_fallback =
true)
const;
308 solve_singularity_handler sing_handler,
309 bool singular_fallback =
true)
const;
318 solve_singularity_handler sing_handler,
319 bool singular_fallback =
true)
const;
329 solve_singularity_handler sing_handler,
330 bool singular_fallabck =
true)
const;
339 solve_singularity_handler sing_handler)
const;
349 solve_singularity_handler sing_handler)
const;
356 solve_singularity_handler sing_handler)
const;
361 double& rcond)
const;
364 solve_singularity_handler sing_handler)
const;
369 double& rcond)
const;
372 solve_singularity_handler sing_handler)
const;
381 solve_singularity_handler sing_handler)
const;
386 double& rcond)
const;
389 solve_singularity_handler sing_handler)
const;
398 solve_singularity_handler sing_handler)
const;
402 bool any_element_is_negative (
bool =
false)
const;
403 bool any_element_is_nan (
void)
const;
404 bool any_element_is_inf_or_nan (
void)
const;
405 bool any_element_not_one_or_zero (
void)
const;
406 bool all_elements_are_zero (
void)
const;
407 bool all_elements_are_int_or_inf_or_nan (
void)
const;
408 bool all_integers (
double& max_val,
double& min_val)
const;
409 bool too_large_for_float (
void)
const;
432 bool inv =
false)
const;
438 friend OCTAVE_API std::ostream&
operator << (std::ostream& os,
440 friend OCTAVE_API std::istream&
operator >> (std::istream& is,
503 #ifdef USE_64_BIT_IDX_T
504 #define UMFPACK_DNAME(name) umfpack_dl_ ## name
506 #define UMFPACK_DNAME(name) umfpack_di_ ## name
OCTAVE_API SparseMatrix operator-(const DiagMatrix &, const SparseMatrix &)
boolMatrix matrix_value(void) const
OCTAVE_API SparseMatrix operator+(const DiagMatrix &, const SparseMatrix &)
#define SPARSE_SMSM_BOOL_OP_DECLS(M1, M2, API)
bool operator!=(const dim_vector &a, const dim_vector &b)
SparseMatrix(const Array< double > &a, const idx_vector &r, const idx_vector &c, octave_idx_type nr=-1, octave_idx_type nc=-1, bool sum_terms=true, octave_idx_type nzm=-1)
const octave_base_value const Array< octave_idx_type > & ra_idx
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
SparseMatrix transpose(void) const
static ComplexMatrix ltsolve(const SparseComplexMatrix &, const ColumnVector &, const ComplexMatrix &)
SparseMatrix(const NDArray &a)
SparseBoolMatrix ipermute(const Array< octave_idx_type > &vec) const
OCTAVE_API Matrix mul_trans(const Matrix &a, const SparseMatrix &b)
OCTAVE_API SparseMatrix imag(const SparseComplexMatrix &a)
SparseBoolMatrix & operator=(const SparseBoolMatrix &a)
SparseMatrix(const Matrix &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)
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
#define SPARSE_SMS_CMP_OP_DECLS(M, S, API)
SparseBoolMatrix permute(const Array< octave_idx_type > &vec, bool inv=false) const
SparseMatrix(const SparseMatrix &a, const dim_vector &dv)
SparseMatrix hermitian(void) const
OCTAVE_API SparseMatrix max(double d, const SparseMatrix &m)
SparseMatrix(octave_idx_type r, octave_idx_type c)
#define SPARSE_SMS_BOOL_OP_DECLS(M, S, API)
SparseBoolMatrix index(const idx_vector &i, bool resize_ok) const
SparseMatrix(const SparseMatrix &a)
MSparse< T > transpose(void) const
SparseMatrix(const MSparse< double > &a)
F77_RET_T const double const double double * d
#define SPARSE_SSM_CMP_OP_DECLS(S, M, API)
SparseBoolMatrix reshape(const dim_vector &new_dims) const
SparseMatrix(octave_idx_type r, octave_idx_type c, octave_idx_type num_nz)
SparseMatrix sum(int dim=-1) const
#define SPARSE_SMSM_CMP_OP_DECLS(M1, M2, API)
OCTAVE_API SparseMatrix min(double d, const SparseMatrix &m)
SparseBoolMatrix all(int dim=-1) const
#define SPARSE_SSM_BOOL_OP_DECLS(S, M, API)
SparseMatrix(const dim_vector &dv, octave_idx_type nz=0)
SparseMatrix(const Sparse< double > &a)
OCTAVE_API SparseMatrix operator*(const SparseMatrix &a, const SparseMatrix &b)
SparseBoolMatrix & insert(const SparseBoolMatrix &a, octave_idx_type r, octave_idx_type c)
SparseMatrix(const PermMatrix &a)
SparseBoolMatrix any(int dim=-1) const
SparseBoolMatrix squeeze(void) const
bool operator==(const dim_vector &a, const dim_vector &b)
OCTAVE_API Matrix trans_mul(const SparseMatrix &a, const Matrix &b)
SparseMatrix atan2(const double &x, const SparseMatrix &y)
static ComplexMatrix utsolve(const SparseComplexMatrix &, const ColumnVector &, const ComplexMatrix &)
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
#define SPARSE_FORWARD_DEFS(B, R, F, T)
OCTAVE_API SparseMatrix real(const SparseComplexMatrix &a)
MSparse< T > & operator=(const MSparse< T > &a)
SparseBoolMatrix diag(octave_idx_type k=0) const
octave_value operator!(const octave_value &a)
SparseMatrix(octave_idx_type r, octave_idx_type c, double val)
F77_RET_T const double * x