Rosetta  3.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Macros | Typedefs | Functions | Variables
Svm.cc File Reference
#include <math.h>
#include <cstdio>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <limits.h>
#include <locale.h>
#include <iostream>
#include <cassert>
#include "Svm.hh"

Classes

class  Cache
 
struct  Cache::head_t
 
class  QMatrix
 
class  Kernel
 
class  Solver
 
struct  Solver::SolutionInfo
 
class  Solver_NU
 
class  SVC_Q
 
class  ONE_CLASS_Q
 
class  SVR_Q
 
struct  decision_function
 

Macros

#define INF   HUGE_VAL
 
#define TAU   1e-12
 
#define Malloc(type, n)   (type *)malloc((n)*sizeof(type))
 

Typedefs

typedef float Qfloat
 
typedef signed char schar
 

Functions

template<class T >
static T min (T x, T y)
 
template<class T >
static T max (T x, T y)
 
template<class T >
static void swap (T &x, T &y)
 
template<class S , class T >
static void clone (T *&dst, S *src, int n)
 
static double powi (double base, int times)
 
static void print_string_stdout (const char *s)
 
static void info (const char *fmt,...)
 
static void solve_c_svc (const svm_problem *prob, const svm_parameter *param, double *alpha, Solver::SolutionInfo *si, double Cp, double Cn)
 
static void solve_nu_svc (const svm_problem *prob, const svm_parameter *param, double *alpha, Solver::SolutionInfo *si)
 
static void solve_one_class (const svm_problem *prob, const svm_parameter *param, double *alpha, Solver::SolutionInfo *si)
 
static void solve_epsilon_svr (const svm_problem *prob, const svm_parameter *param, double *alpha, Solver::SolutionInfo *si)
 
static void solve_nu_svr (const svm_problem *prob, const svm_parameter *param, double *alpha, Solver::SolutionInfo *si)
 
static decision_function svm_train_one (const svm_problem *prob, const svm_parameter *param, double Cp, double Cn)
 
static void sigmoid_train (int l, const double *dec_values, const double *labels, double &A, double &B)
 
static double sigmoid_predict (double decision_value, double A, double B)
 
static void multiclass_probability (int k, double **r, double *p)
 
static void svm_binary_svc_probability (const svm_problem *prob, const svm_parameter *param, double Cp, double Cn, double &probA, double &probB)
 
static double svm_svr_probability (const svm_problem *prob, const svm_parameter *param)
 
static void svm_group_classes (const svm_problem *prob, int *nr_class_ret, int **label_ret, int **start_ret, int **count_ret, int *perm)
 
svm_modelsvm_train (const svm_problem *prob, const svm_parameter *param)
 
void svm_cross_validation (const svm_problem *prob, const svm_parameter *param, int nr_fold, double *target)
 
int svm_get_svm_type (const svm_model *model)
 
int svm_get_nr_class (const svm_model *model)
 
void svm_get_labels (const svm_model *model, int *label)
 
void svm_get_sv_indices (const svm_model *model, int *indices)
 
int svm_get_nr_sv (const svm_model *model)
 
double svm_get_svr_probability (const svm_model *model)
 
double svm_predict_values (const svm_model *model, const svm_node *x, double *dec_values)
 
double svm_predict (const svm_model *model, const svm_node *x)
 
double svm_predict_probability (const svm_model *model, const svm_node *x, double *prob_estimates)
 
int svm_save_model (const char *model_file_name, const svm_model *model)
 
static char * readline (FILE *input)
 
svm_modelsvm_load_model (const char *model_file_name)
 
void svm_free_model_content (svm_model *model_ptr)
 
void svm_free_and_destroy_model (svm_model **model_ptr_ptr)
 
void svm_destroy_param (svm_parameter *param)
 
const char * svm_check_parameter (const svm_problem *prob, const svm_parameter *param)
 
int svm_check_probability_model (const svm_model *model)
 
void svm_set_print_string_function (void(*print_func)(const char *))
 

Variables

int libsvm_version = LIBSVM_VERSION
 
static void(* svm_print_string )(const char *) = &print_string_stdout
 
static const char * svm_type_table []
 
static const char * kernel_type_table []
 
static char * line = NULL
 
static int max_line_len
 

Macro Definition Documentation

#define INF   HUGE_VAL
#define Malloc (   type,
 
)    (type *)malloc((n)*sizeof(type))
#define TAU   1e-12

Typedef Documentation

typedef signed char schar

Function Documentation

template<class S , class T >
static void clone ( T *&  dst,
S *  src,
int  n 
)
inlinestatic
static void info ( const char *  fmt,
  ... 
)
static
template<class T >
static T max ( x,
y 
)
inlinestatic

References y().

Referenced by pyrosetta.EnergyMethod::__call__(), src.EnergyMethod::__call__(), src.PyMolLink.PyMOLMover::_scale_list(), app.pyrosetta_toolkit.modules.prettytable.prettytable.PrettyTable::_stringify_row(), calccontacts::addMax_radius(), ExposedStrandMover::apply(), ObjexxFCL::format::bite(), numeric::boltzmann_accept_probability(), utility::io::ozstream::buffer_size(), BuildBindings::BuildRosettaOnWindows(), Cache::Cache(), Solver::calculate_rho(), Solver_NU::calculate_rho(), BuildBindings::calculate_source_modification_date(), ObjexxFCL::DimensionExpressionMax::clone(), numeric::coordinate_fitting::FlatLookup< Real *, numeric::Size, Real >::closest_match(), numeric::coordinate_fitting::FlatLookup< Real *, numeric::Size, Real >::closest_match_subset(), numeric::fourier::SO3coeffs::coefLoc(), numeric::deriv::dihedral_deriv_second(), Solver_NU::do_shrinking(), ObjexxFCL::format::E(), numeric::kdtree::HyperRectangle::extend(), ObjexxFCL::format::F(), ObjexxFCL::FArray1D< double >::FArray1D(), ObjexxFCL::FArray2D< double >::FArray2D(), ObjexxFCL::FArray3D< typename >::FArray3D(), ObjexxFCL::FArray4D< typename >::FArray4D(), ObjexxFCL::FArray5D< typename >::FArray5D(), ObjexxFCL::FArray6D< typename >::FArray6D(), numeric::coordinate_fitting::FlatLookup< Real *, numeric::Size, Real >::first_match(), full_length_rmsd_over_reside_list_general(), gen_pep_bb_sequential(), numeric::fourier::SO3coeffs::genWigner_ds(), PyMOLPyRosettaServer::get_ends(), numeric::kdtree::get_percentile_bounds(), arls_impl::get_procs_per_case(), utility::get_undefined_size(), fmt::internal::MemoryBuffer< T, SIZE, Allocator >::grow(), ObjexxFCL::format::I(), ObjexxFCL::KeyFArray1D< typename >::KeyFArray1D(), ObjexxFCL::KeyFArray2D< typename >::KeyFArray2D(), ObjexxFCL::KeyFArray3D< typename >::KeyFArray3D(), ObjexxFCL::KeyFArray4D< typename >::KeyFArray4D(), ObjexxFCL::KeyFArray5D< typename >::KeyFArray5D(), ObjexxFCL::KeyFArray6D< typename >::KeyFArray6D(), numeric::fourier::kiss_fftndr(), numeric::fourier::kiss_fftndri(), utility::graph::RingDetection< Graph >::LengthOfSmallestCycleWithVertex(), utility::tag::XMLErrorHandler::lines_near_error(), main(), utility::max(), ObjexxFCL::max(), numeric::max(), ObjexxFCL::Chunk< T >::max_size(), ObjexxFCL::ChunkVector< typename >::max_size(), numeric::xyzVector< core::Real >::maximum_value(), MC_run(), multiclass_probability(), ObjexxFCL::DimensionExpressionMax::operator()(), numeric::expression_parser::MaxExpression::operator()(), boost_adaptbx::python::streambuf::overflow(), numeric::deriv::p1_theta_deriv(), DockFragmentsMover::process_fragfile(), numeric::proj_angl(), ObjexxFCL::format::repeat(), numeric::fourier::kiss_fftndr_state::resize(), numeric::xyzTransform< numeric::Real >::rotation_axis(), numeric::model_quality::rsym_eigenval(), ConsensusFragmentMover::run(), yaml.scanner.Scanner::scan_block_scalar(), boost_adaptbx::python::streambuf::seekoff_without_calling_python(), Solver_NU::select_working_set(), src.PyMolLink.PyMOLMover::send_foldtree(), src.PyMolLink.PyMOLMover::send_hbonds(), ObjexxFCL::format::skip(), utility::io::skip(), BuildBindings::Sleep(), BuildBindings::SleepPrecise(), numeric::fourier::SHT::so3CombineCoef(), Solver::Solve(), ObjexxFCL::format::space(), numeric::linear_algebra::svdcmp(), basic::svd::SVD_Solver::svdcmp(), svm_predict_probability(), boost_adaptbx::python::streambuf::sync(), numeric::kdtree::transform_percentile(), ObjexxFCL::Fstring::trimmed_whitespace_range(), ObjexxFCL::DimensionExpressionMax::value(), numeric::fourier::SO3coeffs::wignerSynthesis(), numeric::fourier::SO3coeffs::wignerSynthesisDiffSign(), numeric::fourier::SO3coeffs::wignerSynthesisSameSign(), BuildBindings::windows_buildOneNamespace(), fmt::BasicWriter< Char >::write_double(), ObjexxFCL::format::X(), and numeric::deriv::x_and_dtheta_dx().

template<class T >
static T min ( x,
y 
)
inlinestatic

References y().

Referenced by src.PyMolLink.PyMOLMover::_scale_list(), app.pyrosetta_toolkit.modules.prettytable.prettytable.PrettyTable::_stringify_row(), app.surface_docking.append_data::append_constraints(), ExposedStrandMover::apply(), zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::basic_zip_streambuf(), numeric::boltzmann_accept_probability(), Solver::calculate_rho(), Solver_NU::calculate_rho(), ObjexxFCL::DimensionExpressionMin::clone(), DockFragmentsMover::cluster_frags(), fmt::BasicStringRef< Char >::compare(), PlotSurfaceContactMap::ContactList(), ObjexxFCL::Fstring::copy(), correct_dunbrack(), numeric::deriv::dihedral_deriv_second(), ObjexxFCL::format::E(), numeric::kdtree::HyperRectangle::extend(), ObjexxFCL::format::F(), ObjexxFCL::FArray1D< double >::FArray1D(), ObjexxFCL::FArray2D< double >::FArray2D(), ObjexxFCL::FArray3D< typename >::FArray3D(), ObjexxFCL::FArray4D< typename >::FArray4D(), ObjexxFCL::FArray5D< typename >::FArray5D(), ObjexxFCL::FArray6D< typename >::FArray6D(), numeric::fourier::SO3coeffs::genWigner_ds(), PyMOLPyRosettaServer::get_ends(), numeric::kdtree::get_percentile_bounds(), options_class::getMarkdownPage(), go_main(), Histogram::Histogram(), ObjexxFCL::format::I(), ObjexxFCL::KeyFArray1D< typename >::KeyFArray1D(), ObjexxFCL::KeyFArray2D< typename >::KeyFArray2D(), ObjexxFCL::KeyFArray3D< typename >::KeyFArray3D(), ObjexxFCL::KeyFArray4D< typename >::KeyFArray4D(), ObjexxFCL::KeyFArray5D< typename >::KeyFArray5D(), ObjexxFCL::KeyFArray6D< typename >::KeyFArray6D(), utility::graph::RingDetection< Graph >::LengthOfSmallestCycleWithVertex(), utility::tag::XMLErrorHandler::lines_near_error(), best_ifaceE::main(), main(), make_fragments(), MC_run(), utility::options::OptionCollection::merged(), utility::min(), ObjexxFCL::min(), numeric::min(), numeric::xyzVector< core::Real >::minimum_value(), utility::options::OptionCollection::n_part_prefix_match(), numeric::kdtree::nearest_neighbor(), numeric::kdtree::nearest_neighbors(), ObjexxFCL::DimensionExpressionMin::operator()(), numeric::expression_parser::MinExpression::operator()(), ObjexxFCL::operator<(), ObjexxFCL::operator<=(), ObjexxFCL::operator==(), ObjexxFCL::Fstring::overlay(), numeric::deriv::p1_theta_deriv(), DockFragmentsMover::process_fragfile(), numeric::proj_angl(), numeric::random::reservoir_sample_accept_prob(), ObjexxFCL::ChunkVector< typename >::reshape(), ObjexxFCL::Chunk< T >::resize(), numeric::xyzTransform< numeric::Real >::rotation_axis(), FragmentAssemblyMover::run(), PhiPsi::SecondaryStructure(), src.PyMolLink.PyMOLMover::send_hbonds(), utility::options::OptionCollection::show_option_help(), Solver::Solve(), solve_nu_svc(), solve_nu_svr(), binder::split_in_two(), numeric::linear_algebra::svdcmp(), basic::svd::SVD_Solver::svdcmp(), svm_check_parameter(), svm_predict_probability(), numeric::kdtree::transform_percentile(), ObjexxFCL::DimensionExpressionMin::value(), numeric::kdtree::KDPointList::worst_distance(), utility::options::OptionCollection::wrapped(), and numeric::deriv::x_and_dtheta_dx().

static void multiclass_probability ( int  k,
double **  r,
double p 
)
static
static double powi ( double  base,
int  times 
)
inlinestatic
static void print_string_stdout ( const char *  s)
static
static char* readline ( FILE *  input)
static

References ObjexxFCL::len(), and line.

Referenced by svm_load_model().

static double sigmoid_predict ( double  decision_value,
double  A,
double  B 
)
static

Referenced by svm_predict_probability().

static void sigmoid_train ( int  l,
const double dec_values,
const double labels,
double A,
double B 
)
static
static void solve_c_svc ( const svm_problem prob,
const svm_parameter param,
double alpha,
Solver::SolutionInfo si,
double  Cp,
double  Cn 
)
static
static void solve_epsilon_svr ( const svm_problem prob,
const svm_parameter param,
double alpha,
Solver::SolutionInfo si 
)
static
static void solve_nu_svc ( const svm_problem prob,
const svm_parameter param,
double alpha,
Solver::SolutionInfo si 
)
static
static void solve_nu_svr ( const svm_problem prob,
const svm_parameter param,
double alpha,
Solver::SolutionInfo si 
)
static
static void solve_one_class ( const svm_problem prob,
const svm_parameter param,
double alpha,
Solver::SolutionInfo si 
)
static
static void svm_binary_svc_probability ( const svm_problem prob,
const svm_parameter param,
double  Cp,
double  Cn,
double probA,
double probB 
)
static
const char* svm_check_parameter ( const svm_problem prob,
const svm_parameter param 
)
int svm_check_probability_model ( const svm_model model)
void svm_cross_validation ( const svm_problem prob,
const svm_parameter param,
int  nr_fold,
double target 
)
void svm_destroy_param ( svm_parameter param)
void svm_free_and_destroy_model ( svm_model **  model_ptr_ptr)
void svm_free_model_content ( svm_model model_ptr)
void svm_get_labels ( const svm_model model,
int label 
)
int svm_get_nr_class ( const svm_model model)
int svm_get_nr_sv ( const svm_model model)

References svm_model::l.

void svm_get_sv_indices ( const svm_model model,
int indices 
)
int svm_get_svm_type ( const svm_model model)
double svm_get_svr_probability ( const svm_model model)
static void svm_group_classes ( const svm_problem prob,
int nr_class_ret,
int **  label_ret,
int **  start_ret,
int **  count_ret,
int perm 
)
static
svm_model* svm_load_model ( const char *  model_file_name)
double svm_predict ( const svm_model model,
const svm_node x 
)
double svm_predict_probability ( const svm_model model,
const svm_node x,
double prob_estimates 
)
double svm_predict_values ( const svm_model model,
const svm_node x,
double dec_values 
)
int svm_save_model ( const char *  model_file_name,
const svm_model model 
)
void svm_set_print_string_function ( void(*)(const char *)  print_func)
static double svm_svr_probability ( const svm_problem prob,
const svm_parameter param 
)
static
svm_model* svm_train ( const svm_problem prob,
const svm_parameter param 
)
static decision_function svm_train_one ( const svm_problem prob,
const svm_parameter param,
double  Cp,
double  Cn 
)
static
template<class T >
static void swap ( T &  x,
T &  y 
)
inlinestatic

References test.T007_TracerIO::T, basic::options::OptionKeys::in::file::t, x(), and y().

Referenced by Cache::get_data(), utility::insert_middle(), utility::json_spirit::Value_impl< Config >::operator=(), tools.CppParser.GccXML::parse(), tools.CppParser::sortObjects(), svm_binary_svc_probability(), svm_cross_validation(), utility::keys::SmallKeyMap< K, T >::swap(), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::swap(), ObjexxFCL::Cstring::swap(), ObjexxFCL::Dimension::swap(), ObjexxFCL::CArray< typename >::swap(), utility::vectorL< L, bool, A >::swap(), ObjexxFCL::Chunk< T >::swap(), utility::keys::swap(), utility::vectorL< 1, std::string, A >::swap(), ObjexxFCL::IndexRange::swap(), ObjexxFCL::FArray1D< double >::swap(), ObjexxFCL::KeyFArray1D< typename >::swap(), ObjexxFCL::CArrayP< typename >::swap(), ObjexxFCL::FArray2D< double >::swap(), ObjexxFCL::KeyFArray2D< typename >::swap(), ObjexxFCL::FArray3D< typename >::swap(), ObjexxFCL::KeyFArray3D< typename >::swap(), ObjexxFCL::FArray4D< typename >::swap(), ObjexxFCL::KeyFArray4D< typename >::swap(), ObjexxFCL::FArray5D< typename >::swap(), ObjexxFCL::KeyFArray5D< typename >::swap(), ObjexxFCL::FArray6D< typename >::swap(), ObjexxFCL::swap(), ObjexxFCL::KeyFArray6D< typename >::swap(), ObjexxFCL::DynamicIndexRange::swap(), ObjexxFCL::ChunkVector< typename >::swap(), ObjexxFCL::FArray2< T >::swap2DB(), ObjexxFCL::FArray3< T >::swap3DB(), ObjexxFCL::FArray4< T >::swap4DB(), ObjexxFCL::FArray5< T >::swap5DB(), ObjexxFCL::FArray6< T >::swap6DB(), numeric::MathMatrix< Real >::swap_cols(), Cache::swap_index(), Kernel::swap_index(), Solver::swap_index(), SVC_Q::swap_index(), ONE_CLASS_Q::swap_index(), SVR_Q::swap_index(), ObjexxFCL::Dimension::swap_no_notify(), ObjexxFCL::DynamicIndexRange::swap_no_notify(), numeric::MathMatrix< Real >::swap_rows(), ObjexxFCL::FArray< T >::swapB(), and binder::vector_binder< T, Allocator >::vector_binder().

Variable Documentation

const char* kernel_type_table[]
static
Initial value:
=
{
"linear","polynomial","rbf","sigmoid","precomputed",NULL
}

Referenced by svm_load_model(), and svm_save_model().

int libsvm_version = LIBSVM_VERSION
char* line = NULL
static
int max_line_len
static
void(* svm_print_string)(const char *) = &print_string_stdout
static
const char* svm_type_table[]
static
Initial value:
=
{
"c_svc","nu_svc","one_class","epsilon_svr","nu_svr",NULL
}

Referenced by svm_load_model(), and svm_save_model().