24 #if ! defined (octave_dSparse_h) 25 #define octave_dSparse_h 1 27 #include "octave-config.h" 53 typedef void (*solve_singularity_handler) (
double rcond);
103 bool issymmetric (
void)
const;
105 OCTAVE_DEPRECATED (4.4,
"use 'issymmetric' instead")
107 {
return issymmetric (); }
144 double& rcond,
const bool force =
false,
145 const bool calccond =
true)
const;
148 double& rcond,
const bool force =
false,
149 const bool calccond =
true)
const;
156 double& rcond,
bool force =
false,
157 bool calc_cond =
true)
const;
159 DET determinant (
void)
const;
162 bool calc_cond =
true)
const;
167 double& rcond, solve_singularity_handler sing_handler,
168 bool calc_cond =
false)
const;
172 solve_singularity_handler sing_handler,
173 bool calc_cond =
false)
const;
177 solve_singularity_handler sing_handler,
178 bool calc_cond =
false)
const;
182 solve_singularity_handler sing_handler,
183 bool calc_cond =
false)
const;
187 double& rcond, solve_singularity_handler sing_handler,
188 bool calc_cond =
false)
const;
192 solve_singularity_handler sing_handler,
193 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 double& rcond, solve_singularity_handler sing_handler,
208 bool calc_cond =
false)
const;
212 solve_singularity_handler sing_handler,
213 bool calc_cond =
false)
const;
217 solve_singularity_handler sing_handler,
218 bool calc_cond =
false)
const;
222 solve_singularity_handler sing_handler,
223 bool calc_cond =
false)
const;
227 double& rcond, 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;
242 solve_singularity_handler sing_handler,
243 bool calc_cond =
false)
const;
247 double& rcond, solve_singularity_handler sing_handler,
248 bool calc_cond =
false)
const;
252 solve_singularity_handler sing_handler,
253 bool calc_cond =
false)
const;
257 solve_singularity_handler sing_handler,
258 bool calc_cond =
false)
const;
262 solve_singularity_handler sing_handler,
263 bool calc_cond =
false)
const;
267 Matrix& Info, solve_singularity_handler sing_handler,
268 bool calc_cond =
false)
const;
271 double& rcond, solve_singularity_handler sing_handler,
272 bool calc_cond =
false)
const;
276 solve_singularity_handler sing_handler,
277 bool calc_cond =
false)
const;
281 solve_singularity_handler sing_handler,
282 bool calc_cond =
false)
const;
286 solve_singularity_handler sing_handler,
287 bool calc_cond =
false)
const;
294 double& rcond)
const;
296 double& rcond, solve_singularity_handler sing_handler,
297 bool singular_fallback =
true)
const;
306 solve_singularity_handler sing_handler,
307 bool singular_fallback =
true)
const;
316 solve_singularity_handler sing_handler,
317 bool singular_fallback =
true)
const;
327 solve_singularity_handler sing_handler,
328 bool singular_fallabck =
true)
const;
337 solve_singularity_handler sing_handler)
const;
347 solve_singularity_handler sing_handler)
const;
354 solve_singularity_handler sing_handler)
const;
359 double& rcond)
const;
362 solve_singularity_handler sing_handler)
const;
367 double& rcond)
const;
370 solve_singularity_handler sing_handler)
const;
379 solve_singularity_handler sing_handler)
const;
384 double& rcond)
const;
387 solve_singularity_handler sing_handler)
const;
396 solve_singularity_handler sing_handler)
const;
400 bool any_element_is_negative (
bool =
false)
const;
402 bool any_element_is_inf_or_nan (
void)
const;
403 bool any_element_not_one_or_zero (
void)
const;
404 bool all_elements_are_zero (
void)
const;
405 bool all_elements_are_int_or_inf_or_nan (
void)
const;
406 bool all_integers (
double& max_val,
double& min_val)
const;
407 bool too_large_for_float (
void)
const;
430 bool inv =
false)
const;
436 friend OCTAVE_API std::ostream&
operator << (std::ostream&
os,
438 friend OCTAVE_API std::istream&
operator >> (std::istream&
is,
OCTAVE_API SparseMatrix operator-(const DiagMatrix &, const SparseMatrix &)
SparseBoolMatrix reshape(const dim_vector &new_dims) const
OCTAVE_EXPORT octave_value_list column
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(const NDArray &a)
OCTAVE_API Matrix mul_trans(const Matrix &a, const SparseMatrix &b)
identity matrix If supplied two scalar respectively For allows like xample val
boolMatrix matrix_value(void) const
OCTAVE_API SparseMatrix imag(const SparseComplexMatrix &a)
SparseBoolMatrix & operator=(const SparseBoolMatrix &a)
SparseMatrix(const Matrix &a)
SparseBoolMatrix permute(const Array< octave_idx_type > &vec, bool inv=false) const
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)
SparseMatrix transpose(void) const
#define SPARSE_SMS_CMP_OP_DECLS(M, S, API)
SparseMatrix(const SparseMatrix &a, const dim_vector &dv)
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
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)
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
SparseMatrix(const SparseMatrix &a)
SparseMatrix(const MSparse< double > &a)
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
#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
SparseMatrix(octave_idx_type r, octave_idx_type c, octave_idx_type num_nz)
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
MSparse< T > transpose(void) const
#define SPARSE_SMSM_CMP_OP_DECLS(M1, M2, API)
OCTAVE_API SparseMatrix min(double d, const SparseMatrix &m)
#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)
SparseBoolMatrix index(const idx_vector &i, bool resize_ok) const
static M ltsolve(const SM &L, const ColumnVector &Q, const M &m)
SparseMatrix(const PermMatrix &a)
SparseBoolMatrix squeeze(void) const
SparseBoolMatrix all(int dim=-1) const
MSparse< T > & operator=(const MSparse< T > &a)
bool operator==(const dim_vector &a, const dim_vector &b)
SparseMatrix sum(int dim=-1) const
OCTAVE_API Matrix trans_mul(const SparseMatrix &a, const Matrix &b)
bool any_element_is_nan(void) const
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
static M utsolve(const SM &U, const ColumnVector &Q, const M &m)
OCTAVE_API SparseMatrix real(const SparseComplexMatrix &a)
OCTAVE_EXPORT octave_value_list error nd deftypefn *const octave_scalar_map err
octave_value operator!(const octave_value &a)
SparseMatrix(octave_idx_type r, octave_idx_type c, double val)
write the output to stdout if nargout is
Vector representing the dimensions (size) of an Array.
where the brackets indicate optional arguments and and character or cell array For character arrays the conversion is repeated for every row
SparseMatrix hermitian(void) const