GNU Octave  4.4.1
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

 MatrixType (void)
 
 MatrixType (const MatrixType &a)
 
 MatrixType (const Matrix &a)
 
 MatrixType (const ComplexMatrix &a)
 
 MatrixType (const FloatMatrix &a)
 
 MatrixType (const FloatComplexMatrix &a)
 
template<typename T >
 MatrixType (const MSparse< T > &a)
 
 MatrixType (const matrix_type t, bool _full=false)
 
 MatrixType (const matrix_type t, const octave_idx_type np, const octave_idx_type *p, bool _full=false)
 
 MatrixType (const matrix_type t, const octave_idx_type ku, const octave_idx_type kl, bool _full=false)
 
 ~MatrixType (void)
 
double band_density (void) const
 
void info (void) const
 
void invalidate_type (void)
 
bool is_banded (void) const
 
bool is_dense (void) const
 
bool is_diagonal (void) const
 
bool is_hermitian (void) const
 
bool is_known (void) const
 
bool is_lower_triangular (void) const
 
bool is_rectangular (void) const
 
bool is_tridiagonal (void) const
 
bool is_unknown (void) const
 
bool is_upper_triangular (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)
 
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)
 
void mark_as_symmetric (void)
 
void mark_as_tridiagonal (void)
 
void mark_as_unpermuted (void)
 
void mark_as_unsymmetric (void)
 
void mark_as_upper_triangular (void)
 
int nlower (void) const
 
int nupper (void) const
 
MatrixTypeoperator= (const MatrixType &a)
 
MatrixType transpose (void) const
 
octave_idx_typetriangular_perm (void) const
 
int type (bool quiet=true)
 
int type (const Matrix &a)
 
int type (const ComplexMatrix &a)
 
int type (const FloatMatrix &a)
 
int type (const FloatComplexMatrix &a)
 
int type (const SparseMatrix &a)
 
int type (const SparseComplexMatrix &a)
 

Private Member Functions

void type (int new_typ)
 

Private Attributes

double bandden
 
bool dense
 
bool full
 
octave_idx_type lower_band
 
octave_idx_type nperm
 
octave_idx_typeperm
 
double sp_bandden
 
matrix_type typ
 
octave_idx_type upper_band
 

Detailed Description

Definition at line 38 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 43 of file MatrixType.h.

Constructor & Destructor Documentation

◆ MatrixType() [1/10]

MatrixType::MatrixType ( void  )

Definition at line 64 of file MatrixType.cc.

◆ MatrixType() [2/10]

MatrixType::MatrixType ( const MatrixType a)

Definition at line 70 of file MatrixType.cc.

References a, i, nperm, and perm.

◆ MatrixType() [3/10]

MatrixType::MatrixType ( const Matrix a)

Definition at line 200 of file MatrixType.cc.

References a, matrix_real_probe(), and typ.

◆ MatrixType() [4/10]

MatrixType::MatrixType ( const ComplexMatrix a)

Definition at line 208 of file MatrixType.cc.

References a, matrix_complex_probe(), and typ.

◆ MatrixType() [5/10]

MatrixType::MatrixType ( const FloatMatrix a)

Definition at line 216 of file MatrixType.cc.

References a, matrix_real_probe(), and typ.

◆ MatrixType() [6/10]

MatrixType::MatrixType ( const FloatComplexMatrix a)

Definition at line 224 of file MatrixType.cc.

References a, matrix_complex_probe(), and typ.

◆ MatrixType() [7/10]

◆ MatrixType() [8/10]

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

◆ MatrixType() [9/10]

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

Definition at line 573 of file MatrixType.cc.

References i, nperm, p, perm, Permuted_Lower, Permuted_Upper, t, typ, and warn_invalid().

◆ MatrixType() [10/10]

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

Definition at line 593 of file MatrixType.cc.

References Banded, Banded_Hermitian, lower_band, t, typ, upper_band, and warn_invalid().

◆ ~MatrixType()

MatrixType::~MatrixType ( void  )

Definition at line 610 of file MatrixType.cc.

References nperm, and perm.

Member Function Documentation

◆ band_density()

double MatrixType::band_density ( void  ) const
inline

Definition at line 102 of file MatrixType.h.

◆ info()

◆ invalidate_type()

void MatrixType::invalidate_type ( void  )
inline

Definition at line 161 of file MatrixType.h.

◆ is_banded()

bool MatrixType::is_banded ( void  ) const
inline

Definition at line 135 of file MatrixType.h.

◆ is_dense()

bool MatrixType::is_dense ( void  ) const
inline

◆ is_diagonal()

bool MatrixType::is_diagonal ( void  ) const
inline

Definition at line 114 of file MatrixType.h.

◆ is_hermitian()

bool MatrixType::is_hermitian ( void  ) const
inline

Definition at line 148 of file MatrixType.h.

References SparseComplexMatrix::ishermitian().

◆ is_known()

bool MatrixType::is_known ( void  ) const
inline

Definition at line 153 of file MatrixType.h.

◆ is_lower_triangular()

bool MatrixType::is_lower_triangular ( void  ) const
inline

Definition at line 128 of file MatrixType.h.

◆ is_rectangular()

bool MatrixType::is_rectangular ( void  ) const
inline

Definition at line 151 of file MatrixType.h.

◆ is_tridiagonal()

bool MatrixType::is_tridiagonal ( void  ) const
inline

Definition at line 138 of file MatrixType.h.

◆ is_unknown()

bool MatrixType::is_unknown ( void  ) const
inline

Definition at line 155 of file MatrixType.h.

Referenced by do_sqrtm().

◆ is_upper_triangular()

bool MatrixType::is_upper_triangular ( void  ) const
inline

Definition at line 121 of file MatrixType.h.

◆ isbanded()

bool MatrixType::isbanded ( void  ) const
inline

Definition at line 131 of file MatrixType.h.

◆ isdiag()

bool MatrixType::isdiag ( void  ) const
inline

Definition at line 110 of file MatrixType.h.

◆ ishermitian()

bool MatrixType::ishermitian ( void  ) const
inline

◆ istril()

bool MatrixType::istril ( void  ) const
inline

Definition at line 124 of file MatrixType.h.

◆ istriu()

bool MatrixType::istriu ( void  ) const
inline

Definition at line 117 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 173 of file MatrixType.h.

◆ mark_as_dense()

void MatrixType::mark_as_dense ( void  )
inline

Definition at line 180 of file MatrixType.h.

◆ mark_as_diagonal()

void MatrixType::mark_as_diagonal ( void  )
inline

Definition at line 163 of file MatrixType.h.

◆ mark_as_full()

void MatrixType::mark_as_full ( void  )
inline

Definition at line 176 of file MatrixType.h.

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

◆ mark_as_lower_triangular()

void MatrixType::mark_as_lower_triangular ( void  )
inline

Definition at line 169 of file MatrixType.h.

◆ mark_as_not_dense()

void MatrixType::mark_as_not_dense ( void  )
inline

Definition at line 182 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 165 of file MatrixType.h.

◆ 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 171 of file MatrixType.h.

◆ mark_as_unpermuted()

void MatrixType::mark_as_unpermuted ( void  )

Definition at line 944 of file MatrixType.cc.

References Diagonal, Lower, nperm, perm, Permuted_Diagonal, Permuted_Lower, Permuted_Upper, typ, and Upper.

◆ mark_as_unsymmetric()

◆ mark_as_upper_triangular()

void MatrixType::mark_as_upper_triangular ( void  )
inline

Definition at line 167 of file MatrixType.h.

◆ nlower()

int MatrixType::nlower ( void  ) const
inline

Definition at line 106 of file MatrixType.h.

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

◆ nupper()

int MatrixType::nupper ( void  ) const
inline

Definition at line 104 of file MatrixType.h.

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

◆ operator=()

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

Definition at line 619 of file MatrixType.cc.

References a, bandden, dense, full, i, lower_band, nperm, perm, sp_bandden, typ, and upper_band.

◆ transpose()

MatrixType MatrixType::transpose ( void  ) const

◆ triangular_perm()

◆ type() [1/8]

int MatrixType::type ( bool  quiet = true)

Definition at line 650 of file MatrixType.cc.

References full, octave_sparse_params::get_bandden(), octave_sparse_params::get_key(), sp_bandden, typ, Unknown, and warn_cached().

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

◆ type() [2/8]

int MatrixType::type ( const Matrix a)

Definition at line 736 of file MatrixType.cc.

References a, full, octave_sparse_params::get_key(), i, nperm, perm, typ, Unknown, and warn_cached().

◆ type() [3/8]

int MatrixType::type ( const ComplexMatrix a)

Definition at line 762 of file MatrixType.cc.

References a, full, octave_sparse_params::get_key(), i, nperm, perm, typ, Unknown, and warn_cached().

◆ type() [4/8]

int MatrixType::type ( const FloatMatrix a)

Definition at line 788 of file MatrixType.cc.

References a, full, octave_sparse_params::get_key(), i, nperm, perm, typ, Unknown, and warn_cached().

◆ type() [5/8]

int MatrixType::type ( const FloatComplexMatrix a)

Definition at line 814 of file MatrixType.cc.

References a, full, octave_sparse_params::get_key(), i, nperm, perm, typ, Unknown, and warn_cached().

◆ type() [6/8]

◆ type() [7/8]

◆ type() [8/8]

void MatrixType::type ( int  new_typ)
inlineprivate

Definition at line 195 of file MatrixType.h.

Member Data Documentation

◆ bandden

double MatrixType::bandden
private

Definition at line 199 of file MatrixType.h.

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

◆ dense

bool MatrixType::dense
private

Definition at line 202 of file MatrixType.h.

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

◆ full

bool MatrixType::full
private

Definition at line 203 of file MatrixType.h.

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

◆ lower_band

octave_idx_type MatrixType::lower_band
private

Definition at line 201 of file MatrixType.h.

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

◆ nperm

octave_idx_type MatrixType::nperm
private

◆ perm

octave_idx_type* MatrixType::perm
private

◆ sp_bandden

double MatrixType::sp_bandden
private

Definition at line 198 of file MatrixType.h.

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

◆ typ

◆ upper_band

octave_idx_type MatrixType::upper_band
private

Definition at line 200 of file MatrixType.h.

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


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