26 #if ! defined (octave_MatrixType_h)
27 #define octave_MatrixType_h 1
29 #include "octave-config.h"
78 MatrixType (
const matrix_type t,
bool _full =
false);
90 int type (
bool quiet =
true);
106 int nupper (
void)
const {
return upper_band; }
108 int nlower (
void)
const {
return lower_band; }
113 {
return (typ == Diagonal || typ == Permuted_Diagonal); }
116 {
return (typ == Upper || typ == Permuted_Upper); }
119 {
return (typ == Lower || typ == Permuted_Lower); }
122 {
return (typ == Banded || typ == Banded_Hermitian); }
125 {
return (typ == Tridiagonal || typ == Tridiagonal_Hermitian); }
129 return (typ == Banded_Hermitian || typ == Tridiagonal_Hermitian
130 || typ == Hermitian);
135 bool is_known (
void)
const {
return (typ != Unknown); }
139 void info (
void)
const;
156 { typ = Banded; upper_band = ku; lower_band = kl; }
166 void mark_as_symmetric (
void);
168 void mark_as_unsymmetric (
void);
172 void mark_as_unpermuted (
void);
double band_density(void) const
void mark_as_not_dense(void)
void invalidate_type(void)
void mark_as_permuted_diagonal(void)
bool ishermitian(void) const
void mark_as_rectangular(void)
bool is_dense(void) const
octave_idx_type * triangular_perm(void) const
bool is_unknown(void) const
octave_idx_type lower_band
void mark_as_upper_triangular(void)
bool is_rectangular(void) const
void mark_as_banded(const octave_idx_type ku, const octave_idx_type kl)
void mark_as_lower_triangular(void)
bool is_tridiagonal(void) const
void mark_as_tridiagonal(void)
bool isbanded(void) const
octave_idx_type upper_band
bool is_known(void) const
void mark_as_diagonal(void)
SparseComplexMatrix & operator=(const SparseComplexMatrix &a)
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)