Classes | |
struct | SolutionInfo |
Public Member Functions | |
void | Solve (int l, const QMatrix &Q, const double *p_, const schar *y_, double *alpha_, double Cp, double Cn, double eps, SolutionInfo *si, int shrinking) |
Solver () | |
virtual | ~Solver () |
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 | Cn |
double | Cp |
double | eps |
double * | G |
double * | G_bar |
int | l |
double * | p |
const QMatrix * | Q |
const double * | QD |
bool | unshrink |
schar * | y |
Private Member Functions | |
bool | be_shrunk (int i, double Gmax1, double Gmax2) |
anonymous enum [protected] |
Solver::Solver | ( | ) | [inline] |
virtual Solver::~Solver | ( | ) | [inline, virtual] |
bool Solver::be_shrunk | ( | int | i, |
double | Gmax1, | ||
double | Gmax2 | ||
) | [private] |
double Solver::calculate_rho | ( | ) | [protected, virtual] |
void Solver::do_shrinking | ( | ) | [protected, virtual] |
double Solver::get_C | ( | int | i | ) | [inline, protected] |
bool Solver::is_free | ( | int | i | ) | [inline, protected] |
bool Solver::is_lower_bound | ( | int | i | ) | [inline, protected] |
bool Solver::is_upper_bound | ( | int | i | ) | [inline, protected] |
void Solver::reconstruct_gradient | ( | ) | [protected] |
int Solver::select_working_set | ( | int & | i, |
int & | j | ||
) | [protected, virtual] |
void Solver::Solve | ( | int | l, |
const QMatrix & | Q, | ||
const double * | p_, | ||
const schar * | y_, | ||
double * | alpha_, | ||
double | Cp, | ||
double | Cn, | ||
double | eps, | ||
SolutionInfo * | si, | ||
int | shrinking | ||
) |
void Solver::swap_index | ( | int | i, |
int | j | ||
) | [protected] |
void Solver::update_alpha_status | ( | int | i | ) | [inline, protected] |
int* Solver::active_set [protected] |
int Solver::active_size [protected] |
double* Solver::alpha [protected] |
char* Solver::alpha_status [protected] |
double Solver::Cn [protected] |
double Solver::Cp [protected] |
double Solver::eps [protected] |
double* Solver::G_bar [protected] |
const double* Solver::QD [protected] |
bool Solver::unshrink [protected] |