26 #if ! defined (octave_CSparse_h)
27 #define octave_CSparse_h 1
29 #include "octave-config.h"
53 typedef void (*solve_singularity_handler) (
double rcond);
150 double& rcond,
const bool force =
false,
151 const bool calccond =
true)
const;
154 double& rcond,
const bool force =
false,
155 const bool calccond =
true)
const;
164 bool force =
false,
bool calc_cond =
true)
const;
170 bool calc_cond =
true)
const;
176 solve_singularity_handler sing_handler,
177 bool calc_cond =
false)
const;
181 solve_singularity_handler sing_handler,
182 bool calc_cond =
false)
const;
186 solve_singularity_handler sing_handler,
187 bool calc_cond =
false)
const;
191 solve_singularity_handler sing_handler,
192 bool calc_cond =
false)
const;
197 solve_singularity_handler sing_handler,
198 bool calc_cond =
false)
const;
202 solve_singularity_handler sing_handler,
203 bool calc_cond =
false)
const;
207 solve_singularity_handler sing_handler,
208 bool calc_cond =
false)
const;
212 solve_singularity_handler sing_handler,
213 bool calc_cond =
false)
const;
218 solve_singularity_handler sing_handler,
219 bool calc_cond =
false)
const;
223 solve_singularity_handler sing_handler,
224 bool calc_cond =
false)
const;
228 solve_singularity_handler sing_handler,
229 bool calc_cond =
false)
const;
233 solve_singularity_handler sing_handler,
234 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 solve_singularity_handler sing_handler,
250 bool calc_cond =
false)
const;
254 solve_singularity_handler sing_handler,
255 bool calc_cond =
false)
const;
260 solve_singularity_handler sing_handler,
261 bool calc_cond =
false)
const;
265 solve_singularity_handler sing_handler,
266 bool calc_cond =
false)
const;
270 solve_singularity_handler sing_handler,
271 bool calc_cond =
false)
const;
275 solve_singularity_handler sing_handler,
276 bool calc_cond =
false)
const;
280 Matrix& Info, solve_singularity_handler sing_handler,
281 bool calc_cond)
const;
285 solve_singularity_handler sing_handler,
286 bool calc_cond =
false)
const;
290 solve_singularity_handler sing_handler,
291 bool calc_cond =
false)
const;
295 solve_singularity_handler sing_handler,
296 bool calc_cond =
false)
const;
300 solve_singularity_handler sing_handler,
301 bool calc_cond =
false)
const;
310 double& rcond)
const;
313 double& rcond, solve_singularity_handler sing_handler,
314 bool singular_fallback =
true)
const;
327 solve_singularity_handler sing_handler,
328 bool singular_fallback =
true)
const;
337 double& rcond)
const;
340 double& rcond, solve_singularity_handler sing_handler,
341 bool singular_fallback =
true)
const;
354 solve_singularity_handler sing_handler,
355 bool singular_fallback =
true)
const;
368 solve_singularity_handler sing_handler)
const;
381 solve_singularity_handler sing_handler)
const;
391 solve_singularity_handler sing_handler)
const;
400 solve_singularity_handler sing_handler)
const;
409 solve_singularity_handler sing_handler)
const;
416 double& rcond)
const;
419 solve_singularity_handler sing_handler)
const;
428 solve_singularity_handler sing_handler)
const;
435 double& rcond)
const;
438 solve_singularity_handler sing_handler)
const;
450 OCTAVE_API bool any_element_is_nan (
void)
const;
451 OCTAVE_API bool any_element_is_inf_or_nan (
void)
const;
452 OCTAVE_API bool all_elements_are_real (
void)
const;
453 OCTAVE_API bool all_integers (
double& max_val,
double& min_val)
const;
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
ComplexColumnVector conj(const ComplexColumnVector &a)
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
OCTAVE_API ComplexMatrix mul_trans(const ComplexMatrix &, const SparseComplexMatrix &)
OCTAVE_API SparseComplexMatrix operator+(const ComplexDiagMatrix &, const SparseMatrix &)
OCTAVE_API SparseComplexMatrix operator*(const SparseMatrix &, const SparseComplexMatrix &)
OCTAVE_API ComplexMatrix mul_herm(const ComplexMatrix &, const SparseComplexMatrix &)
OCTAVE_API SparseComplexMatrix operator-(const ComplexDiagMatrix &, const SparseMatrix &)
OCTAVE_API ComplexMatrix trans_mul(const SparseComplexMatrix &, const ComplexMatrix &)
OCTAVE_API SparseComplexMatrix min(const Complex &c, const SparseComplexMatrix &m)
OCTAVE_API ComplexMatrix herm_mul(const SparseComplexMatrix &, const ComplexMatrix &)
OCTAVE_API SparseComplexMatrix max(const Complex &c, const SparseComplexMatrix &m)
#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)
N Dimensional Array with copy-on-write semantics.
MSparse< T > transpose(void) const
MSparse< T > & operator=(const MSparse< T > &a)
SparseComplexMatrix(const ComplexNDArray &a)
SparseComplexMatrix(const ComplexMatrix &a)
SparseComplexMatrix(const Sparse< Complex > &a)
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, double val)
SparseComplexMatrix(octave_idx_type r, octave_idx_type c)
SparseComplexMatrix(const SparseComplexMatrix &a)
SparseComplexMatrix(const dim_vector &dv, octave_idx_type nz=0)
SparseComplexMatrix(const MSparse< Complex > &a)
SparseComplexMatrix transpose(void) const
SparseComplexMatrix(void)
ComplexMatrix dense_matrix_type
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, Complex val)
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, octave_idx_type num_nz)
OCTAVE_API ComplexMatrix solve(const ComplexMatrix &b) const
SparseComplexMatrix(const SparseComplexMatrix &a, const dim_vector &dv)
SparseComplexMatrix(const Array< Complex > &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)
Vector representing the dimensions (size) of an Array.
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
bool too_large_for_float(double x)
class OCTAVE_API SparseComplexMatrix
std::complex< double > Complex
const octave_base_value const Array< octave_idx_type > & ra_idx
octave_value operator!(const octave_value &a)