#include <SparseSystem.h>
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 SparseSystem & | operator= (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 |
Definition at line 36 of file SparseSystem.h.
isam::SparseSystem::SparseSystem | ( | int | num_rows, |
int | num_cols | ||
) |
Definition at line 43 of file SparseSystem.cpp.
isam::SparseSystem::SparseSystem | ( | const SparseSystem & | mat | ) |
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 | ||
) |
isam::SparseSystem::~SparseSystem | ( | ) | [virtual] |
Definition at line 58 of file SparseSystem.cpp.
void isam::SparseSystem::add_row | ( | const SparseVector & | new_row, |
double | new_r | ||
) | [virtual] |
Insert a new row
new_row | The new sparse measurement row to add. |
new_r | New 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
new_row | The new sparse measurement row to add. |
new_r | New right hand side entry. |
Definition at line 95 of file SparseSystem.cpp.
void isam::SparseSystem::append_new_rows | ( | int | num | ) | [virtual] |
Append new rows to matrix.
num | Number 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.
Definition at line 119 of file SparseSystem.cpp.
Eigen::VectorXd isam::SparseSystem::_rhs [private] |
Definition at line 37 of file SparseSystem.h.