g2o
Functions
internal Namespace Reference

Functions

int computeUpperTriangleIndex (int i, int j)
 
template<typename MatrixType >
void pcg_axy (const MatrixType &A, const VectorXD &x, int xoff, VectorXD &y, int yoff)
 
template<>
void pcg_axy (const MatrixXD &A, const VectorXD &x, int xoff, VectorXD &y, int yoff)
 
template<typename MatrixType >
void pcg_axpy (const MatrixType &A, const VectorXD &x, int xoff, VectorXD &y, int yoff)
 
template<>
void pcg_axpy (const MatrixXD &A, const VectorXD &x, int xoff, VectorXD &y, int yoff)
 
template<typename MatrixType >
void pcg_atxpy (const MatrixType &A, const VectorXD &x, int xoff, VectorXD &y, int yoff)
 
template<>
void pcg_atxpy (const MatrixXD &A, const VectorXD &x, int xoff, VectorXD &y, int yoff)
 

Function Documentation

int internal::computeUpperTriangleIndex ( int  i,
int  j 
)
inline

Definition at line 28 of file base_multi_edge.hpp.

29  {
30  int elemsUpToCol = ((j-1) * j) / 2;
31  return elemsUpToCol + i;
32  }
template<typename MatrixType >
void internal::pcg_atxpy ( const MatrixType &  A,
const VectorXD &  x,
int  xoff,
VectorXD &  y,
int  yoff 
)
inline

Definition at line 66 of file linear_solver_pcg.hpp.

Referenced by pcg_atxpy().

67  {
68  y.segment<MatrixType::ColsAtCompileTime>(yoff) += A.transpose() * x.segment<MatrixType::RowsAtCompileTime>(xoff);
69  }
template<>
void internal::pcg_atxpy ( const MatrixXD &  A,
const VectorXD &  x,
int  xoff,
VectorXD &  y,
int  yoff 
)
inline

Definition at line 72 of file linear_solver_pcg.hpp.

References pcg_atxpy(), pcg_axpy(), and pcg_axy().

73  {
74  y.segment(yoff, A.cols()) += A.transpose() * x.segment(xoff, A.rows());
75  }
template<typename MatrixType >
void internal::pcg_axpy ( const MatrixType &  A,
const VectorXD &  x,
int  xoff,
VectorXD &  y,
int  yoff 
)
inline

Definition at line 54 of file linear_solver_pcg.hpp.

Referenced by pcg_atxpy().

55  {
56  y.segment<MatrixType::RowsAtCompileTime>(yoff) += A * x.segment<MatrixType::ColsAtCompileTime>(xoff);
57  }
template<>
void internal::pcg_axpy ( const MatrixXD &  A,
const VectorXD &  x,
int  xoff,
VectorXD &  y,
int  yoff 
)
inline

Definition at line 60 of file linear_solver_pcg.hpp.

61  {
62  y.segment(yoff, A.rows()) += A * x.segment(xoff, A.cols());
63  }
template<typename MatrixType >
void internal::pcg_axy ( const MatrixType &  A,
const VectorXD &  x,
int  xoff,
VectorXD &  y,
int  yoff 
)
inline

Definition at line 41 of file linear_solver_pcg.hpp.

Referenced by pcg_atxpy().

42  {
43  y.segment<MatrixType::RowsAtCompileTime>(yoff) = A * x.segment<MatrixType::ColsAtCompileTime>(xoff);
44  }
template<>
void internal::pcg_axy ( const MatrixXD &  A,
const VectorXD &  x,
int  xoff,
VectorXD &  y,
int  yoff 
)
inline

Definition at line 47 of file linear_solver_pcg.hpp.

48  {
49  y.segment(yoff, A.rows()) = A * x.segment(xoff, A.cols());
50  }