cgv
cgv::math::sparse_les Class Referenceabstract

#include <sparse_les.h>

Inheritance diagram for cgv::math::sparse_les:
cgv::data::ref_counted

Public Member Functions

int get_ref_count () const
 read access to current count
 
problem setup
virtual void set_mat_entry (int r, int c, double val)=0
 set entry in row r and column c in the sparse matrix A
 
virtual void set_b_entry (int i, double val)
 set i-th entry in a single right hand side b
 
virtual void set_b_entry (int i, int j, double val)=0
 set i-th entry in the j-th right hand side
 
virtual double & ref_b_entry (int i)
 return reference to i-th entry in a single right hand side b
 
virtual double & ref_b_entry (int i, int j)=0
 set i-th entry in j-th right hand side
 
virtual bool solve (bool analyze_residual=false)=0
 try to solve system - in case of success analyze residuals if demanded by the optional parameter
 
access to solution
virtual double get_x_entry (int i) const
 return the i-th component of a single solution vector
 
virtual double get_x_entry (int i, int j) const =0
 return the i-th component of the j-th solution vector
 

Static Public Member Functions

static interface
static void register_solver_factory (sparse_les_factory_ptr sls_fac)
 register a factory for a new type of linear equation solver
 
static const std::vector< sparse_les_factory_ptr > & get_solver_factories ()
 return the list of registered solvers
 
static sparse_les_ptr create_by_name (const std::string &solver_name, int n, int nr_rhs, int nr_nze=-1)
 check the registered solver types for one with the given name
 
static sparse_les_ptr create_by_cap (SparseLesCaps caps, int n, int nr_rhs, int nr_nze=-1)
 check the registered solver types for one with the given capabilities and create an instance of it
 

Protected Member Functions

void set_ref_count (int c) const
 write access is also const to allow ref counted pointers to const instances
 

Detailed Description

interface for implementations of solvers for sparse linear systems of the form A * x = b with a square matrix A.


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