iRoCS Toolbox  1.1.0
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
svt::Solver< FV, KF > Class Template Reference

#include <Solver.hh>

Inheritance diagram for svt::Solver< FV, KF >:
Collaboration diagram for svt::Solver< FV, KF >:

Public Member Functions

 Solver ()
 
virtual ~Solver ()
 
void Solve (int l, const Kernel< FV, KF > &Q, const double *b_, const schar *y_, double *alpha_, double Cp, double Cn, double eps, SolutionInfo *si, int shrinking, ProgressReporter *progressReporter)
 

Protected Types

enum  { LOWER_BOUND, UPPER_BOUND, FREE }
 

Protected Member Functions

virtual double calculate_rho ()
 
virtual void do_shrinking ()
 
double get_C (int i)
 
bool is_free (int i)
 
bool is_lower_bound (int i)
 
bool is_upper_bound (int i)
 
void reconstruct_gradient ()
 
virtual int select_working_set (int &i, int &j)
 
void swap_index (int i, int j)
 
void update_alpha_status (int i)
 

Protected Attributes

int * active_set
 
int active_size
 
double * alpha
 
char * alpha_status
 
double * b
 
double Cn
 
double Cp
 
double eps
 
double * G
 
double * G_bar
 
int l
 
const Kernel< FV, KF > * Q
 
bool unshrinked
 
schary
 

Detailed Description

template<typename FV, typename KF>
class svt::Solver< FV, KF >

Definition at line 112 of file Solver.hh.

Member Enumeration Documentation

◆ anonymous enum

template<typename FV, typename KF>
anonymous enum
protected
Enumerator
LOWER_BOUND 
UPPER_BOUND 
FREE 

Definition at line 135 of file Solver.hh.

Constructor & Destructor Documentation

◆ Solver()

template<typename FV, typename KF>
svt::Solver< FV, KF >::Solver ( )
inline

Definition at line 115 of file Solver.hh.

Referenced by svt::Solver< FV, KF >::~Solver().

◆ ~Solver()

template<typename FV, typename KF>
virtual svt::Solver< FV, KF >::~Solver ( )
inlinevirtual

Definition at line 116 of file Solver.hh.

Member Function Documentation

◆ Solve()

template<typename FV, typename KF>
void svt::Solver< FV, KF >::Solve ( int  l,
const Kernel< FV, KF > &  Q,
const double *  b_,
const schar y_,
double *  alpha_,
double  Cp,
double  Cn,
double  eps,
SolutionInfo si,
int  shrinking,
ProgressReporter progressReporter 
)

◆ get_C()

template<typename FV, typename KF>
double svt::Solver< FV, KF >::get_C ( int  i)
inlineprotected

Definition at line 147 of file Solver.hh.

Referenced by svt::Solver< FV, KF >::update_alpha_status().

◆ update_alpha_status()

template<typename FV, typename KF>
void svt::Solver< FV, KF >::update_alpha_status ( int  i)
inlineprotected

Definition at line 151 of file Solver.hh.

◆ is_upper_bound()

template<typename FV, typename KF>
bool svt::Solver< FV, KF >::is_upper_bound ( int  i)
inlineprotected

Definition at line 159 of file Solver.hh.

◆ is_lower_bound()

template<typename FV, typename KF>
bool svt::Solver< FV, KF >::is_lower_bound ( int  i)
inlineprotected

Definition at line 160 of file Solver.hh.

◆ is_free()

template<typename FV, typename KF>
bool svt::Solver< FV, KF >::is_free ( int  i)
inlineprotected

Definition at line 161 of file Solver.hh.

◆ swap_index()

template<typename FV, typename KF>
void svt::Solver< FV, KF >::swap_index ( int  i,
int  j 
)
protected

◆ reconstruct_gradient()

template<typename FV, typename KF>
void svt::Solver< FV, KF >::reconstruct_gradient ( )
protected

◆ select_working_set()

template<typename FV, typename KF>
virtual int svt::Solver< FV, KF >::select_working_set ( int &  i,
int &  j 
)
protectedvirtual

◆ calculate_rho()

template<typename FV, typename KF>
virtual double svt::Solver< FV, KF >::calculate_rho ( )
protectedvirtual

◆ do_shrinking()

template<typename FV, typename KF>
virtual void svt::Solver< FV, KF >::do_shrinking ( )
protectedvirtual

Field Documentation

◆ active_size

template<typename FV, typename KF>
int svt::Solver< FV, KF >::active_size
protected

Definition at line 132 of file Solver.hh.

◆ y

template<typename FV, typename KF>
schar* svt::Solver< FV, KF >::y
protected

Definition at line 133 of file Solver.hh.

◆ G

template<typename FV, typename KF>
double* svt::Solver< FV, KF >::G
protected

Definition at line 134 of file Solver.hh.

◆ alpha_status

template<typename FV, typename KF>
char* svt::Solver< FV, KF >::alpha_status
protected

Definition at line 136 of file Solver.hh.

◆ alpha

template<typename FV, typename KF>
double* svt::Solver< FV, KF >::alpha
protected

Definition at line 137 of file Solver.hh.

◆ Q

template<typename FV, typename KF>
const Kernel<FV,KF>* svt::Solver< FV, KF >::Q
protected

Definition at line 138 of file Solver.hh.

Referenced by svt::Solver< FV, KF >::~Solver().

◆ eps

template<typename FV, typename KF>
double svt::Solver< FV, KF >::eps
protected

Definition at line 139 of file Solver.hh.

Referenced by svt::Solver< FV, KF >::~Solver().

◆ Cp

template<typename FV, typename KF>
double svt::Solver< FV, KF >::Cp
protected

Definition at line 140 of file Solver.hh.

Referenced by svt::Solver< FV, KF >::get_C(), and svt::Solver< FV, KF >::~Solver().

◆ Cn

template<typename FV, typename KF>
double svt::Solver< FV, KF >::Cn
protected

Definition at line 140 of file Solver.hh.

Referenced by svt::Solver< FV, KF >::get_C(), and svt::Solver< FV, KF >::~Solver().

◆ b

template<typename FV, typename KF>
double* svt::Solver< FV, KF >::b
protected

Definition at line 141 of file Solver.hh.

◆ active_set

template<typename FV, typename KF>
int* svt::Solver< FV, KF >::active_set
protected

Definition at line 142 of file Solver.hh.

◆ G_bar

template<typename FV, typename KF>
double* svt::Solver< FV, KF >::G_bar
protected

Definition at line 143 of file Solver.hh.

◆ l

template<typename FV, typename KF>
int svt::Solver< FV, KF >::l
protected

Definition at line 144 of file Solver.hh.

Referenced by svt::Solver< FV, KF >::~Solver().

◆ unshrinked

template<typename FV, typename KF>
bool svt::Solver< FV, KF >::unshrinked
protected

Definition at line 145 of file Solver.hh.


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