GNU Octave  4.0.0
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)
 
 MatrixType (const SparseMatrix &a)
 
 MatrixType (const SparseComplexMatrix &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 34 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 39 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 201 of file MatrixType.cc.

References matrix_real_probe(), and typ.

MatrixType::MatrixType ( const ComplexMatrix a)

Definition at line 209 of file MatrixType.cc.

References matrix_complex_probe(), and typ.

MatrixType::MatrixType ( const FloatMatrix a)

Definition at line 218 of file MatrixType.cc.

References matrix_real_probe(), and typ.

MatrixType::MatrixType ( const FloatComplexMatrix a)

Definition at line 226 of file MatrixType.cc.

References matrix_complex_probe(), and typ.

MatrixType::MatrixType ( const SparseMatrix a)
MatrixType::MatrixType ( const SparseComplexMatrix 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 886 of file MatrixType.cc.

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

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

MatrixType::~MatrixType ( void  )

Definition at line 923 of file MatrixType.cc.

References nperm, and perm.

Member Function Documentation

double MatrixType::band_density ( void  ) const
inline

Definition at line 99 of file MatrixType.h.

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

Definition at line 138 of file MatrixType.h.

Referenced by Fmatrix_type().

bool MatrixType::is_banded ( void  )
inline

Definition at line 116 of file MatrixType.h.

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

Definition at line 107 of file MatrixType.h.

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

Definition at line 130 of file MatrixType.h.

bool MatrixType::is_lower_triangular ( void  ) const
inline

Definition at line 113 of file MatrixType.h.

bool MatrixType::is_rectangular ( void  ) const
inline

Definition at line 128 of file MatrixType.h.

bool MatrixType::is_tridiagonal ( void  ) const
inline

Definition at line 119 of file MatrixType.h.

bool MatrixType::is_unknown ( void  ) const
inline

Definition at line 132 of file MatrixType.h.

Referenced by do_sqrtm(), and Fmatrix_type().

bool MatrixType::is_upper_triangular ( void  ) const
inline

Definition at line 110 of file MatrixType.h.

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

void MatrixType::mark_as_dense ( void  )
inline

Definition at line 157 of file MatrixType.h.

void MatrixType::mark_as_diagonal ( void  )
inline

Definition at line 140 of file MatrixType.h.

Referenced by Fmatrix_type().

void MatrixType::mark_as_full ( void  )
inline

Definition at line 153 of file MatrixType.h.

Referenced by Fmatrix_type().

void MatrixType::mark_as_lower_triangular ( void  )
inline

Definition at line 146 of file MatrixType.h.

Referenced by Fmatrix_type().

void MatrixType::mark_as_not_dense ( void  )
inline

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

Referenced by Fmatrix_type().

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

Definition at line 148 of file MatrixType.h.

Referenced by Fmatrix_type().

void MatrixType::mark_as_unpermuted ( void  )

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

Referenced by Fmatrix_type().

int MatrixType::nlower ( void  ) const
inline

Definition at line 103 of file MatrixType.h.

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

int MatrixType::nupper ( void  ) const
inline

Definition at line 101 of file MatrixType.h.

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

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

Definition at line 932 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 963 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(), chol2inv(), Matrix::determinant(), FloatMatrix::determinant(), ComplexMatrix::determinant(), FloatComplexMatrix::determinant(), SparseMatrix::dinverse(), SparseComplexMatrix::dinverse(), do_sqrtm(), SparseMatrix::dsolve(), SparseComplexMatrix::dsolve(), Fmatrix_type(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), Matrix::inverse(), FloatMatrix::inverse(), SparseMatrix::inverse(), SparseComplexMatrix::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(), SparseMatrix::tinverse(), SparseComplexMatrix::tinverse(), ComplexMatrix::tinverse(), FloatComplexMatrix::tinverse(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), Matrix::utsolve(), FloatMatrix::utsolve(), SparseMatrix::utsolve(), SparseComplexMatrix::utsolve(), ComplexMatrix::utsolve(), and FloatComplexMatrix::utsolve().

int MatrixType::type ( const Matrix a)

Definition at line 1049 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 1075 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 1101 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 1127 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 172 of file MatrixType.h.

Member Data Documentation

double MatrixType::bandden
private

Definition at line 176 of file MatrixType.h.

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

bool MatrixType::dense
private

Definition at line 179 of file MatrixType.h.

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

bool MatrixType::full
private

Definition at line 180 of file MatrixType.h.

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

octave_idx_type MatrixType::lower_band
private

Definition at line 178 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 175 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 177 of file MatrixType.h.

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


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