17 #ifndef __deal2__tridiagonal_matrix_h
18 #define __deal2__tridiagonal_matrix_h
20 #include <deal.II/base/config.h>
21 #include <deal.II/base/subscriptor.h>
22 #include <deal.II/lac/lapack_support.h>
27 DEAL_II_NAMESPACE_OPEN
30 template<
typename number>
class Vector;
49 template<
typename number>
67 bool symmetric =
false);
76 bool symmetric =
false);
158 const bool adding=
false)
const;
191 const bool adding=
false)
const;
317 const unsigned int width=5,
318 const unsigned int precision=2)
const;
387 template<
typename number>
391 return diagonal.size();
396 template<
typename number>
400 return diagonal.size();
404 template<
typename number>
432 template<
typename number>
460 template <
typename number>
465 const unsigned int width,
466 const unsigned int)
const
471 s << std::setw(width) << (*this)(i,i-1);
473 s << std::setw(width) <<
"";
475 s <<
' ' << (*this)(i,i) <<
' ';
478 s << std::setw(width) << (*this)(i,i+1);
487 DEAL_II_NAMESPACE_CLOSE
void Tvmult_add(Vector< number > &w, const Vector< number > &v) const
void compute_eigenvalues()
void Tvmult(Vector< number > &w, const Vector< number > &v, const bool adding=false) const
void vmult(Vector< number > &w, const Vector< number > &v, const bool adding=false) const
std::vector< number > left
number linfty_norm() const
number matrix_scalar_product(const Vector< number > &u, const Vector< number > &v) const
unsigned int global_dof_index
#define Assert(cond, exc)
std::vector< number > right
::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
TridiagonalMatrix(size_type n=0, bool symmetric=false)
types::global_dof_index size_type
number frobenius_norm() const
void print(OUT &s, const unsigned int width=5, const unsigned int precision=2) const
std::size_t memory_consumption() const
number relative_symmetry_norm2() const
LAPACKSupport::State state
std::vector< number > diagonal
number matrix_norm_square(const Vector< number > &v) const
void vmult_add(Vector< number > &w, const Vector< number > &v) const
void reinit(size_type n, bool symmetric=false)
number eigenvalue(const size_type i) const
::ExceptionBase & ExcInternalError()
number operator()(size_type i, size_type j) const