26 #if ! defined (octave_CSparse_h)
27 #define octave_CSparse_h 1
29 #include "octave-config.h"
58 typedef void (*solve_singularity_handler) (
double rcond);
116 bool ishermitian (
void)
const;
153 double& rcond,
const bool force =
false,
154 const bool calccond =
true)
const;
157 double& rcond,
const bool force =
false,
158 const bool calccond =
true)
const;
166 double& rcond,
bool force =
false,
167 bool calc_cond =
true)
const;
172 bool calc_cond =
true)
const;
178 solve_singularity_handler sing_handler,
179 bool calc_cond =
false)
const;
183 solve_singularity_handler sing_handler,
184 bool calc_cond =
false)
const;
188 solve_singularity_handler sing_handler,
189 bool calc_cond =
false)
const;
193 solve_singularity_handler sing_handler,
194 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 solve_singularity_handler sing_handler,
210 bool calc_cond =
false)
const;
214 solve_singularity_handler sing_handler,
215 bool calc_cond =
false)
const;
220 solve_singularity_handler sing_handler,
221 bool calc_cond =
false)
const;
225 solve_singularity_handler sing_handler,
226 bool calc_cond =
false)
const;
230 solve_singularity_handler sing_handler,
231 bool calc_cond =
false)
const;
235 solve_singularity_handler sing_handler,
236 bool calc_cond =
false)
const;
241 solve_singularity_handler sing_handler,
242 bool calc_cond =
false)
const;
246 solve_singularity_handler sing_handler,
247 bool calc_cond =
false)
const;
251 solve_singularity_handler sing_handler,
252 bool calc_cond =
false)
const;
256 solve_singularity_handler sing_handler,
257 bool calc_cond =
false)
const;
262 solve_singularity_handler sing_handler,
263 bool calc_cond =
false)
const;
267 solve_singularity_handler sing_handler,
268 bool calc_cond =
false)
const;
272 solve_singularity_handler sing_handler,
273 bool calc_cond =
false)
const;
277 solve_singularity_handler sing_handler,
278 bool calc_cond =
false)
const;
282 Matrix& Info, solve_singularity_handler sing_handler,
283 bool calc_cond)
const;
287 solve_singularity_handler sing_handler,
288 bool calc_cond =
false)
const;
292 solve_singularity_handler sing_handler,
293 bool calc_cond =
false)
const;
297 solve_singularity_handler sing_handler,
298 bool calc_cond =
false)
const;
302 solve_singularity_handler sing_handler,
303 bool calc_cond =
false)
const;
314 double& rcond, solve_singularity_handler sing_handler,
315 bool singular_fallback =
true)
const;
324 solve_singularity_handler sing_handler,
325 bool singular_fallback =
true)
const;
334 solve_singularity_handler sing_handler,
335 bool singular_fallback =
true)
const;
345 solve_singularity_handler sing_handler,
346 bool singular_fallback =
true)
const;
355 solve_singularity_handler sing_handler)
const;
365 solve_singularity_handler sing_handler)
const;
371 double& rcond)
const;
373 solve_singularity_handler sing_handler)
const;
378 double& rcond)
const;
381 solve_singularity_handler sing_handler)
const;
387 double& rcond)
const;
390 solve_singularity_handler sing_handler)
const;
399 solve_singularity_handler sing_handler)
const;
405 double& rcond)
const;
408 solve_singularity_handler sing_handler)
const;
417 solve_singularity_handler sing_handler)
const;
424 bool inv =
false)
const;
429 bool any_element_is_inf_or_nan (
void)
const;
430 bool all_elements_are_real (
void)
const;
431 bool all_integers (
double& max_val,
double& min_val)
const;
432 bool too_large_for_float (
void)
const;
449 friend OCTAVE_API std::ostream&
operator << (std::ostream& os,
451 friend OCTAVE_API std::istream&
operator >> (std::istream& is,
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)
SparseBoolMatrix & insert(const SparseBoolMatrix &a, octave_idx_type r, octave_idx_type c)
SparseBoolMatrix reshape(const dim_vector &new_dims) const
SparseBoolMatrix ipermute(const Array< octave_idx_type > &vec) const
SparseBoolMatrix permute(const Array< octave_idx_type > &vec, bool inv=false) const
SparseBoolMatrix index(const idx_vector &i, bool resize_ok) const
SparseBoolMatrix diag(octave_idx_type k=0) const
SparseBoolMatrix squeeze(void) const
SparseBoolMatrix all(int dim=-1) const
boolMatrix matrix_value(void) const
SparseMatrix sum(int dim=-1) const
SparseBoolMatrix & operator=(const SparseBoolMatrix &a)
SparseBoolMatrix any(int dim=-1) const
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)
ComplexMatrix solve(const ComplexMatrix &b) const
SparseComplexMatrix transpose(void) const
SparseComplexMatrix(void)
ComplexMatrix dense_matrix_type
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, Complex val)
SparseComplexMatrix(const Array< Complex > &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)
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, octave_idx_type num_nz)
SparseComplexMatrix(const SparseComplexMatrix &a, const dim_vector &dv)
bool any_element_is_nan(void) const
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)
std::complex< double > Complex
const octave_base_value const Array< octave_idx_type > & ra_idx
octave_value operator!(const octave_value &a)