26 #if ! defined (octave_MatrixType_h)
27 #define octave_MatrixType_h 1
29 #include "octave-config.h"
101 int nupper (
void)
const {
return m_upper_band; }
103 int nlower (
void)
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 (
void)
const {
return (m_type != Unknown); }
151 { m_type = Banded; m_upper_band = ku; m_lower_band = kl; }
double band_density(void) const
void mark_as_not_dense(void)
void invalidate_type(void)
octave_idx_type m_lower_band
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
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_API MatrixType(const MSparse< T > &a)
bool is_known(void) const
octave_idx_type m_upper_band
void mark_as_diagonal(void)
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)