#include "MatrixType.h"
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 |
MatrixType & | operator= (const MatrixType &a) |
MatrixType | transpose (void) const |
octave_idx_type * | triangular_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_type * | perm |
double | sp_bandden |
matrix_type | typ |
octave_idx_type | upper_band |
Definition at line 40 of file MatrixType.h.
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.
MatrixType::MatrixType | ( | void | ) |
Definition at line 66 of file MatrixType.cc.
MatrixType::MatrixType | ( | const MatrixType & | a | ) |
Definition at line 72 of file MatrixType.cc.
MatrixType::MatrixType | ( | const Matrix & | a | ) |
Definition at line 202 of file MatrixType.cc.
References matrix_real_probe(), and typ.
MatrixType::MatrixType | ( | const ComplexMatrix & | a | ) |
Definition at line 210 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 MSparse< T > & | a | ) |
Definition at line 236 of file MatrixType.cc.
References bandden, Banded, Banded_Hermitian, Sparse< T >::cidx(), Sparse< T >::cols(), octave::math::conj(), d, Sparse< T >::data(), dense, Diagonal, Full, octave_sparse_params::get_bandden(), octave_sparse_params::get_key(), Hermitian, imag(), Lower, lower_band, Sparse< T >::nnz(), norm(), nperm, OCTAVE_LOCAL_BUFFER, perm, Permuted_Diagonal, Permuted_Lower, Permuted_Upper, real(), Rectangular, Sparse< T >::ridx(), Sparse< T >::rows(), sp_bandden, Tridiagonal, Tridiagonal_Hermitian, typ, Upper, upper_band, and warn_calculating_sparse_type().
MatrixType::MatrixType | ( | const matrix_type | t, |
bool | _full = false |
||
) |
Definition at line 560 of file MatrixType.cc.
References Diagonal, Full, Lower, Permuted_Diagonal, Rectangular, Tridiagonal, Tridiagonal_Hermitian, typ, Unknown, Upper, and warn_invalid().
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::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 | ( | void | ) |
Definition at line 613 of file MatrixType.cc.
|
inline |
Definition at line 104 of file MatrixType.h.
void MatrixType::info | ( | void | ) | const |
Definition at line 843 of file MatrixType.cc.
References bandden, Banded, Banded_Hermitian, Diagonal, Full, octave_sparse_params::get_key(), Hermitian, Lower, lower_band, Permuted_Diagonal, Permuted_Lower, Permuted_Upper, Rectangular, Tridiagonal, Tridiagonal_Hermitian, typ, Unknown, Upper, and upper_band.
Referenced by SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), SparseComplexMatrix::dinverse(), SparseMatrix::dinverse(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::ltsolve(), SparseMatrix::ltsolve(), SparseComplexMatrix::tinverse(), SparseMatrix::tinverse(), SparseComplexMatrix::trisolve(), SparseMatrix::trisolve(), SparseComplexMatrix::utsolve(), and SparseMatrix::utsolve().
|
inline |
Definition at line 143 of file MatrixType.h.
Referenced by Fmatrix_type().
|
inline |
Definition at line 110 of file MatrixType.h.
Referenced by SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), SparseComplexMatrix::trisolve(), and SparseMatrix::trisolve().
|
inline |
Definition at line 135 of file MatrixType.h.
|
inline |
Definition at line 133 of file MatrixType.h.
|
inline |
Definition at line 124 of file MatrixType.h.
|
inline |
Definition at line 137 of file MatrixType.h.
Referenced by do_sqrtm(), and Fmatrix_type().
|
inline |
Definition at line 121 of file MatrixType.h.
|
inline |
Definition at line 112 of file MatrixType.h.
|
inline |
Definition at line 127 of file MatrixType.h.
Referenced by ComplexMatrix::inverse(), Matrix::inverse(), SparseComplexMatrix::inverse(), SparseMatrix::inverse(), FloatComplexMatrix::inverse(), and FloatMatrix::inverse().
|
inline |
Definition at line 118 of file MatrixType.h.
|
inline |
Definition at line 115 of file MatrixType.h.
|
inline |
Definition at line 155 of file MatrixType.h.
Referenced by Fmatrix_type().
|
inline |
Definition at line 162 of file MatrixType.h.
|
inline |
Definition at line 145 of file MatrixType.h.
Referenced by Fmatrix_type().
|
inline |
Definition at line 158 of file MatrixType.h.
Referenced by Fmatrix_type(), ComplexMatrix::fsolve(), and FloatComplexMatrix::fsolve().
|
inline |
Definition at line 151 of file MatrixType.h.
Referenced by Fmatrix_type().
|
inline |
Definition at line 164 of file MatrixType.h.
void MatrixType::mark_as_permuted | ( | const octave_idx_type | np, |
const octave_idx_type * | p | ||
) |
Definition at line 929 of file MatrixType.cc.
References current_liboctave_error_handler, Diagonal, Lower, nperm, perm, Permuted_Diagonal, Permuted_Lower, Permuted_Upper, typ, and Upper.
Referenced by Fmatrix_type().
|
inline |
Definition at line 147 of file MatrixType.h.
Referenced by Fmatrix_type().
|
inline |
Definition at line 160 of file MatrixType.h.
Referenced by SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), ComplexMatrix::finverse(), Matrix::finverse(), FloatComplexMatrix::finverse(), FloatMatrix::finverse(), Fmatrix_type(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), FloatMatrix::fsolve(), Matrix::fsolve(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::ltsolve(), SparseMatrix::ltsolve(), ComplexMatrix::rcond(), Matrix::rcond(), FloatComplexMatrix::rcond(), FloatMatrix::rcond(), SparseComplexMatrix::trisolve(), SparseMatrix::trisolve(), SparseComplexMatrix::utsolve(), and SparseMatrix::utsolve().
void MatrixType::mark_as_symmetric | ( | void | ) |
Definition at line 900 of file MatrixType.cc.
References Banded, Banded_Hermitian, current_liboctave_error_handler, Full, Hermitian, Tridiagonal, Tridiagonal_Hermitian, typ, and Unknown.
Referenced by Fmatrix_type().
|
inline |
Definition at line 153 of file MatrixType.h.
Referenced by Fmatrix_type().
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.
void MatrixType::mark_as_unsymmetric | ( | void | ) |
Definition at line 916 of file MatrixType.cc.
References Banded, Banded_Hermitian, Full, Hermitian, Tridiagonal, Tridiagonal_Hermitian, typ, and Unknown.
Referenced by SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), ComplexMatrix::determinant(), Matrix::determinant(), FloatComplexMatrix::determinant(), FloatMatrix::determinant(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), FloatMatrix::fsolve(), Matrix::fsolve(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), ComplexMatrix::inverse(), Matrix::inverse(), SparseComplexMatrix::inverse(), SparseMatrix::inverse(), FloatComplexMatrix::inverse(), FloatMatrix::inverse(), oct_binop_mul_cdm_scm(), oct_binop_mul_cdm_sm(), oct_binop_mul_dm_scm(), oct_binop_mul_dm_sm(), oct_binop_mul_scm_cdm(), oct_binop_mul_scm_dm(), oct_binop_mul_sm_cdm(), oct_binop_mul_sm_dm(), ComplexMatrix::rcond(), Matrix::rcond(), FloatComplexMatrix::rcond(), FloatMatrix::rcond(), SparseComplexMatrix::trisolve(), and SparseMatrix::trisolve().
|
inline |
Definition at line 149 of file MatrixType.h.
Referenced by Fmatrix_type().
|
inline |
Definition at line 108 of file MatrixType.h.
Referenced by SparseComplexMatrix::bsolve(), and SparseMatrix::bsolve().
|
inline |
Definition at line 106 of file MatrixType.h.
Referenced by SparseComplexMatrix::bsolve(), and SparseMatrix::bsolve().
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.
MatrixType MatrixType::transpose | ( | void | ) | const |
Definition at line 966 of file MatrixType.cc.
References Banded, Lower, lower_band, Permuted_Lower, Permuted_Upper, retval, typ, Upper, and upper_band.
Referenced by SparseComplexMatrix::inverse(), SparseMatrix::inverse(), oct_unop_hermitian(), oct_unop_transpose(), and xdiv().
|
inline |
Definition at line 141 of file MatrixType.h.
Referenced by SparseComplexMatrix::ltsolve(), SparseMatrix::ltsolve(), SparseComplexMatrix::tinverse(), SparseMatrix::tinverse(), SparseComplexMatrix::utsolve(), and SparseMatrix::utsolve().
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().
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().
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().
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().
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().
int MatrixType::type | ( | const SparseComplexMatrix & | a | ) |
Definition at line 707 of file MatrixType.cc.
References bandden, dense, full, octave_sparse_params::get_bandden(), octave_sparse_params::get_key(), lower_band, nperm, perm, sp_bandden, typ, Unknown, upper_band, and warn_cached().
int MatrixType::type | ( | const SparseMatrix & | a | ) |
Definition at line 675 of file MatrixType.cc.
References bandden, dense, full, octave_sparse_params::get_bandden(), octave_sparse_params::get_key(), lower_band, nperm, perm, sp_bandden, typ, Unknown, upper_band, and warn_cached().
|
inlineprivate |
Definition at line 177 of file MatrixType.h.
|
private |
Definition at line 181 of file MatrixType.h.
Referenced by MatrixType(), info(), operator=(), and type().
|
private |
Definition at line 184 of file MatrixType.h.
Referenced by MatrixType(), operator=(), and type().
|
private |
Definition at line 185 of file MatrixType.h.
Referenced by operator=(), and type().
|
private |
Definition at line 183 of file MatrixType.h.
Referenced by MatrixType(), info(), operator=(), transpose(), and type().
|
private |
Definition at line 186 of file MatrixType.h.
Referenced by MatrixType(), ~MatrixType(), mark_as_permuted(), mark_as_unpermuted(), operator=(), and type().
|
private |
Definition at line 187 of file MatrixType.h.
Referenced by MatrixType(), ~MatrixType(), mark_as_permuted(), mark_as_unpermuted(), operator=(), and type().
|
private |
Definition at line 180 of file MatrixType.h.
Referenced by MatrixType(), operator=(), and type().
|
private |
Definition at line 179 of file MatrixType.h.
Referenced by MatrixType(), info(), mark_as_permuted(), mark_as_symmetric(), mark_as_unpermuted(), mark_as_unsymmetric(), operator=(), transpose(), and type().
|
private |
Definition at line 182 of file MatrixType.h.
Referenced by MatrixType(), info(), operator=(), transpose(), and type().