GNU Octave  6.2.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

 MatrixType (const ComplexMatrix &a)
 
 MatrixType (const FloatComplexMatrix &a)
 
 MatrixType (const FloatMatrix &a)
 
 MatrixType (const Matrix &a)
 
 MatrixType (const matrix_type t, bool _full=false)
 
 MatrixType (const matrix_type t, const octave_idx_type ku, const octave_idx_type kl, bool _full=false)
 
 MatrixType (const matrix_type t, const octave_idx_type np, const octave_idx_type *p, bool _full=false)
 
 MatrixType (const MatrixType &a)
 
template<typename T >
 MatrixType (const MSparse< T > &a)
 
 MatrixType (void)
 
 ~MatrixType (void)
 
double band_density (void) const
 
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)
 
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 ComplexMatrix &a)
 
int type (const FloatComplexMatrix &a)
 
int type (const FloatMatrix &a)
 
int type (const Matrix &a)
 
int type (const SparseComplexMatrix &a)
 
int type (const SparseMatrix &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 40 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 45 of file MatrixType.h.

Constructor & Destructor Documentation

◆ MatrixType() [1/10]

MatrixType::MatrixType ( void  )

Definition at line 66 of file MatrixType.cc.

◆ MatrixType() [2/10]

MatrixType::MatrixType ( const MatrixType a)

Definition at line 72 of file MatrixType.cc.

References nperm, and perm.

◆ MatrixType() [3/10]

MatrixType::MatrixType ( const Matrix a)

Definition at line 202 of file MatrixType.cc.

References matrix_real_probe(), and typ.

◆ MatrixType() [4/10]

MatrixType::MatrixType ( const ComplexMatrix a)

Definition at line 210 of file MatrixType.cc.

References matrix_complex_probe(), and typ.

◆ MatrixType() [5/10]

MatrixType::MatrixType ( const FloatMatrix a)

Definition at line 218 of file MatrixType.cc.

References matrix_real_probe(), and typ.

◆ MatrixType() [6/10]

MatrixType::MatrixType ( const FloatComplexMatrix a)

Definition at line 226 of file MatrixType.cc.

References 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 576 of file MatrixType.cc.

References nperm, perm, Permuted_Lower, Permuted_Upper, 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 596 of file MatrixType.cc.

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

◆ ~MatrixType()

MatrixType::~MatrixType ( void  )

Definition at line 613 of file MatrixType.cc.

References nperm, and perm.

Member Function Documentation

◆ band_density()

double MatrixType::band_density ( void  ) const
inline

Definition at line 104 of file MatrixType.h.

◆ info()

◆ invalidate_type()

void MatrixType::invalidate_type ( void  )
inline

Definition at line 143 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ is_dense()

bool MatrixType::is_dense ( void  ) const
inline

◆ is_known()

bool MatrixType::is_known ( void  ) const
inline

Definition at line 135 of file MatrixType.h.

◆ is_rectangular()

bool MatrixType::is_rectangular ( void  ) const
inline

Definition at line 133 of file MatrixType.h.

◆ is_tridiagonal()

bool MatrixType::is_tridiagonal ( void  ) const
inline

Definition at line 124 of file MatrixType.h.

◆ is_unknown()

bool MatrixType::is_unknown ( void  ) const
inline

Definition at line 137 of file MatrixType.h.

Referenced by do_sqrtm(), and Fmatrix_type().

◆ isbanded()

bool MatrixType::isbanded ( void  ) const
inline

Definition at line 121 of file MatrixType.h.

◆ isdiag()

bool MatrixType::isdiag ( void  ) const
inline

Definition at line 112 of file MatrixType.h.

◆ ishermitian()

bool MatrixType::ishermitian ( void  ) const
inline

◆ istril()

bool MatrixType::istril ( void  ) const
inline

Definition at line 118 of file MatrixType.h.

◆ istriu()

bool MatrixType::istriu ( void  ) const
inline

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

Referenced by Fmatrix_type().

◆ mark_as_dense()

void MatrixType::mark_as_dense ( void  )
inline

Definition at line 162 of file MatrixType.h.

◆ mark_as_diagonal()

void MatrixType::mark_as_diagonal ( void  )
inline

Definition at line 145 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ mark_as_full()

void MatrixType::mark_as_full ( void  )
inline

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

Referenced by Fmatrix_type().

◆ mark_as_not_dense()

void MatrixType::mark_as_not_dense ( void  )
inline

Definition at line 164 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 147 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 153 of file MatrixType.h.

Referenced by Fmatrix_type().

◆ mark_as_unpermuted()

void MatrixType::mark_as_unpermuted ( void  )

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

Referenced by Fmatrix_type().

◆ nlower()

int MatrixType::nlower ( void  ) const
inline

Definition at line 108 of file MatrixType.h.

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

◆ nupper()

int MatrixType::nupper ( void  ) const
inline

Definition at line 106 of file MatrixType.h.

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

◆ operator=()

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

Definition at line 622 of file MatrixType.cc.

References bandden, dense, full, 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 653 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 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 765 of file MatrixType.cc.

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

◆ type() [3/8]

int MatrixType::type ( const FloatComplexMatrix a)

Definition at line 817 of file MatrixType.cc.

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

◆ type() [4/8]

int MatrixType::type ( const FloatMatrix a)

Definition at line 791 of file MatrixType.cc.

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

◆ type() [5/8]

int MatrixType::type ( const Matrix a)

Definition at line 739 of file MatrixType.cc.

References full, octave_sparse_params::get_key(), 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 177 of file MatrixType.h.

Member Data Documentation

◆ bandden

double MatrixType::bandden
private

Definition at line 181 of file MatrixType.h.

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

◆ dense

bool MatrixType::dense
private

Definition at line 184 of file MatrixType.h.

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

◆ full

bool MatrixType::full
private

Definition at line 185 of file MatrixType.h.

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

◆ lower_band

octave_idx_type MatrixType::lower_band
private

Definition at line 183 of file MatrixType.h.

Referenced by MatrixType(), info(), 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 180 of file MatrixType.h.

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

◆ typ

◆ upper_band

octave_idx_type MatrixType::upper_band
private

Definition at line 182 of file MatrixType.h.

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


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