vectorial::TMatrixOffset< F > Class Template Referenceabstract

T matrix with an offset. More...

#include <vectorial.hh>

Inheritance diagram for vectorial::TMatrixOffset< F >:
concepts::TMatrixBase< F >

Public Member Functions

virtual void extract (const concepts::Vector< F > &solution, concepts::Array< F > &coeff) const
 Extracts the part of solution belonging to this T matrix into coeff. More...
 
virtual void extract (const concepts::Vector< std::complex< F > > &solution, concepts::Array< std::complex< F > > &coeff) const
 
virtual void extract (const concepts::Vector<::std::complex< F > > &solution, concepts::Array<::std::complex< F > > &coeff) const =0
 
virtual uint index (const uint i) const =0
 Maps the local index i to the global index. More...
 
virtual uint index (unsigned int i) const
 Maps the local index i to the global index. More...
 
uint m () const
 
uint n () const
 
virtual void operator() (const concepts::ElementMatrix< F > &A, concepts::ElementMatrix< F > &B) const
 Application operator. More...
 
virtual void operator() (const concepts::ElementMatrix< std::complex< F > > &A, concepts::ElementMatrix< std::complex< F > > &B) const
 
virtual void operator() (const ElementMatrix<::std::complex< F > > &A, ElementMatrix<::std::complex< F > > &B) const =0
 
void setM (uint m)
 
 TMatrixOffset (const concepts::TMatrixBase< F > &T, int offsetRow, int offsetColumn)
 
virtual void usedIdx (concepts::TColumn< bool > &c) const
 Marks the used local indices in c with true, the local indices which are not set to false. More...
 
virtual ~TMatrixOffset ()
 

Protected Member Functions

virtual ::std::ostream & info (::std::ostream &os) const
 
virtual std::ostream & info (std::ostream &os) const
 

Protected Attributes

uint m_
 Number of rows. More...
 
uint n_
 Number of columns. More...
 
uint offsetColumn_
 
uint offsetRow_
 
const concepts::TMatrixBase< F > & T_
 

Friends

class TMatrix< F >
 

Detailed Description

template<class F>
class vectorial::TMatrixOffset< F >

T matrix with an offset.

Used as a part of TMatrix.

Author
Kersten Schmidt, 2002

Definition at line 108 of file vectorial.hh.

Constructor & Destructor Documentation

◆ TMatrixOffset()

template<class F >
vectorial::TMatrixOffset< F >::TMatrixOffset ( const concepts::TMatrixBase< F > &  T,
int  offsetRow,
int  offsetColumn 
)
inline

Definition at line 111 of file vectorial.hh.

◆ ~TMatrixOffset()

template<class F >
virtual vectorial::TMatrixOffset< F >::~TMatrixOffset ( )
virtual

Member Function Documentation

◆ extract() [1/3]

template<class F >
virtual void vectorial::TMatrixOffset< F >::extract ( const concepts::Vector< F > &  solution,
concepts::Array< F > &  coeff 
) const
virtual

Extracts the part of solution belonging to this T matrix into coeff.

coeff is resized and zeroed before filling it with the coefficients.

Parameters
solutionVector in the global space (input)
coeffLocal coefficients of this T matrix (output)

Implements concepts::TMatrixBase< F >.

◆ extract() [2/3]

template<class F >
virtual void vectorial::TMatrixOffset< F >::extract ( const concepts::Vector< std::complex< F > > &  solution,
concepts::Array< std::complex< F > > &  coeff 
) const
virtual

◆ extract() [3/3]

template<class F >
virtual void concepts::TMatrixBase< F >::extract ( const concepts::Vector<::std::complex< F > > &  solution,
concepts::Array<::std::complex< F > > &  coeff 
) const
pure virtualinherited

◆ index() [1/2]

template<class F >
virtual uint concepts::TMatrixBase< F >::index ( const uint  i) const
pure virtualinherited

Maps the local index i to the global index.

Implemented in concepts::TIndex< F >, and concepts::TIndex< concepts::Real >.

◆ index() [2/2]

template<class F >
virtual uint vectorial::TMatrixOffset< F >::index ( unsigned int  i) const
inlinevirtual

Maps the local index i to the global index.

Definition at line 129 of file vectorial.hh.

◆ info() [1/2]

template<class F >
virtual ::std::ostream& concepts::TMatrixBase< F >::info ( ::std::ostream &  os) const
protectedinherited

◆ info() [2/2]

template<class F >
virtual std::ostream& vectorial::TMatrixOffset< F >::info ( std::ostream &  os) const
protectedvirtual

◆ m()

template<class F >
uint vectorial::TMatrixOffset< F >::m ( ) const
inline

Definition at line 131 of file vectorial.hh.

◆ n()

template<class F >
uint vectorial::TMatrixOffset< F >::n ( ) const
inline

Definition at line 133 of file vectorial.hh.

◆ operator()() [1/3]

template<class F >
virtual void vectorial::TMatrixOffset< F >::operator() ( const concepts::ElementMatrix< F > &  A,
concepts::ElementMatrix< F > &  B 
) const
inlinevirtual

Application operator.

Computes the application of the T matrix on A and returns B: $B = A \cdot T$. Typical usage: assembling the element matrices. The element matrix A is transformed using

\[((AT)^\top \cdot T)^\top = T^\top A T\]

and then simply added entry by entry into the global matrix. This is the case for element matrices which have the same "left" and "right" T matrix. Otherwise, this looks like

\[((A T_y)^\top \cdot T_x)^\top = T_x^\top A T_y.\]

Parameters
AElement matrix
BResult

Implements concepts::TMatrixBase< F >.

Definition at line 120 of file vectorial.hh.

◆ operator()() [2/3]

template<class F >
virtual void vectorial::TMatrixOffset< F >::operator() ( const concepts::ElementMatrix< std::complex< F > > &  A,
concepts::ElementMatrix< std::complex< F > > &  B 
) const
inlinevirtual

Definition at line 123 of file vectorial.hh.

◆ operator()() [3/3]

template<class F >
virtual void concepts::TMatrixBase< F >::operator() ( const ElementMatrix<::std::complex< F > > &  A,
ElementMatrix<::std::complex< F > > &  B 
) const
pure virtualinherited

◆ setM()

template<class F >
void concepts::TMatrixBase< F >::setM ( uint  m)
inlineinherited

Definition at line 390 of file tmatrix.hh.

◆ usedIdx()

template<class F >
virtual void vectorial::TMatrixOffset< F >::usedIdx ( concepts::TColumn< bool > &  c) const
inlinevirtual

Marks the used local indices in c with true, the local indices which are not set to false.

Precondition
c has the correct size

Implements concepts::TMatrixBase< F >.

Definition at line 135 of file vectorial.hh.

Friends And Related Function Documentation

◆ TMatrix< F >

template<class F >
friend class TMatrix< F >
friend

Definition at line 87 of file vectorial.hh.

Member Data Documentation

◆ m_

template<class F >
uint concepts::TMatrixBase< F >::m_
protectedinherited

Number of rows.

Definition at line 420 of file tmatrix.hh.

◆ n_

template<class F >
uint concepts::TMatrixBase< F >::n_
protectedinherited

Number of columns.

Definition at line 418 of file tmatrix.hh.

◆ offsetColumn_

template<class F >
uint vectorial::TMatrixOffset< F >::offsetColumn_
protected

Definition at line 143 of file vectorial.hh.

◆ offsetRow_

template<class F >
uint vectorial::TMatrixOffset< F >::offsetRow_
protected

Definition at line 143 of file vectorial.hh.

◆ T_

template<class F >
const concepts::TMatrixBase<F>& vectorial::TMatrixOffset< F >::T_
protected

Definition at line 144 of file vectorial.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich