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&) 148 return result.transpose ();
168 return result.hermitian ();
188 return result.hermitian ();
208 return result.hermitian ();
228 return result.transpose ();
248 return result.hermitian ();
268 return result.hermitian ();
289 return result.hermitian ();
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);
static void solve_singularity_warning(double rcond)
OCTAVE_EXPORT octave_value_list or N dimensional array whose elements are all equal to the IEEE symbol zero divided by zero($0/0$)
bool mx_leftdiv_conform(const T1 &a, const T2 &b)
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
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
Matrix x_el_div(double a, const SparseMatrix &b)
#define INSTANTIATE_MX_LEFTDIV_CONFORM(T1, T2)
void err_nonconformant(const char *op, octave_idx_type op1_len, octave_idx_type op2_len)
Matrix xleftdiv(const SparseMatrix &a, const Matrix &b, MatrixType &typ)
With real return the complex result
bool mx_div_conform(const T1 &a, const T2 &b)
Matrix xdiv(const Matrix &a, const SparseMatrix &b, MatrixType &typ)
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$)
ComplexMatrix solve(MatrixType &mattype, const Matrix &b) const
Matrix solve(MatrixType &typ, const Matrix &b) const
#define INSTANTIATE_MX_DIV_CONFORM(T1, T2)
MatrixType transpose(void) const
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)