Code-Eli  0.3.6
eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ > Class Template Reference

#include <iterative_system_root_base.hpp>

Inheritance diagram for eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >:
Collaboration diagram for eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >:

Public Types

enum  system_norm_type {
  L1 =100, L2 =200, Linf =300, max_norm =400,
  Frobenius_norm =500
}
 
typedef Eigen::Matrix< data__, N__, NSOL__ > solution_matrix
 
typedef Eigen::Matrix< data__, N__, N__ > jacobian_matrix
 
- Public Types inherited from eli::mutil::nls::iterative_root_base< data__ >
typedef convergence_tester< data__ > error_tolerance_type
 
typedef convergence_tester< size_t > max_iteration_type
 
typedef error_tolerance_type::data_type tolerance_type
 
typedef max_iteration_type::data_type iteration_type
 

Public Member Functions

 iterative_system_root_base ()
 
 iterative_system_root_base (const iterative_system_root_base< data__, N__, NSOL__ > &isrb)
 
 ~iterative_system_root_base ()
 
system_norm_type get_norm_type () const
 
void set_norm_type (system_norm_type snt)
 
- Public Member Functions inherited from eli::mutil::nls::iterative_root_base< data__ >
 iterative_root_base ()
 
 iterative_root_base (const iterative_root_base< data__ > &irb)
 
virtual ~iterative_root_base ()
 
void set_relative_tolerance (const tolerance_type &rel_tol)
 
tolerance_type get_relative_tolerance () const
 
void set_absolute_tolerance (const tolerance_type &abs_tol)
 
tolerance_type get_absolute_tolerance () const
 
void set_max_iteration (const iteration_type &mi)
 
iteration_type get_max_iteration () const
 
void enforce_both_tolerance (bool ebt)
 
bool enforce_both_tolerance () const
 
void disable_relative_tolerance ()
 
void disable_absolute_tolerance ()
 
const error_tolerance_typeget_tolerance_tester () const
 
const max_iteration_typeget_iteration_count_tester () const
 
const iteration_typeget_iteration_count () const
 

Protected Member Functions

data__ calculate_norm (const solution_matrix &mat) const
 
- Protected Member Functions inherited from eli::mutil::nls::iterative_root_base< data__ >
bool test_converged (const iteration_type &it, const tolerance_type &relv, const tolerance_type &absv) const
 
bool max_iteration_reached (const iteration_type &it) const
 

Private Attributes

system_norm_type norm_type
 

Additional Inherited Members

- Static Public Attributes inherited from eli::mutil::nls::iterative_root_base< data__ >
static const int converged = 0
 
static const int max_iteration = 1
 
static const int no_root_found = 2
 

Member Typedef Documentation

template<typename data__, size_t N__, size_t NSOL__>
typedef Eigen::Matrix<data__, N__, N__> eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::jacobian_matrix
template<typename data__, size_t N__, size_t NSOL__>
typedef Eigen::Matrix<data__, N__, NSOL__> eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::solution_matrix

Member Enumeration Documentation

template<typename data__, size_t N__, size_t NSOL__>
enum eli::mutil::nls::iterative_system_root_base::system_norm_type
Enumerator
L1 
L2 
Linf 
max_norm 
Frobenius_norm 

Constructor & Destructor Documentation

template<typename data__, size_t N__, size_t NSOL__>
eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::iterative_system_root_base ( )
inline
template<typename data__, size_t N__, size_t NSOL__>
eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::iterative_system_root_base ( const iterative_system_root_base< data__, N__, NSOL__ > &  isrb)
inline
template<typename data__, size_t N__, size_t NSOL__>
eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::~iterative_system_root_base ( )
inline

Member Function Documentation

template<typename data__, size_t N__, size_t NSOL__>
data__ eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::calculate_norm ( const solution_matrix mat) const
inlineprotected

Here is the call graph for this function:

template<typename data__, size_t N__, size_t NSOL__>
system_norm_type eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::get_norm_type ( ) const
inline
template<typename data__, size_t N__, size_t NSOL__>
void eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::set_norm_type ( system_norm_type  snt)
inline

Member Data Documentation

template<typename data__, size_t N__, size_t NSOL__>
system_norm_type eli::mutil::nls::iterative_system_root_base< data__, N__, NSOL__ >::norm_type
private

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