24 #if defined (HAVE_CONFIG_H)
49 : a_fact (u), l_fact (l), ipvt (p.
transpose ().col_perm_vec ())
51 if (l.columns () != u.rows ())
84 T l (a_nr, mn,
ELT_T (0.0));
92 l.xelem (
i, j) = a_fact.xelem (
i, j);
101 template <
typename T>
111 T
u (mn, a_nc,
ELT_T (0.0));
116 u.xelem (
i, j) = a_fact.xelem (
i, j);
125 template <
typename T>
130 (*current_liboctave_error_handler)
131 (
"lu: Y () not implemented for unpacked form");
136 template <
typename T>
167 template <
typename T>
174 template <
typename T>
190 template <
typename T>
210 #if ! defined (HAVE_QRUPDATE_LUU)
212 template <
typename T>
216 (*current_liboctave_error_handler)
217 (
"luupdate: support for qrupdate with LU updates "
218 "was unavailable or disabled when liboctave was built");
221 template <
typename T>
225 (*current_liboctave_error_handler)
226 (
"luupdate: support for qrupdate with LU updates "
227 "was unavailable or disabled when liboctave was built");
230 template <
typename T>
234 (*current_liboctave_error_handler)
235 (
"luupdate: support for qrupdate with LU updates "
236 "was unavailable or disabled when liboctave was built");
239 template <
typename T>
243 (*current_liboctave_error_handler)
244 (
"luupdate: support for qrupdate with LU updates "
245 "was unavailable or disabled when liboctave was built");
263 double *tmp_data = a_fact.fortran_vec ();
267 F77_XFCN (dgetrf, DGETRF, (a_nr, a_nc, tmp_data, a_nr, pipvt, info));
273 #if defined (HAVE_QRUPDATE_LUU)
397 float *tmp_data = a_fact.fortran_vec ();
401 F77_XFCN (sgetrf, SGETRF, (a_nr, a_nc, tmp_data, a_nr, pipvt, info));
407 #if defined (HAVE_QRUPDATE_LUU)
533 Complex *tmp_data = a_fact.fortran_vec ();
544 #if defined (HAVE_QRUPDATE_LUU)
686 #if defined (HAVE_QRUPDATE_LUU)
Octave interface to the compression and uncompression libraries.
octave_idx_type numel(void) const
Number of elements in the array.
OCTAVE_NORETURN liboctave_error_handler current_liboctave_error_handler
#define F77_DBLE_CMPLX_ARG(x)
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)
#define F77_XFCN(f, F, args)
Array< octave_idx_type > getp(void) const
octave_idx_type rows(void) 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
FloatComplexColumnVector column(octave_idx_type i) const
nd deftypefn *octave_map m
std::complex< double > w(std::complex< double > z, double relerr=0)
const T * data(void) const
void update_piv(const VT &u, const VT &v)
FloatColumnVector column(octave_idx_type i) const
T & xelem(octave_idx_type n)
#define F77_CONST_DBLE_CMPLX_ARG(x)
=val(i)}if ode{val(i)}occurs in table i
ColumnVector column(octave_idx_type i) const
#define OCTAVE_LOCAL_BUFFER(T, buf, size)
void update(const VT &u, const VT &v)
#define F77_CONST_CMPLX_ARG(x)
std::complex< float > FloatComplex
ColumnVector P_vec(void) const
std::complex< double > Complex
const T * fortran_vec(void) const
octave_idx_type cols(void) const
Vector representing the dimensions (size) of an Array.
ComplexColumnVector column(octave_idx_type i) const
octave_idx_type columns(void) const
charNDArray min(char d, const charNDArray &m)