GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MatrixType Class Reference

#include "MatrixType.h"

Collaboration diagram for MatrixType:
Collaboration graph
[legend]

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)
 
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
 
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

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::MatrixType ( void  )

Definition at line 64 of file MatrixType.cc.

MatrixType::MatrixType ( const MatrixType a)

Definition at line 70 of file MatrixType.cc.

References nperm, and perm.

MatrixType::MatrixType ( const Matrix a)

Definition at line 200 of file MatrixType.cc.

References matrix_real_probe(), and typ.

MatrixType::MatrixType ( const ComplexMatrix a)

Definition at line 208 of file MatrixType.cc.

References matrix_complex_probe(), and typ.

MatrixType::MatrixType ( const FloatMatrix a)

Definition at line 216 of file MatrixType.cc.

References matrix_real_probe(), and typ.

MatrixType::MatrixType ( const FloatComplexMatrix a)

Definition at line 224 of file MatrixType.cc.

References matrix_complex_probe(), and typ.

template<typename T >
MatrixType::MatrixType ( const MSparse< T > &  a)
MatrixType::MatrixType ( const matrix_type  t,
bool  _full = false 
)
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 nperm, perm, Permuted_Lower, Permuted_Upper, t, typ, and warn_invalid().

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 ( void  )

Definition at line 610 of file MatrixType.cc.

References nperm, and perm.

Member Function Documentation

double MatrixType::band_density ( void  ) const
inline

Definition at line 102 of file MatrixType.h.

void MatrixType::info ( void  ) const
void MatrixType::invalidate_type ( void  )
inline

Definition at line 141 of file MatrixType.h.

bool MatrixType::is_banded ( void  )
inline

Definition at line 119 of file MatrixType.h.

bool MatrixType::is_dense ( void  ) const
inline
bool MatrixType::is_diagonal ( void  ) const
inline

Definition at line 110 of file MatrixType.h.

bool MatrixType::is_hermitian ( void  ) const
inline
bool MatrixType::is_known ( void  ) const
inline

Definition at line 133 of file MatrixType.h.

bool MatrixType::is_lower_triangular ( void  ) const
inline

Definition at line 116 of file MatrixType.h.

bool MatrixType::is_rectangular ( void  ) const
inline

Definition at line 131 of file MatrixType.h.

bool MatrixType::is_tridiagonal ( void  ) const
inline

Definition at line 122 of file MatrixType.h.

bool MatrixType::is_unknown ( void  ) const
inline

Definition at line 135 of file MatrixType.h.

Referenced by do_sqrtm().

bool MatrixType::is_upper_triangular ( void  ) const
inline

Definition at line 113 of file MatrixType.h.

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

Definition at line 153 of file MatrixType.h.

void MatrixType::mark_as_dense ( void  )
inline

Definition at line 160 of file MatrixType.h.

void MatrixType::mark_as_diagonal ( void  )
inline

Definition at line 143 of file MatrixType.h.

void MatrixType::mark_as_full ( void  )
inline

Definition at line 156 of file MatrixType.h.

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

void MatrixType::mark_as_lower_triangular ( void  )
inline

Definition at line 149 of file MatrixType.h.

void MatrixType::mark_as_not_dense ( void  )
inline

Definition at line 162 of file MatrixType.h.

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

Definition at line 145 of file MatrixType.h.

void MatrixType::mark_as_rectangular ( void  )
inline
void MatrixType::mark_as_symmetric ( void  )
void MatrixType::mark_as_tridiagonal ( void  )
inline

Definition at line 151 of file MatrixType.h.

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.

void MatrixType::mark_as_unsymmetric ( void  )
void MatrixType::mark_as_upper_triangular ( void  )
inline

Definition at line 147 of file MatrixType.h.

int MatrixType::nlower ( void  ) const
inline

Definition at line 106 of file MatrixType.h.

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

int MatrixType::nupper ( void  ) const
inline

Definition at line 104 of file MatrixType.h.

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

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

Definition at line 619 of file MatrixType.cc.

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

MatrixType MatrixType::transpose ( void  ) const
octave_idx_type* MatrixType::triangular_perm ( void  ) const
inline
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(), SparseComplexMatrix::dinverse(), SparseMatrix::dinverse(), do_sqrtm(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), Matrix::inverse(), SparseComplexMatrix::inverse(), SparseMatrix::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(), Matrix::tinverse(), FloatMatrix::tinverse(), SparseComplexMatrix::tinverse(), SparseMatrix::tinverse(), ComplexMatrix::tinverse(), FloatComplexMatrix::tinverse(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), Matrix::utsolve(), FloatMatrix::utsolve(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), ComplexMatrix::utsolve(), and FloatComplexMatrix::utsolve().

int MatrixType::type ( const Matrix a)

Definition at line 736 of file MatrixType.cc.

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

int MatrixType::type ( const ComplexMatrix a)

Definition at line 762 of file MatrixType.cc.

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

int MatrixType::type ( const FloatMatrix a)

Definition at line 788 of file MatrixType.cc.

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

int MatrixType::type ( const FloatComplexMatrix a)

Definition at line 814 of file MatrixType.cc.

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

int MatrixType::type ( const SparseMatrix a)
int MatrixType::type ( const SparseComplexMatrix a)
void MatrixType::type ( int  new_typ)
inlineprivate

Definition at line 175 of file MatrixType.h.

Member Data Documentation

double MatrixType::bandden
private

Definition at line 179 of file MatrixType.h.

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

bool MatrixType::dense
private

Definition at line 182 of file MatrixType.h.

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

bool MatrixType::full
private

Definition at line 183 of file MatrixType.h.

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

octave_idx_type MatrixType::lower_band
private

Definition at line 181 of file MatrixType.h.

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

octave_idx_type MatrixType::nperm
private
octave_idx_type* MatrixType::perm
private
double MatrixType::sp_bandden
private

Definition at line 178 of file MatrixType.h.

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

matrix_type MatrixType::typ
private
octave_idx_type MatrixType::upper_band
private

Definition at line 180 of file MatrixType.h.

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


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