26 #if ! defined (octave_qr_h)
29 #include "octave-config.h"
31 template <
typename T>
class Array;
43 typedef typename T::element_type
ELT_T;
44 typedef typename T::row_vector_type
RV_T;
45 typedef typename T::column_vector_type
CV_T;
54 qr (
void) : q (),
r () { }
62 qr (
const T& q,
const T&
r);
64 qr (
const qr& a) : q (a.q),
r (a.
r) { }
66 qr& operator = (
const qr& a)
77 virtual ~qr (
void) =
default;
79 T
Q (
void)
const {
return q; }
81 T
R (
void)
const {
return r; }
83 type get_type (
void)
const;
85 bool regular (
void)
const;
91 void update (
const T& u,
const T& v);
N Dimensional Array with copy-on-write semantics.
void update(const CV_T &u, const CV_T &v)
void init(const T &a, type qr_type)
void insert_row(const RV_T &u, octave_idx_type j)
void insert_col(const CV_T &u, octave_idx_type j)
void delete_col(const Array< octave_idx_type > &j)
T::column_vector_type CV_T
void shift_cols(octave_idx_type i, octave_idx_type j)
void delete_col(octave_idx_type j)
virtual ~qr(void)=default
void insert_col(const T &u, const Array< octave_idx_type > &j)
void form(octave_idx_type n, T &afact, ELT_T *tau, type qr_type)
void update(const T &u, const T &v)
void delete_row(octave_idx_type j)
qr(const T &a, type qr_type=qr::std)
static octave::math::qr< T >::type qr_type(int nargout, bool economy)
void warn_qrupdate_once(void)