24 #if defined (HAVE_CONFIG_H)
50 template <
typename T1,
typename T2>
68 #define INSTANTIATE_MX_LEFTDIV_CONFORM(T1, T2) \
69 template bool mx_leftdiv_conform (const T1&, const T2&)
84 template <
typename T1,
typename T2>
102 #define INSTANTIATE_MX_DIV_CONFORM(T1, T2) \
103 template bool mx_div_conform (const T1&, const T2&)
292 template <
typename RT,
typename SM,
typename DM>
309 typedef typename DM::element_type DM_elt_type;
310 const DM_elt_type
zero = DM_elt_type ();
316 const DM_elt_type
s = d.dgelem (j);
318 r.xcidx (j) = k_result;
322 r.xdata (k_result) = a.data (
k) /
s;
323 r.xridx (k_result) = a.ridx (
k);
327 r.xcidx (nc) = k_result;
329 r.maybe_compress (
true);
337 return do_rightdiv_sm_dm<SparseMatrix> (
a,
b);
344 return do_rightdiv_sm_dm<SparseComplexMatrix> (
a,
b);
351 return do_rightdiv_sm_dm<SparseComplexMatrix> (
a,
b);
358 return do_rightdiv_sm_dm<SparseComplexMatrix> (
a,
b);
559 template <
typename RT,
typename DM,
typename SM>
576 typedef typename DM::element_type DM_elt_type;
577 const DM_elt_type
zero = DM_elt_type ();
584 r.xcidx (j) = k_result;
590 const DM_elt_type
s = d.dgelem (i);
593 r.xdata (k_result) = a.data (
k) /
s;
594 r.xridx (k_result) =
i;
600 r.xcidx (a_nc) = k_result;
602 r.maybe_compress (
true);
610 return do_leftdiv_dm_sm<SparseMatrix> (
d,
a);
617 return do_leftdiv_dm_sm<SparseComplexMatrix> (
d,
a);
624 return do_leftdiv_dm_sm<SparseComplexMatrix> (
d,
a);
632 return do_leftdiv_dm_sm<SparseComplexMatrix> (
d,
a);
octave_idx_type cols(void) const
octave_idx_type rows(void) const
static void solve_singularity_warning(double rcond)
ComplexMatrix solve(MatrixType &typ, const Matrix &b) const
SparseMatrix transpose(void) const
octave_idx_type * cidx(void)
bool mx_leftdiv_conform(const T1 &a, const T2 &b)
T & elem(octave_idx_type n)
Matrix solve(MatrixType &typ, const Matrix &b) const
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
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
ComplexMatrix hermitian(void) const
Matrix x_el_div(double a, const SparseMatrix &b)
MatrixType transpose(void) const
#define INSTANTIATE_MX_LEFTDIV_CONFORM(T1, T2)
void err_nonconformant(const char *op, octave_idx_type op1_len, octave_idx_type op2_len)
Matrix transpose(void) const
Matrix xleftdiv(const SparseMatrix &a, const Matrix &b, MatrixType &typ)
SparseComplexMatrix hermitian(void) const
With real return the complex result
bool mx_div_conform(const T1 &a, const T2 &b)
octave_idx_type * ridx(void)
Matrix xdiv(const Matrix &a, const SparseMatrix &b, MatrixType &typ)
=val(i)}if ode{val(i)}occurs in table i
OCTAVE_EXPORT octave_value_list or N dimensional array whose elements are all equal to the IEEE symbol NaN(Not a Number).NaN is the result of operations which do not produce a well defined 0 result.Common operations which produce a NaN are arithmetic with infinity ex($\infty-\infty $)
#define INSTANTIATE_MX_DIV_CONFORM(T1, T2)
std::complex< double > Complex
RT do_leftdiv_dm_sm(const DM &d, const SM &a)
RT do_rightdiv_sm_dm(const SM &a, const DM &d)
void warn_singular_matrix(double rcond)
charNDArray min(char d, const charNDArray &m)