24 #if ! defined (octave_dSparse_h)
25 #define octave_dSparse_h 1
27 #include "octave-config.h"
56 typedef void (*solve_singularity_handler) (
double rcond);
106 bool is_symmetric (
void)
const;
129 OCTAVE_DEPRECATED (
"use 'Fatan2' instead")
133 OCTAVE_DEPRECATED ("use '
Fatan2' instead")
137 OCTAVE_DEPRECATED ("use '
Fatan2' instead")
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;
167 double& rcond,
bool force =
false,
168 bool calc_cond =
true)
const;
170 DET determinant (
void)
const;
173 bool calc_cond =
true)
const;
178 double& rcond, 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;
198 double& rcond, solve_singularity_handler sing_handler,
199 bool calc_cond =
false)
const;
203 solve_singularity_handler sing_handler,
204 bool calc_cond =
false)
const;
208 solve_singularity_handler sing_handler,
209 bool calc_cond =
false)
const;
213 solve_singularity_handler sing_handler,
214 bool calc_cond =
false)
const;
218 double& rcond, 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;
238 double& rcond, solve_singularity_handler sing_handler,
239 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 double& rcond, solve_singularity_handler sing_handler,
259 bool calc_cond =
false)
const;
263 solve_singularity_handler sing_handler,
264 bool calc_cond =
false)
const;
268 solve_singularity_handler sing_handler,
269 bool calc_cond =
false)
const;
273 solve_singularity_handler sing_handler,
274 bool calc_cond =
false)
const;
278 Matrix &Info, solve_singularity_handler sing_handler,
279 bool calc_cond =
false)
const;
282 double& rcond, solve_singularity_handler sing_handler,
283 bool calc_cond =
false)
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;
305 double& rcond)
const;
307 double& rcond, solve_singularity_handler sing_handler,
308 bool singular_fallback =
true)
const;
317 solve_singularity_handler sing_handler,
318 bool singular_fallback =
true)
const;
327 solve_singularity_handler sing_handler,
328 bool singular_fallback =
true)
const;
338 solve_singularity_handler sing_handler,
339 bool singular_fallabck =
true)
const;
348 solve_singularity_handler sing_handler)
const;
358 solve_singularity_handler sing_handler)
const;
365 solve_singularity_handler sing_handler)
const;
370 double& rcond)
const;
373 solve_singularity_handler sing_handler)
const;
378 double& rcond)
const;
381 solve_singularity_handler sing_handler)
const;
390 solve_singularity_handler sing_handler)
const;
395 double& rcond)
const;
398 solve_singularity_handler sing_handler)
const;
407 solve_singularity_handler sing_handler)
const;
411 bool any_element_is_negative (
bool =
false)
const;
413 bool any_element_is_inf_or_nan (
void)
const;
414 bool any_element_not_one_or_zero (
void)
const;
415 bool all_elements_are_zero (
void)
const;
416 bool all_elements_are_int_or_inf_or_nan (
void)
const;
417 bool all_integers (
double& max_val,
double& min_val)
const;
418 bool too_large_for_float (
void)
const;
441 bool inv =
false)
const;
447 friend OCTAVE_API std::ostream&
operator << (std::ostream& os,
449 friend OCTAVE_API std::istream&
operator >> (std::istream&
is,
OCTAVE_API SparseMatrix operator-(const DiagMatrix &, const SparseMatrix &)
boolMatrix matrix_value(void) 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)
SparseBoolMatrix ipermute(const Array< octave_idx_type > &vec) const
OCTAVE_API Matrix mul_trans(const Matrix &a, const SparseMatrix &b)
identity matrix If supplied two scalar respectively For allows like xample val
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)
SparseMatrix(const MSparse< double > &a)
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &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 F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &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 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
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
#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)
nd deftypefn *octave_map m
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)
static M ltsolve(const SM &L, const ColumnVector &Q, const M &m)
SparseMatrix(const PermMatrix &a)
the sparsity preserving column transformation such that that defines the pivoting threshold can be given in which case it defines the c
MSparse< T > & operator=(const MSparse< T > &a)
SparseBoolMatrix squeeze(void) const
bool operator==(const dim_vector &a, const dim_vector &b)
MSparse< T > transpose(void) const
OCTAVE_API Matrix trans_mul(const SparseMatrix &a, const Matrix &b)
SparseMatrix atan2(const double &x, const SparseMatrix &y)
=val(i)}if ode{val(i)}occurs in table i
OCTAVE_EXPORT octave_value_list return the value of the option it must match the dimension of the state and the relative tolerance must also be a vector of the same length tem it must match the dimension of the state and the absolute tolerance must also be a vector of the same length The local error test applied at each integration step is xample roup abs(local error in x(i))<
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
issues an error eealso double
the element is set to zero In other the statement xample y
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
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)
write the output to stdout if nargout is
Vector representing the dimensions (size) of an Array.
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
where the brackets indicate optional arguments and and character or cell array For character arrays the conversion is repeated for every row
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &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 F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE * x
OCTINTERP_API octave_value_list Fatan2(const octave_value_list &=octave_value_list(), int=0)
bool any_element_is_nan(void) const