Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_linear_system Class Reference

#include <vnl_linear_system.h>

Inheritance diagram for vnl_linear_system:

Inheritance graph
[legend]
List of all members.

Public Methods

 vnl_linear_system (int number_of_unknowns, int number_of_residuals)
virtual ~vnl_linear_system ()
virtual void multiply (vnl_vector< double > const &x, vnl_vector< double > &y) const=0
virtual void transpose_multiply (vnl_vector< double > const &y, vnl_vector< double > &x) const=0
virtual void get_rhs (vnl_vector< double > &b) const=0
virtual void apply_preconditioner (vnl_vector< double > const &x, vnl_vector< double > &px) const
int get_number_of_unknowns () const
int get_number_of_residuals () const
double get_rms_error (vnl_vector< double > const &x) const
double get_relative_residual (vnl_vector< double > const &x) const

Protected Attributes

int p_
int n_

Detailed Description

Abstraction for a linear system of equations. vnl_linear_system provides an abstraction for a linear system of equations, Ax = b, to be solved by one of the iterative linear solvers. Access to the systems is via the pure virtual methods multiply() and transpose_multiply(). This procedural access scheme makes it possible to solve very large, sparse systems which it would be inefficient to store in matrix form.

Definition at line 26 of file vnl_linear_system.h.


Constructor & Destructor Documentation

vnl_linear_system::vnl_linear_system int    number_of_unknowns,
int    number_of_residuals
[inline]
 

Definition at line 29 of file vnl_linear_system.h.

References p_.

virtual vnl_linear_system::~vnl_linear_system   [virtual]
 


Member Function Documentation

virtual void vnl_linear_system::apply_preconditioner vnl_vector< double > const &    x,
vnl_vector< double > &    px
const [virtual]
 

Reimplemented in vnl_sparse_matrix_linear_system< T >.

int vnl_linear_system::get_number_of_residuals   const [inline]
 

Return the number of residuals.

Definition at line 58 of file vnl_linear_system.h.

References n_, and p_.

int vnl_linear_system::get_number_of_unknowns   const [inline]
 

Return the number of unknowns.

Definition at line 54 of file vnl_linear_system.h.

double vnl_linear_system::get_relative_residual vnl_vector< double > const &    x const
 

Compute relative residual (|Ax - b| / |b| )for parameter vector x.

virtual void vnl_linear_system::get_rhs vnl_vector< double > &    b const [pure virtual]
 

Implemented in vnl_sparse_matrix_linear_system< T >.

double vnl_linear_system::get_rms_error vnl_vector< double > const &    x const
 

Compute rms error for parameter vector x.

virtual void vnl_linear_system::multiply vnl_vector< double > const &    x,
vnl_vector< double > &    y
const [pure virtual]
 

Compute A*x, putting result in y.

Implemented in vnl_sparse_matrix_linear_system< T >.

virtual void vnl_linear_system::transpose_multiply vnl_vector< double > const &    y,
vnl_vector< double > &    x
const [pure virtual]
 

Compute A_transpose * y, putting result in x.

Implemented in vnl_sparse_matrix_linear_system< T >.


Member Data Documentation

int vnl_linear_system::n_ [protected]
 

Definition at line 70 of file vnl_linear_system.h.

Referenced by get_number_of_residuals().

int vnl_linear_system::p_ [protected]
 

Definition at line 69 of file vnl_linear_system.h.

Referenced by get_number_of_residuals(), and vnl_linear_system().


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:17:04 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000