soth::Givens Class Reference

#include <Givens.hpp>

List of all members.

Classes

struct  Transpose

Public Types

typedef JacobiRotation< double > NestedType
typedef MatrixXd::Index Index

Public Member Functions

SOTH_EXPORT Givens ()
SOTH_EXPORT Givens (double a, double b, Index i, Index j, double *z=0)
template<typename VectorBase >
 Givens (const VectorBase &v, Index i, Index j)
template<typename VectorBase >
 Givens (VectorBase &v, Index i, Index j, bool apply=false)
SOTH_EXPORT void makeGivens (double a, double b, Index i, Index j, double *z=0)
template<typename VectorBase >
void makeGivens (const VectorBase &v, Index i, Index j)
template<typename VectorBase >
void makeGivens (VectorBase &v, Index i, Index j, bool apply)
template<typename D >
void applyThisOnTheLeft (MatrixBase< D > &M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void applyThisOnTheLeft (SubMatrix< MatrixType, PermutationType, IsSub > &M) const
template<typename D >
void applyTransposeOnTheLeft (MatrixBase< D > &M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void applyTransposeOnTheLeft (SubMatrix< MatrixType, PermutationType, IsSub > &M) const
template<typename D >
void applyThisOnTheRight (MatrixBase< D > &M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void applyThisOnTheRight (SubMatrix< MatrixType, PermutationType, IsSub > &M) const
template<typename D >
void applyTransposeOnTheRight (MatrixBase< D > &M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void applyTransposeOnTheRight (SubMatrix< MatrixType, PermutationType, IsSub > &M) const
template<typename D >
void applyThisOnTheLeftPartiel (MatrixBase< D > &M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void applyThisOnTheLeftPartiel (SubMatrix< MatrixType, PermutationType, IsSub > &M) const
template<typename D >
void applyTransposeOnTheRight (MatrixBase< D > &M, const Index size) const
template<typename MatrixType , int PermutationType, bool IsSub>
void applyTransposeOnTheRight (SubMatrix< MatrixType, PermutationType, IsSub > &M, const Index size) const
bool applicable (Index size) const
template<typename D1 , typename D2 >
void applyThisOnVectors (MatrixBase< D1 > &v1, MatrixBase< D2 > &v2)
template<typename D1 , typename D2 >
void applyTransposeOnVectors (MatrixBase< D1 > &v1, MatrixBase< D2 > &v2)
Transpose transpose () const
template<typename Derived >
void applyThisOnTheLeft (MatrixBase< Derived > &M) const
template<typename Derived >
void applyThisOnTheLeftPartiel (MatrixBase< Derived > &M) const
template<typename Derived >
void applyTransposeOnTheLeft (MatrixBase< Derived > &M) const
template<typename Derived >
void applyThisOnTheRight (MatrixBase< Derived > &M) const
template<typename Derived >
void applyTransposeOnTheRight (MatrixBase< Derived > &M) const

Public Attributes

NestedType G
NestedType Gt
Index i
Index j

Member Typedef Documentation

typedef MatrixXd::Index soth::Givens::Index
typedef JacobiRotation<double> soth::Givens::NestedType

Constructor & Destructor Documentation

soth::Givens::Givens ( )
soth::Givens::Givens ( double  a,
double  b,
Index  i,
Index  j,
double *  z = 0 
)

References makeGivens().

template<typename VectorBase >
soth::Givens::Givens ( const VectorBase &  v,
Index  i,
Index  j 
) [inline]

References makeGivens().

template<typename VectorBase >
soth::Givens::Givens ( VectorBase &  v,
Index  i,
Index  j,
bool  apply = false 
) [inline]

References makeGivens().


Member Function Documentation

bool soth::Givens::applicable ( Index  size) const [inline]
template<typename D >
void soth::Givens::applyThisOnTheLeft ( MatrixBase< D > &  M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void soth::Givens::applyThisOnTheLeft ( SubMatrix< MatrixType, PermutationType, IsSub > &  M) const
template<typename Derived >
void soth::Givens::applyThisOnTheLeft ( MatrixBase< Derived > &  M) const

References soth::applyRotation(), G, i, and j.

template<typename D >
void soth::Givens::applyThisOnTheLeftPartiel ( MatrixBase< D > &  M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void soth::Givens::applyThisOnTheLeftPartiel ( SubMatrix< MatrixType, PermutationType, IsSub > &  M) const
template<typename Derived >
void soth::Givens::applyThisOnTheLeftPartiel ( MatrixBase< Derived > &  M) const

References G, i, and j.

template<typename D >
void soth::Givens::applyThisOnTheRight ( MatrixBase< D > &  M) const

Referenced by soth::operator>>().

template<typename MatrixType , int PermutationType, bool IsSub>
void soth::Givens::applyThisOnTheRight ( SubMatrix< MatrixType, PermutationType, IsSub > &  M) const
template<typename Derived >
void soth::Givens::applyThisOnTheRight ( MatrixBase< Derived > &  M) const

References soth::applyRotation(), G, i, and j.

template<typename D1 , typename D2 >
void soth::Givens::applyThisOnVectors ( MatrixBase< D1 > &  v1,
MatrixBase< D2 > &  v2 
) [inline]
template<typename D >
void soth::Givens::applyTransposeOnTheLeft ( MatrixBase< D > &  M) const

Referenced by soth::operator<<().

template<typename MatrixType , int PermutationType, bool IsSub>
void soth::Givens::applyTransposeOnTheLeft ( SubMatrix< MatrixType, PermutationType, IsSub > &  M) const
template<typename Derived >
void soth::Givens::applyTransposeOnTheLeft ( MatrixBase< Derived > &  M) const

References soth::applyRotation(), G, i, and j.

template<typename D >
void soth::Givens::applyTransposeOnTheRight ( MatrixBase< D > &  M) const
template<typename MatrixType , int PermutationType, bool IsSub>
void soth::Givens::applyTransposeOnTheRight ( SubMatrix< MatrixType, PermutationType, IsSub > &  M) const
template<typename D >
void soth::Givens::applyTransposeOnTheRight ( MatrixBase< D > &  M,
const Index  size 
) const
template<typename MatrixType , int PermutationType, bool IsSub>
void soth::Givens::applyTransposeOnTheRight ( SubMatrix< MatrixType, PermutationType, IsSub > &  M,
const Index  size 
) const
template<typename Derived >
void soth::Givens::applyTransposeOnTheRight ( MatrixBase< Derived > &  M) const

References soth::applyRotation(), G, i, and j.

template<typename D1 , typename D2 >
void soth::Givens::applyTransposeOnVectors ( MatrixBase< D1 > &  v1,
MatrixBase< D2 > &  v2 
) [inline]
void soth::Givens::makeGivens ( double  a,
double  b,
Index  i,
Index  j,
double *  z = 0 
)

References G, Gt, i, and j.

Referenced by Givens(), and makeGivens().

template<typename VectorBase >
void soth::Givens::makeGivens ( const VectorBase &  v,
Index  i,
Index  j 
) [inline]

References makeGivens().

template<typename VectorBase >
void soth::Givens::makeGivens ( VectorBase &  v,
Index  i,
Index  j,
bool  apply 
) [inline]

References makeGivens().

Transpose soth::Givens::transpose ( ) const [inline]

Member Data Documentation