GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
qr< T > Class Template Reference

#include "qr.h"

Inheritance diagram for qr< T >:
qrp< T >

Public Types

typedef T::column_vector_type CV_T
 
typedef T::element_type ELT_T
 
typedef T::row_vector_type RV_T
 
enum  type { std , raw , economy }
 

Public Member Functions

 qr ()
 
 qr (const qr &a)
 
 qr (const T &a, type qr_type=qr::std)
 
 qr (const T &m_q, const T &m_r)
 
virtual ~qr ()=default
 
void delete_col (const Array< octave_idx_type > &j)
 
void delete_col (const Array< octave_idx_type > &j)
 
void delete_col (const Array< octave_idx_type > &j)
 
void delete_col (const Array< octave_idx_type > &j)
 
void delete_col (const Array< octave_idx_type > &j)
 
void delete_col (octave_idx_type j)
 
void delete_col (octave_idx_type j_arg)
 
void delete_col (octave_idx_type j_arg)
 
void delete_col (octave_idx_type j_arg)
 
void delete_col (octave_idx_type j_arg)
 
void delete_row (octave_idx_type j)
 
void delete_row (octave_idx_type j_arg)
 
void delete_row (octave_idx_type j_arg)
 
void delete_row (octave_idx_type j_arg)
 
void delete_row (octave_idx_type j_arg)
 
type get_type () const
 
void init (const ComplexMatrix &a, type qr_type)
 
void init (const FloatComplexMatrix &a, type qr_type)
 
void init (const FloatMatrix &a, type qr_type)
 
void init (const Matrix &a, type qr_type)
 
void init (const T &a, type qr_type)
 
void insert_col (const ColumnVector &u, octave_idx_type j_arg)
 
void insert_col (const ComplexColumnVector &u, octave_idx_type j_arg)
 
void insert_col (const ComplexMatrix &u, const Array< octave_idx_type > &j)
 
void insert_col (const CV_T &u, octave_idx_type j)
 
void insert_col (const FloatColumnVector &u, octave_idx_type j_arg)
 
void insert_col (const FloatComplexColumnVector &u, octave_idx_type j_arg)
 
void insert_col (const FloatComplexMatrix &u, const Array< octave_idx_type > &j)
 
void insert_col (const FloatMatrix &u, const Array< octave_idx_type > &j)
 
void insert_col (const Matrix &u, const Array< octave_idx_type > &j)
 
void insert_col (const T &u, const Array< octave_idx_type > &j)
 
void insert_row (const ComplexRowVector &u, octave_idx_type j_arg)
 
void insert_row (const FloatComplexRowVector &u, octave_idx_type j_arg)
 
void insert_row (const FloatRowVector &u, octave_idx_type j_arg)
 
void insert_row (const RowVector &u, octave_idx_type j_arg)
 
void insert_row (const RV_T &u, octave_idx_type j)
 
qroperator= (const qr &a)
 
Q () const
 
R () const
 
bool regular () const
 
void shift_cols (octave_idx_type i, octave_idx_type j)
 
void shift_cols (octave_idx_type i_arg, octave_idx_type j_arg)
 
void shift_cols (octave_idx_type i_arg, octave_idx_type j_arg)
 
void shift_cols (octave_idx_type i_arg, octave_idx_type j_arg)
 
void shift_cols (octave_idx_type i_arg, octave_idx_type j_arg)
 
void update (const ColumnVector &u, const ColumnVector &v)
 
void update (const ComplexColumnVector &u, const ComplexColumnVector &v)
 
void update (const ComplexMatrix &u, const ComplexMatrix &v)
 
void update (const CV_T &u, const CV_T &v)
 
void update (const FloatColumnVector &u, const FloatColumnVector &v)
 
void update (const FloatComplexColumnVector &u, const FloatComplexColumnVector &v)
 
void update (const FloatComplexMatrix &u, const FloatComplexMatrix &v)
 
void update (const FloatMatrix &u, const FloatMatrix &v)
 
void update (const Matrix &u, const Matrix &v)
 
void update (const T &u, const T &v)
 

Protected Member Functions

void form (octave_idx_type n, T &afact, ELT_T *tau, type qr_type)
 
void form (octave_idx_type n_arg, ComplexMatrix &afact, Complex *tau, type qr_type)
 
void form (octave_idx_type n_arg, FloatComplexMatrix &afact, FloatComplex *tau, type qr_type)
 
void form (octave_idx_type n_arg, FloatMatrix &afact, float *tau, type qr_type)
 
void form (octave_idx_type n_arg, Matrix &afact, double *tau, type qr_type)
 

Protected Attributes

m_q
 
m_r
 

Detailed Description

template<typename T>
class qr< T >

Definition at line 38 of file qr.h.

Member Typedef Documentation

◆ CV_T

template<typename T >
typedef T::column_vector_type qr< T >::CV_T

Definition at line 45 of file qr.h.

◆ ELT_T

template<typename T >
typedef T::element_type qr< T >::ELT_T

Definition at line 43 of file qr.h.

◆ RV_T

template<typename T >
typedef T::row_vector_type qr< T >::RV_T

Definition at line 44 of file qr.h.

Member Enumeration Documentation

◆ type

template<typename T >
enum qr::type
Enumerator
std 
raw 
economy 

Definition at line 47 of file qr.h.

Constructor & Destructor Documentation

◆ qr() [1/4]

template<typename T >
qr< T >::qr ( )
inline

Definition at line 54 of file qr.h.

◆ qr() [2/4]

template<typename T >
qr< T >::qr ( const T &  a,
type  qr_type = qr< T >::std 
)
inline

Definition at line 56 of file qr.h.

◆ qr() [3/4]

template<typename T >
qr< T >::qr ( const T &  m_q,
const T &  m_r 
)

Definition at line 58 of file qr.cc.

References qr< T >::m_q, and qr< T >::m_r.

◆ qr() [4/4]

template<typename T >
qr< T >::qr ( const qr< T > &  a)
inline

Definition at line 64 of file qr.h.

◆ ~qr()

template<typename T >
virtual qr< T >::~qr ( )
virtualdefault

Member Function Documentation

◆ delete_col() [1/10]

void qr< Matrix >::delete_col ( const Array< octave_idx_type > &  j)

◆ delete_col() [2/10]

void qr< FloatMatrix >::delete_col ( const Array< octave_idx_type > &  j)

◆ delete_col() [3/10]

void qr< ComplexMatrix >::delete_col ( const Array< octave_idx_type > &  j)

◆ delete_col() [4/10]

void qr< FloatComplexMatrix >::delete_col ( const Array< octave_idx_type > &  j)

◆ delete_col() [5/10]

template<typename T >
void qr< T >::delete_col ( const Array< octave_idx_type > &  j)

◆ delete_col() [6/10]

template<typename T >
void qr< T >::delete_col ( octave_idx_type  j)

◆ delete_col() [7/10]

void qr< Matrix >::delete_col ( octave_idx_type  j_arg)

Definition at line 633 of file qr.cc.

References F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ delete_col() [8/10]

void qr< FloatMatrix >::delete_col ( octave_idx_type  j_arg)

Definition at line 1049 of file qr.cc.

References F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ delete_col() [9/10]

void qr< ComplexMatrix >::delete_col ( octave_idx_type  j_arg)

Definition at line 1489 of file qr.cc.

References F77_DBLE_CMPLX_ARG, F77_XFCN, m, n, and OCTAVE_LOCAL_BUFFER.

◆ delete_col() [10/10]

void qr< FloatComplexMatrix >::delete_col ( octave_idx_type  j_arg)

Definition at line 1928 of file qr.cc.

References F77_CMPLX_ARG, F77_XFCN, m, n, and OCTAVE_LOCAL_BUFFER.

◆ delete_row() [1/5]

template<typename T >
void qr< T >::delete_row ( octave_idx_type  j)

◆ delete_row() [2/5]

void qr< Matrix >::delete_row ( octave_idx_type  j_arg)

Definition at line 744 of file qr.cc.

References F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ delete_row() [3/5]

void qr< FloatMatrix >::delete_row ( octave_idx_type  j_arg)

Definition at line 1161 of file qr.cc.

References F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ delete_row() [4/5]

void qr< ComplexMatrix >::delete_row ( octave_idx_type  j_arg)

Definition at line 1604 of file qr.cc.

References F77_DBLE_CMPLX_ARG, F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ delete_row() [5/5]

void qr< FloatComplexMatrix >::delete_row ( octave_idx_type  j_arg)

Definition at line 2042 of file qr.cc.

References F77_CMPLX_ARG, F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ form() [1/5]

template<typename T >
void qr< T >::form ( octave_idx_type  n,
T &  afact,
ELT_T tau,
type  qr_type 
)
protected

◆ form() [2/5]

void qr< ComplexMatrix >::form ( octave_idx_type  n_arg,
ComplexMatrix afact,
Complex tau,
type  qr_type 
)
protected

Definition at line 1214 of file qr.cc.

◆ form() [3/5]

void qr< FloatComplexMatrix >::form ( octave_idx_type  n_arg,
FloatComplexMatrix afact,
FloatComplex tau,
type  qr_type 
)
protected

Definition at line 1660 of file qr.cc.

◆ form() [4/5]

void qr< FloatMatrix >::form ( octave_idx_type  n_arg,
FloatMatrix afact,
float *  tau,
type  qr_type 
)
protected

Definition at line 796 of file qr.cc.

◆ form() [5/5]

void qr< Matrix >::form ( octave_idx_type  n_arg,
Matrix afact,
double *  tau,
type  qr_type 
)
protected

Definition at line 382 of file qr.cc.

◆ get_type()

template<typename T >
qr< T >::type qr< T >::get_type

Definition at line 73 of file qr.cc.

◆ init() [1/5]

void qr< ComplexMatrix >::init ( const ComplexMatrix a,
type  qr_type 
)

Definition at line 1291 of file qr.cc.

◆ init() [2/5]

void qr< FloatComplexMatrix >::init ( const FloatComplexMatrix a,
type  qr_type 
)

Definition at line 1735 of file qr.cc.

◆ init() [3/5]

void qr< FloatMatrix >::init ( const FloatMatrix a,
type  qr_type 
)

Definition at line 867 of file qr.cc.

◆ init() [4/5]

void qr< Matrix >::init ( const Matrix a,
type  qr_type 
)

Definition at line 453 of file qr.cc.

◆ init() [5/5]

template<typename T >
void qr< T >::init ( const T &  a,
type  qr_type 
)

◆ insert_col() [1/10]

void qr< Matrix >::insert_col ( const ColumnVector u,
octave_idx_type  j_arg 
)

◆ insert_col() [2/10]

◆ insert_col() [3/10]

◆ insert_col() [4/10]

template<typename T >
void qr< T >::insert_col ( const CV_T u,
octave_idx_type  j 
)

◆ insert_col() [5/10]

void qr< FloatMatrix >::insert_col ( const FloatColumnVector u,
octave_idx_type  j_arg 
)

◆ insert_col() [6/10]

◆ insert_col() [7/10]

◆ insert_col() [8/10]

◆ insert_col() [9/10]

◆ insert_col() [10/10]

template<typename T >
void qr< T >::insert_col ( const T &  u,
const Array< octave_idx_type > &  j 
)

◆ insert_row() [1/5]

void qr< ComplexMatrix >::insert_row ( const ComplexRowVector u,
octave_idx_type  j_arg 
)

◆ insert_row() [2/5]

◆ insert_row() [3/5]

void qr< FloatMatrix >::insert_row ( const FloatRowVector u,
octave_idx_type  j_arg 
)

◆ insert_row() [4/5]

void qr< Matrix >::insert_row ( const RowVector u,
octave_idx_type  j_arg 
)

◆ insert_row() [5/5]

template<typename T >
void qr< T >::insert_row ( const RV_T u,
octave_idx_type  j 
)

◆ operator=()

template<typename T >
qr& qr< T >::operator= ( const qr< T > &  a)
inline

Definition at line 66 of file qr.h.

References qr< T >::m_q, and qr< T >::m_r.

Referenced by qrp< T >::operator=().

◆ Q()

template<typename T >
T qr< T >::Q ( ) const
inline

Definition at line 79 of file qr.h.

◆ R()

template<typename T >
T qr< T >::R ( ) const
inline

Definition at line 81 of file qr.h.

◆ regular()

template<typename T >
bool qr< T >::regular

Definition at line 89 of file qr.cc.

References min().

◆ shift_cols() [1/5]

template<typename T >
void qr< T >::shift_cols ( octave_idx_type  i,
octave_idx_type  j 
)

◆ shift_cols() [2/5]

void qr< Matrix >::shift_cols ( octave_idx_type  i_arg,
octave_idx_type  j_arg 
)

Definition at line 770 of file qr.cc.

References F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ shift_cols() [3/5]

void qr< FloatMatrix >::shift_cols ( octave_idx_type  i_arg,
octave_idx_type  j_arg 
)

Definition at line 1188 of file qr.cc.

References F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ shift_cols() [4/5]

void qr< ComplexMatrix >::shift_cols ( octave_idx_type  i_arg,
octave_idx_type  j_arg 
)

Definition at line 1632 of file qr.cc.

References F77_DBLE_CMPLX_ARG, F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ shift_cols() [5/5]

void qr< FloatComplexMatrix >::shift_cols ( octave_idx_type  i_arg,
octave_idx_type  j_arg 
)

Definition at line 2070 of file qr.cc.

References F77_CMPLX_ARG, F77_XFCN, m, n, OCTAVE_LOCAL_BUFFER, and Faddeeva::w().

◆ update() [1/10]

void qr< Matrix >::update ( const ColumnVector u,
const ColumnVector v 
)

◆ update() [2/10]

◆ update() [3/10]

◆ update() [4/10]

template<typename T >
void qr< T >::update ( const CV_T u,
const CV_T v 
)

◆ update() [5/10]

void qr< FloatMatrix >::update ( const FloatColumnVector u,
const FloatColumnVector v 
)

◆ update() [6/10]

◆ update() [7/10]

◆ update() [8/10]

◆ update() [9/10]

void qr< Matrix >::update ( const Matrix u,
const Matrix v 
)

◆ update() [10/10]

template<typename T >
void qr< T >::update ( const T &  u,
const T &  v 
)

Member Data Documentation

◆ m_q

template<typename T >
T qr< T >::m_q
protected

Definition at line 109 of file qr.h.

Referenced by qr< T >::qr(), and qr< T >::operator=().

◆ m_r

template<typename T >
T qr< T >::m_r
protected

Definition at line 110 of file qr.h.

Referenced by qr< T >::qr(), and qr< T >::operator=().


The documentation for this class was generated from the following files: