GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
MatrixType Class Reference

#include "MatrixType.h"

Collaboration diagram for MatrixType:

Public Types

enum  matrix_type {
  Unknown = 0 , Full , Diagonal , Permuted_Diagonal ,
  Upper , Lower , Permuted_Upper , Permuted_Lower ,
  Banded , Hermitian , Banded_Hermitian , Tridiagonal ,
  Tridiagonal_Hermitian , Rectangular
}
 

Public Member Functions

OCTAVE_API MatrixType (const ComplexMatrix &a)
 
OCTAVE_API MatrixType (const FloatComplexMatrix &a)
 
OCTAVE_API MatrixType (const FloatMatrix &a)
 
OCTAVE_API MatrixType (const Matrix &a)
 
OCTAVE_API MatrixType (const matrix_type t, bool _full=false)
 
OCTAVE_API MatrixType (const matrix_type t, const octave_idx_type ku, const octave_idx_type kl, bool _full=false)
 
OCTAVE_API MatrixType (const matrix_type t, const octave_idx_type np, const octave_idx_type *p, bool _full=false)
 
OCTAVE_API MatrixType (const MatrixType &a)
 
template<typename T >
 MatrixType (const MSparse< T > &a)
 
template<typename T >
OCTAVE_API MatrixType (const MSparse< T > &a)
 
OCTAVE_API MatrixType (void)
 
OCTAVE_API ~MatrixType (void)
 
double band_density (void) const
 
OCTAVE_API void info (void) const
 
void invalidate_type (void)
 
bool is_dense (void) const
 
bool is_known (void) const
 
bool is_rectangular (void) const
 
bool is_tridiagonal (void) const
 
bool is_unknown (void) const
 
bool isbanded (void) const
 
bool isdiag (void) const
 
bool ishermitian (void) const
 
bool istril (void) const
 
bool istriu (void) const
 
void mark_as_banded (const octave_idx_type ku, const octave_idx_type kl)
 
void mark_as_dense (void)
 
void mark_as_diagonal (void)
 
void mark_as_full (void)
 
void mark_as_lower_triangular (void)
 
void mark_as_not_dense (void)
 
OCTAVE_API void mark_as_permuted (const octave_idx_type np, const octave_idx_type *p)
 
void mark_as_permuted_diagonal (void)
 
void mark_as_rectangular (void)
 
OCTAVE_API void mark_as_symmetric (void)
 
void mark_as_tridiagonal (void)
 
OCTAVE_API void mark_as_unpermuted (void)
 
OCTAVE_API void mark_as_unsymmetric (void)
 
void mark_as_upper_triangular (void)
 
int nlower (void) const
 
int nupper (void) const
 
OCTAVE_API MatrixTypeoperator= (const MatrixType &a)
 
OCTAVE_API MatrixType transpose (void) const
 
octave_idx_typetriangular_perm (void) const
 
OCTAVE_API int type (bool quiet=true)
 
OCTAVE_API int type (const ComplexMatrix &a)
 
OCTAVE_API int type (const FloatComplexMatrix &a)
 
OCTAVE_API int type (const FloatMatrix &a)
 
OCTAVE_API int type (const Matrix &a)
 
OCTAVE_API int type (const SparseComplexMatrix &a)
 
OCTAVE_API int type (const SparseMatrix &a)
 

Private Member Functions

void type (int new_typ)
 

Private Attributes

double m_bandden
 
bool m_dense
 
bool m_full
 
octave_idx_type m_lower_band
 
octave_idx_type m_nperm
 
octave_idx_typem_perm
 
double m_sp_bandden
 
matrix_type m_type
 
octave_idx_type m_upper_band
 

Detailed Description

Definition at line 35 of file MatrixType.h.

Member Enumeration Documentation

◆ matrix_type

Enumerator
Unknown 
Full 
Diagonal 
Permuted_Diagonal 
Upper 
Lower 
Permuted_Upper 
Permuted_Lower 
Banded 
Hermitian 
Banded_Hermitian 
Tridiagonal 
Tridiagonal_Hermitian 
Rectangular 

Definition at line 39 of file MatrixType.h.

Constructor & Destructor Documentation

◆ MatrixType() [1/11]

MatrixType::MatrixType ( void  )

Definition at line 66 of file MatrixType.cc.

◆ MatrixType() [2/11]

MatrixType::MatrixType ( const MatrixType a)

Definition at line 72 of file MatrixType.cc.

References m_nperm, and m_perm.

◆ MatrixType() [3/11]

MatrixType::MatrixType ( const Matrix a)

Definition at line 203 of file MatrixType.cc.

References m_type, and matrix_real_probe().

◆ MatrixType() [4/11]

MatrixType::MatrixType ( const ComplexMatrix a)

Definition at line 211 of file MatrixType.cc.

References m_type, and matrix_complex_probe().

◆ MatrixType() [5/11]

MatrixType::MatrixType ( const FloatMatrix a)

Definition at line 219 of file MatrixType.cc.

References m_type, and matrix_real_probe().

◆ MatrixType() [6/11]

MatrixType::MatrixType ( const FloatComplexMatrix a)

Definition at line 227 of file MatrixType.cc.

References m_type, and matrix_complex_probe().

◆ MatrixType() [7/11]

template<typename T >
OCTAVE_API MatrixType::MatrixType ( const MSparse< T > &  a)

◆ MatrixType() [8/11]

MatrixType::MatrixType ( const matrix_type  t,
bool  _full = false 
)

◆ MatrixType() [9/11]

MatrixType::MatrixType ( const matrix_type  t,
const octave_idx_type  np,
const octave_idx_type p,
bool  _full = false 
)

Definition at line 579 of file MatrixType.cc.

References m_nperm, m_perm, m_type, Permuted_Lower, Permuted_Upper, and warn_invalid().

◆ MatrixType() [10/11]

MatrixType::MatrixType ( const matrix_type  t,
const octave_idx_type  ku,
const octave_idx_type  kl,
bool  _full = false 
)

Definition at line 599 of file MatrixType.cc.

References Banded, Banded_Hermitian, m_lower_band, m_type, m_upper_band, and warn_invalid().

◆ ~MatrixType()

MatrixType::~MatrixType ( void  )

Definition at line 616 of file MatrixType.cc.

References m_nperm, and m_perm.

◆ MatrixType() [11/11]

Member Function Documentation

◆ band_density()

double MatrixType::band_density ( void  ) const
inline

Definition at line 99 of file MatrixType.h.

◆ info()

◆ invalidate_type()

void MatrixType::invalidate_type ( void  )
inline

Definition at line 138 of file MatrixType.h.

Referenced by octave_base_sparse< T >::assign(), and Fmatrix_type().

◆ is_dense()

bool MatrixType::is_dense ( void  ) const
inline

◆ is_known()

bool MatrixType::is_known ( void  ) const
inline

Definition at line 130 of file MatrixType.h.

◆ is_rectangular()

bool MatrixType::is_rectangular ( void  ) const
inline

Definition at line 128 of file MatrixType.h.

◆ is_tridiagonal()

bool MatrixType::is_tridiagonal ( void  ) const
inline

Definition at line 119 of file MatrixType.h.

◆ is_unknown()

bool MatrixType::is_unknown ( void  ) const
inline

Definition at line 132 of file MatrixType.h.

Referenced by do_sqrtm(), and Fmatrix_type().

◆ isbanded()

bool MatrixType::isbanded ( void  ) const
inline

Definition at line 116 of file MatrixType.h.

◆ isdiag()

bool MatrixType::isdiag ( void  ) const
inline

Definition at line 107 of file MatrixType.h.

◆ ishermitian()

bool MatrixType::ishermitian ( void  ) const
inline

◆ istril()

bool MatrixType::istril ( void  ) const
inline

Definition at line 113 of file MatrixType.h.

◆ istriu()

bool MatrixType::istriu ( void  ) const
inline

Definition at line 110 of file MatrixType.h.

◆ mark_as_banded()

void MatrixType::mark_as_banded ( const octave_idx_type  ku,
const octave_idx_type  kl 
)
inline

Definition at line 150 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ mark_as_dense()

void MatrixType::mark_as_dense ( void  )
inline

Definition at line 157 of file MatrixType.h.

◆ mark_as_diagonal()

void MatrixType::mark_as_diagonal ( void  )
inline

Definition at line 140 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ mark_as_full()

void MatrixType::mark_as_full ( void  )
inline

Definition at line 153 of file MatrixType.h.

Referenced by Fmatrix_type(), ComplexMatrix::fsolve(), and FloatComplexMatrix::fsolve().

◆ mark_as_lower_triangular()

void MatrixType::mark_as_lower_triangular ( void  )
inline

Definition at line 146 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ mark_as_not_dense()

void MatrixType::mark_as_not_dense ( void  )
inline

Definition at line 159 of file MatrixType.h.

◆ mark_as_permuted()

void MatrixType::mark_as_permuted ( const octave_idx_type  np,
const octave_idx_type p 
)

◆ mark_as_permuted_diagonal()

void MatrixType::mark_as_permuted_diagonal ( void  )
inline

Definition at line 142 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ mark_as_rectangular()

◆ mark_as_symmetric()

void MatrixType::mark_as_symmetric ( void  )

◆ mark_as_tridiagonal()

void MatrixType::mark_as_tridiagonal ( void  )
inline

Definition at line 148 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ mark_as_unpermuted()

void MatrixType::mark_as_unpermuted ( void  )

◆ mark_as_unsymmetric()

◆ mark_as_upper_triangular()

void MatrixType::mark_as_upper_triangular ( void  )
inline

Definition at line 144 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ nlower()

int MatrixType::nlower ( void  ) const
inline

Definition at line 103 of file MatrixType.h.

Referenced by SparseComplexMatrix::bsolve(), and SparseMatrix::bsolve().

◆ nupper()

int MatrixType::nupper ( void  ) const
inline

Definition at line 101 of file MatrixType.h.

Referenced by SparseComplexMatrix::bsolve(), and SparseMatrix::bsolve().

◆ operator=()

MatrixType & MatrixType::operator= ( const MatrixType a)

Definition at line 625 of file MatrixType.cc.

References m_bandden, m_dense, m_full, m_lower_band, m_nperm, m_perm, m_sp_bandden, m_type, and m_upper_band.

◆ transpose()

◆ triangular_perm()

◆ type() [1/8]

int MatrixType::type ( bool  quiet = true)

Definition at line 656 of file MatrixType.cc.

References m_full, m_sp_bandden, m_type, Unknown, and warn_cached().

Referenced by SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), ComplexMatrix::determinant(), Matrix::determinant(), FloatComplexMatrix::determinant(), FloatMatrix::determinant(), SparseComplexMatrix::dinverse(), SparseMatrix::dinverse(), do_sqrtm(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), Fmatrix_type(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), FloatMatrix::fsolve(), Matrix::fsolve(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), ComplexMatrix::inverse(), Matrix::inverse(), SparseComplexMatrix::inverse(), SparseMatrix::inverse(), FloatComplexMatrix::inverse(), FloatMatrix::inverse(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), FloatMatrix::ltsolve(), Matrix::ltsolve(), SparseComplexMatrix::ltsolve(), SparseMatrix::ltsolve(), ComplexMatrix::rcond(), Matrix::rcond(), FloatComplexMatrix::rcond(), FloatMatrix::rcond(), ComplexMatrix::solve(), FloatComplexMatrix::solve(), FloatMatrix::solve(), Matrix::solve(), SparseComplexMatrix::solve(), SparseMatrix::solve(), ComplexMatrix::tinverse(), Matrix::tinverse(), SparseComplexMatrix::tinverse(), SparseMatrix::tinverse(), FloatComplexMatrix::tinverse(), FloatMatrix::tinverse(), SparseComplexMatrix::trisolve(), SparseMatrix::trisolve(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), FloatMatrix::utsolve(), Matrix::utsolve(), SparseComplexMatrix::utsolve(), and SparseMatrix::utsolve().

◆ type() [2/8]

int MatrixType::type ( const ComplexMatrix a)

Definition at line 768 of file MatrixType.cc.

References m_full, m_nperm, m_perm, m_type, Unknown, and warn_cached().

◆ type() [3/8]

int MatrixType::type ( const FloatComplexMatrix a)

Definition at line 820 of file MatrixType.cc.

References m_full, m_nperm, m_perm, m_type, Unknown, and warn_cached().

◆ type() [4/8]

int MatrixType::type ( const FloatMatrix a)

Definition at line 794 of file MatrixType.cc.

References m_full, m_nperm, m_perm, m_type, Unknown, and warn_cached().

◆ type() [5/8]

int MatrixType::type ( const Matrix a)

Definition at line 742 of file MatrixType.cc.

References m_full, m_nperm, m_perm, m_type, Unknown, and warn_cached().

◆ type() [6/8]

int MatrixType::type ( const SparseComplexMatrix a)

◆ type() [7/8]

int MatrixType::type ( const SparseMatrix a)

◆ type() [8/8]

void MatrixType::type ( int  new_typ)
inlineprivate

Definition at line 172 of file MatrixType.h.

Member Data Documentation

◆ m_bandden

double MatrixType::m_bandden
private

Definition at line 176 of file MatrixType.h.

Referenced by MatrixType(), info(), operator=(), and type().

◆ m_dense

bool MatrixType::m_dense
private

Definition at line 179 of file MatrixType.h.

Referenced by MatrixType(), operator=(), and type().

◆ m_full

bool MatrixType::m_full
private

Definition at line 180 of file MatrixType.h.

Referenced by operator=(), and type().

◆ m_lower_band

octave_idx_type MatrixType::m_lower_band
private

Definition at line 178 of file MatrixType.h.

Referenced by MatrixType(), info(), operator=(), transpose(), and type().

◆ m_nperm

octave_idx_type MatrixType::m_nperm
private

◆ m_perm

octave_idx_type* MatrixType::m_perm
private

◆ m_sp_bandden

double MatrixType::m_sp_bandden
private

Definition at line 175 of file MatrixType.h.

Referenced by MatrixType(), operator=(), and type().

◆ m_type

◆ m_upper_band

octave_idx_type MatrixType::m_upper_band
private

Definition at line 177 of file MatrixType.h.

Referenced by MatrixType(), info(), operator=(), transpose(), and type().


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