Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Typedefs | Functions | Variables

These matrices are built on top of the basic matrices. They perform special operations using the interface defined by the MatrixType concept. More...

Collaboration diagram for Derived matrices:

Classes

class  Householder< number >
 
class  MatrixBlock< MatrixType >
 

Typedefs

using Householder< number >::size_type = types::global_dof_index
 

Functions

 Householder< number >::Householder ()=default
 
template<typename number2 >
 Householder< number >::Householder (const FullMatrix< number2 > &A)
 
template<typename number2 >
void Householder< number >::initialize (const FullMatrix< number2 > &A)
 
template<typename number2 >
double Householder< number >::least_squares (Vector< number2 > &dst, const Vector< number2 > &src) const
 
template<typename number2 >
double Householder< number >::least_squares (BlockVector< number2 > &dst, const BlockVector< number2 > &src) const
 
template<class VectorType >
void Householder< number >::vmult (VectorType &dst, const VectorType &src) const
 
template<class VectorType >
void Householder< number >::Tvmult (VectorType &dst, const VectorType &src) const
 

Variables

std::vector< number > Householder< number >::diagonal
 
FullMatrix< doubleHouseholder< number >::storage
 

Detailed Description

These matrices are built on top of the basic matrices. They perform special operations using the interface defined by the MatrixType concept.

Typedef Documentation

◆ size_type

template<typename number >
using Householder< number >::size_type = types::global_dof_index

Declare type of container size type.

Definition at line 87 of file householder.h.

Function Documentation

◆ Householder() [1/2]

template<typename number >
Householder< number >::Householder ( )
default

Create an empty object.

◆ Householder() [2/2]

template<typename number >
template<typename number2 >
Householder< number >::Householder ( const FullMatrix< number2 > &  A)

Create an object holding the QR-decomposition of the matrix \(A\).

◆ initialize()

template<typename number >
template<typename number2 >
void Householder< number >::initialize ( const FullMatrix< number2 > &  A)

Compute the QR-decomposition of the given matrix \(A\).

This overwrites any previously computed QR decomposition.

◆ least_squares() [1/2]

template<typename number >
template<typename number2 >
double Householder< number >::least_squares ( Vector< number2 > &  dst,
const Vector< number2 > &  src 
) const

Solve the least-squares problem for the right hand side src. The returned scalar value is the Euclidean norm of the approximation error.

  • dst contains the solution of the least squares problem on return.
  • src contains the right hand side b of the least squares problem. It will be changed during the algorithm and is unusable on return.

◆ least_squares() [2/2]

template<typename number >
template<typename number2 >
double Householder< number >::least_squares ( BlockVector< number2 > &  dst,
const BlockVector< number2 > &  src 
) const

This function does the same as the previous one, but for BlockVectors.

◆ vmult()

template<typename number >
template<class VectorType >
void Householder< number >::vmult ( VectorType dst,
const VectorType src 
) const

A wrapper to least_squares(), implementing the standard MatrixType interface.

◆ Tvmult()

template<typename number >
template<class VectorType >
void Householder< number >::Tvmult ( VectorType dst,
const VectorType src 
) const

A wrapper to least_squares() that implements multiplication with the transpose matrix.

Variable Documentation

◆ diagonal

template<typename number >
std::vector<number> Householder< number >::diagonal
private

Storage for the diagonal elements of the orthogonal transformation. See the class documentation for more information.

Definition at line 153 of file householder.h.

◆ storage

template<typename number >
FullMatrix<double> Householder< number >::storage
private

Storage that is internally used for the Householder transformation.

Definition at line 158 of file householder.h.