24 #if ! defined (octave_CSparse_h) 25 #define octave_CSparse_h 1 27 #include "octave-config.h" 56 typedef void (*solve_singularity_handler) (
double rcond);
114 bool ishermitian (
void)
const;
116 OCTAVE_DEPRECATED (4.4,
"use 'ishermitian' instead")
118 {
return ishermitian (); }
155 double& rcond,
const bool force =
false,
156 const bool calccond =
true)
const;
159 double& rcond,
const bool force =
false,
160 const bool calccond =
true)
const;
168 double& rcond,
bool force =
false,
169 bool calc_cond =
true)
const;
174 bool calc_cond =
true)
const;
180 solve_singularity_handler sing_handler,
181 bool calc_cond =
false)
const;
185 solve_singularity_handler sing_handler,
186 bool calc_cond =
false)
const;
190 solve_singularity_handler sing_handler,
191 bool calc_cond =
false)
const;
195 solve_singularity_handler sing_handler,
196 bool calc_cond =
false)
const;
201 solve_singularity_handler sing_handler,
202 bool calc_cond =
false)
const;
206 solve_singularity_handler sing_handler,
207 bool calc_cond =
false)
const;
211 solve_singularity_handler sing_handler,
212 bool calc_cond =
false)
const;
216 solve_singularity_handler sing_handler,
217 bool calc_cond =
false)
const;
222 solve_singularity_handler sing_handler,
223 bool calc_cond =
false)
const;
227 solve_singularity_handler sing_handler,
228 bool calc_cond =
false)
const;
232 solve_singularity_handler sing_handler,
233 bool calc_cond =
false)
const;
237 solve_singularity_handler sing_handler,
238 bool calc_cond =
false)
const;
243 solve_singularity_handler sing_handler,
244 bool calc_cond =
false)
const;
248 solve_singularity_handler sing_handler,
249 bool calc_cond =
false)
const;
253 solve_singularity_handler sing_handler,
254 bool calc_cond =
false)
const;
258 solve_singularity_handler sing_handler,
259 bool calc_cond =
false)
const;
264 solve_singularity_handler sing_handler,
265 bool calc_cond =
false)
const;
269 solve_singularity_handler sing_handler,
270 bool calc_cond =
false)
const;
274 solve_singularity_handler sing_handler,
275 bool calc_cond =
false)
const;
279 solve_singularity_handler sing_handler,
280 bool calc_cond =
false)
const;
284 Matrix& Info, solve_singularity_handler sing_handler,
285 bool calc_cond)
const;
289 solve_singularity_handler sing_handler,
290 bool calc_cond =
false)
const;
294 solve_singularity_handler sing_handler,
295 bool calc_cond =
false)
const;
299 solve_singularity_handler sing_handler,
300 bool calc_cond =
false)
const;
304 solve_singularity_handler sing_handler,
305 bool calc_cond =
false)
const;
316 double& rcond, solve_singularity_handler sing_handler,
317 bool singular_fallback =
true)
const;
326 solve_singularity_handler sing_handler,
327 bool singular_fallback =
true)
const;
336 solve_singularity_handler sing_handler,
337 bool singular_fallback =
true)
const;
347 solve_singularity_handler sing_handler,
348 bool singular_fallback =
true)
const;
357 solve_singularity_handler sing_handler)
const;
367 solve_singularity_handler sing_handler)
const;
373 double& rcond)
const;
375 solve_singularity_handler sing_handler)
const;
380 double& rcond)
const;
383 solve_singularity_handler sing_handler)
const;
389 double& rcond)
const;
392 solve_singularity_handler sing_handler)
const;
401 solve_singularity_handler sing_handler)
const;
407 double& rcond)
const;
410 solve_singularity_handler sing_handler)
const;
419 solve_singularity_handler sing_handler)
const;
426 bool inv =
false)
const;
431 bool any_element_is_inf_or_nan (
void)
const;
432 bool all_elements_are_real (
void)
const;
433 bool all_integers (
double& max_val,
double& min_val)
const;
434 bool too_large_for_float (
void)
const;
451 friend OCTAVE_API std::ostream&
operator << (std::ostream&
os,
453 friend OCTAVE_API std::istream&
operator >> (std::istream&
is,
SparseComplexMatrix(const ComplexNDArray &a)
SparseBoolMatrix reshape(const dim_vector &new_dims) const
OCTAVE_EXPORT octave_value_list column
#define SPARSE_SMSM_BOOL_OP_DECLS(M1, M2, API)
SparseComplexMatrix(const MSparse< Complex > &a)
bool operator!=(const dim_vector &a, const dim_vector &b)
const octave_base_value const Array< octave_idx_type > & ra_idx
SparseComplexMatrix transpose(void) const
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
ComplexMatrix dense_matrix_type
identity matrix If supplied two scalar respectively For allows like xample val
boolMatrix matrix_value(void) const
OCTAVE_API ComplexMatrix trans_mul(const SparseComplexMatrix &, const ComplexMatrix &)
SparseBoolMatrix & operator=(const SparseBoolMatrix &a)
SparseBoolMatrix permute(const Array< octave_idx_type > &vec, bool inv=false) const
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
SparseComplexMatrix(const dim_vector &dv, octave_idx_type nz=0)
OCTAVE_API SparseComplexMatrix max(const Complex &c, const SparseComplexMatrix &m)
#define SPARSE_SMS_CMP_OP_DECLS(M, S, API)
the second is matched to the second specifier and placed in the second column and so forth If there are more words than specifiers then the process is repeated until all words have been processed or the limit imposed by any(non-whitespace) text in the format that is not one of these specifiers is considered a literal. If there is a literal between two format specifiers then that same literal must appear in the input stream between the matching words. The following specifiers are valid
#define SPARSE_SMS_BOOL_OP_DECLS(M, S, API)
nd example oindent opens the file binary numeric values will be read assuming they are stored in IEEE format with the least significant bit and then converted to the native representation Opening a file that is already open simply opens it again and returns a separate file id It is not an error to open a file several though writing to the same file through several different file ids may produce unexpected results The possible values of text mode reading and writing automatically converts linefeeds to the appropriate line end character for the you may append a you must also open the file in binary mode The parameter conversions are currently only supported for and permissions will be set to and then everything is written in a single operation This is very efficient and improves performance c
#define SPARSE_FORWARD_DEFS(B, R, F, T)
#define SPARSE_SSM_CMP_OP_DECLS(S, M, API)
SparseBoolMatrix ipermute(const Array< octave_idx_type > &vec) const
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
SparseBoolMatrix diag(octave_idx_type k=0) const
SparseComplexMatrix(void)
SparseComplexMatrix(octave_idx_type r, octave_idx_type c)
MSparse< T > transpose(void) const
SparseComplexMatrix(const SparseComplexMatrix &a)
ComplexColumnVector conj(const ComplexColumnVector &a)
#define SPARSE_SMSM_CMP_OP_DECLS(M1, M2, API)
#define SPARSE_SSM_BOOL_OP_DECLS(S, M, API)
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, Complex val)
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 &)
SparseBoolMatrix & insert(const SparseBoolMatrix &a, octave_idx_type r, octave_idx_type c)
SparseBoolMatrix index(const idx_vector &i, bool resize_ok) const
static M ltsolve(const SM &L, const ColumnVector &Q, const M &m)
SparseBoolMatrix squeeze(void) const
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, octave_idx_type num_nz)
SparseBoolMatrix all(int dim=-1) const
MSparse< T > & operator=(const MSparse< T > &a)
bool operator==(const dim_vector &a, const dim_vector &b)
SparseComplexMatrix(octave_idx_type r, octave_idx_type c, double val)
SparseMatrix sum(int dim=-1) const
bool any_element_is_nan(void) const
OCTAVE_API SparseComplexMatrix operator-(const ComplexDiagMatrix &, const SparseMatrix &)
SparseComplexMatrix(const Sparse< Complex > &a)
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
OCTAVE_API ComplexMatrix mul_trans(const ComplexMatrix &, const SparseComplexMatrix &)
OCTAVE_API ComplexMatrix herm_mul(const SparseComplexMatrix &, const ComplexMatrix &)
static M utsolve(const SM &U, const ColumnVector &Q, const M &m)
OCTAVE_EXPORT octave_value_list error nd deftypefn *const octave_scalar_map err
octave_value operator!(const octave_value &a)
std::complex< double > Complex
OCTAVE_API SparseComplexMatrix min(const Complex &c, const SparseComplexMatrix &m)
write the output to stdout if nargout is
Vector representing the dimensions (size) of an Array.
SparseComplexMatrix(const ComplexMatrix &a)
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)
where the brackets indicate optional arguments and and character or cell array For character arrays the conversion is repeated for every row
SparseComplexMatrix(const SparseComplexMatrix &a, const dim_vector &dv)