Public Member Functions | Private Attributes
isam::SparseSystem Class Reference

#include <SparseSystem.h>

Inheritance diagram for isam::SparseSystem:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void add_row (const SparseVector &new_row, double new_r)
virtual int add_row_givens (const SparseVector &new_row, double new_r)
void append_new_rows (int num)
void apply_givens (int row, int col, double *c_givens=NULL, double *s_givens=NULL)
const SparseSystemoperator= (const SparseSystem &mat)
const Eigen::VectorXd & rhs () const
void set_rhs (const Eigen::VectorXd &rhs)
virtual Eigen::VectorXd solve () const
 SparseSystem (int num_rows, int num_cols)
 SparseSystem (const SparseSystem &mat)
 SparseSystem (const SparseSystem &mat, int num_rows, int num_cols, int first_row=0, int first_col=0)
 SparseSystem (int num_rows, int num_cols, SparseVector_p *rows, const Eigen::VectorXd &rhs)
virtual ~SparseSystem ()

Private Attributes

Eigen::VectorXd _rhs

Detailed Description

Definition at line 36 of file SparseSystem.h.


Constructor & Destructor Documentation

isam::SparseSystem::SparseSystem ( int  num_rows,
int  num_cols 
)

Definition at line 43 of file SparseSystem.cpp.

Definition at line 46 of file SparseSystem.cpp.

isam::SparseSystem::SparseSystem ( const SparseSystem mat,
int  num_rows,
int  num_cols,
int  first_row = 0,
int  first_col = 0 
)

Definition at line 49 of file SparseSystem.cpp.

isam::SparseSystem::SparseSystem ( int  num_rows,
int  num_cols,
SparseVector_p rows,
const Eigen::VectorXd &  rhs 
)

Definition at line 58 of file SparseSystem.cpp.


Member Function Documentation

void isam::SparseSystem::add_row ( const SparseVector new_row,
double  new_r 
) [virtual]

Insert a new row

Parameters:
new_rowThe new sparse measurement row to add.
new_rNew right hand side entry.

Definition at line 86 of file SparseSystem.cpp.

int isam::SparseSystem::add_row_givens ( const SparseVector new_row,
double  new_r 
) [virtual]

Insert a new measurement row and triangulate using Givens rotations

Parameters:
new_rowThe new sparse measurement row to add.
new_rNew right hand side entry.
Returns:
Number of Givens rotations applied (for analysis).

Definition at line 95 of file SparseSystem.cpp.

void isam::SparseSystem::append_new_rows ( int  num) [virtual]

Append new rows to matrix.

Parameters:
numNumber of rows to add.

Reimplemented from isam::SparseMatrix.

Definition at line 81 of file SparseSystem.cpp.

void isam::SparseSystem::apply_givens ( int  row,
int  col,
double *  c_givens = NULL,
double *  s_givens = NULL 
) [virtual]

Note: While rows are passed in, the rhs is required to already contain the new entry - necessary because we cannot change the signature of the function.

Reimplemented from isam::SparseMatrix.

Definition at line 71 of file SparseSystem.cpp.

const SparseSystem & isam::SparseSystem::operator= ( const SparseSystem mat)

Definition at line 61 of file SparseSystem.cpp.

const Eigen::VectorXd& isam::SparseSystem::rhs ( ) const [inline]

Definition at line 46 of file SparseSystem.h.

void isam::SparseSystem::set_rhs ( const Eigen::VectorXd &  rhs) [inline]

Definition at line 47 of file SparseSystem.h.

VectorXd isam::SparseSystem::solve ( ) const [virtual]

Solve equation system by backsubstitution.

Returns:
Solution for x in Rx=b'

Definition at line 119 of file SparseSystem.cpp.


Member Data Documentation

Eigen::VectorXd isam::SparseSystem::_rhs [private]

Definition at line 37 of file SparseSystem.h.


The documentation for this class was generated from the following files:


demo_lidar
Author(s): Ji Zhang
autogenerated on Fri Jan 3 2014 11:17:40