24 #if !defined (octave_MatrixType_h)
25 #define octave_MatrixType_h
73 MatrixType (
const matrix_type t,
bool _full =
false);
85 int type (
bool quiet =
true);
101 int nupper (
void)
const {
return upper_band; }
103 int nlower (
void)
const {
return lower_band; }
108 {
return (typ == Diagonal || typ == Permuted_Diagonal); }
111 {
return (typ == Upper || typ == Permuted_Upper); }
114 {
return (typ == Lower || typ == Permuted_Lower); }
117 {
return (typ == Banded || typ == Banded_Hermitian); }
120 {
return (typ == Tridiagonal || typ == Tridiagonal_Hermitian); }
124 return (typ == Banded_Hermitian || typ == Tridiagonal_Hermitian
125 || typ == Hermitian);
130 bool is_known (
void)
const {
return (typ != Unknown); }
134 void info (
void)
const;
151 { typ = Banded; upper_band = ku; lower_band = kl; }
161 void mark_as_symmetric (
void);
163 void mark_as_unsymmetric (
void);
167 void mark_as_unpermuted (
void);
void mark_as_lower_triangular(void)
void mark_as_diagonal(void)
bool is_unknown(void) const
bool is_lower_triangular(void) const
bool is_tridiagonal(void) const
static void transpose(octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, octave_idx_type *ridx2, octave_idx_type *cidx2)
void mark_as_permuted_diagonal(void)
bool is_hermitian(void) const
bool is_dense(void) const
bool is_known(void) const
octave_idx_type * triangular_perm(void) const
octave_idx_type lower_band
octave_idx_type upper_band
void mark_as_upper_triangular(void)
void mark_as_rectangular(void)
void invalidate_type(void)
bool is_rectangular(void) const
void mark_as_not_dense(void)
void mark_as_tridiagonal(void)
bool is_diagonal(void) const
void mark_as_banded(const octave_idx_type ku, const octave_idx_type kl)
double band_density(void) const
bool is_upper_triangular(void) const
SparseComplexMatrix & operator=(const SparseComplexMatrix &a)