26 #if ! defined (octave_MatrixType_h)
27 #define octave_MatrixType_h 1
29 #include "octave-config.h"
101 int nupper ()
const {
return m_upper_band; }
103 int nlower ()
const {
return m_lower_band; }
108 {
return (m_type == Diagonal || m_type == Permuted_Diagonal); }
111 {
return (m_type == Upper || m_type == Permuted_Upper); }
114 {
return (m_type == Lower || m_type == Permuted_Lower); }
117 {
return (m_type == Banded || m_type == Banded_Hermitian); }
120 {
return (m_type == Tridiagonal || m_type == Tridiagonal_Hermitian); }
124 return (m_type == Banded_Hermitian || m_type == Tridiagonal_Hermitian
125 || m_type == Hermitian);
130 bool is_known ()
const {
return (m_type != Unknown); }
151 { m_type = Banded; m_upper_band = ku; m_lower_band = kl; }
172 void type (
int new_typ) { m_type =
static_cast<matrix_type
> (new_typ); }
double band_density() const
void mark_as_tridiagonal()
octave_idx_type * triangular_perm() const
void mark_as_banded(const octave_idx_type ku, const octave_idx_type kl)
void mark_as_upper_triangular()
void mark_as_permuted_diagonal()
void mark_as_lower_triangular()
bool is_tridiagonal() const
void mark_as_rectangular()
bool is_rectangular() const