Skylark (Sketching Library)
0.1
|
#include <linearl2_regression_solver_Krylov.hpp>
Public Types | |
typedef utility::typer_t < MatrixType >::value_type | value_type |
typedef MatrixType | matrix_type |
typedef RhsType | rhs_type |
typedef SolType | sol_type |
typedef regression_problem_t < matrix_type, linear_tag, l2_tag, no_reg_tag > | problem_type |
Public Member Functions | |
regression_solver_t (const problem_type &problem, nla::iter_params_t iter_params=nla::iter_params_t()) | |
regression_solver_t (const problem_type &problem, const nla::precond_t< sol_type > &R, nla::iter_params_t iter_params=nla::iter_params_t()) | |
int | solve (const rhs_type &b, sol_type &x) |
Public Attributes | |
const int | m |
const int | n |
const matrix_type & | A |
const nla::precond_t< sol_type > & | R |
const nla::iter_params_t | iter_params |
l2 linear regression solver using Krylov method. We have not specialized this for any type of matrix because it accepts any matrix type and only works if the required base functions have been implemented.
Definition at line 19 of file linearl2_regression_solver_Krylov.hpp.
typedef MatrixType skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::matrix_type |
Definition at line 27 of file linearl2_regression_solver_Krylov.hpp.
typedef regression_problem_t<matrix_type, linear_tag, l2_tag, no_reg_tag> skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::problem_type |
Definition at line 32 of file linearl2_regression_solver_Krylov.hpp.
typedef RhsType skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::rhs_type |
Definition at line 28 of file linearl2_regression_solver_Krylov.hpp.
typedef SolType skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::sol_type |
Definition at line 29 of file linearl2_regression_solver_Krylov.hpp.
typedef utility::typer_t<MatrixType>::value_type skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::value_type |
Definition at line 25 of file linearl2_regression_solver_Krylov.hpp.
skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::regression_solver_t | ( | const problem_type & | problem, |
nla::iter_params_t | iter_params = nla::iter_params_t() |
||
) | [inline] |
Definition at line 44 of file linearl2_regression_solver_Krylov.hpp.
skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::regression_solver_t | ( | const problem_type & | problem, |
const nla::precond_t< sol_type > & | R, | ||
nla::iter_params_t | iter_params = nla::iter_params_t() |
||
) | [inline] |
Definition at line 50 of file linearl2_regression_solver_Krylov.hpp.
int skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::solve | ( | const rhs_type & | b, |
sol_type & | x | ||
) | [inline] |
Solve using the right iterative solver that is specified for us. The reason we are using tag-based dispatching to different solve implementations is because different iterative solvers might have different initialization requirements. This technique gives us an opportunity to handle each iterative algorithm in a different func.
Definition at line 59 of file linearl2_regression_solver_Krylov.hpp.
References skylark::base::Height(), m, n, and skylark::base::Width().
const matrix_type& skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::A |
Definition at line 40 of file linearl2_regression_solver_Krylov.hpp.
const nla::iter_params_t skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::iter_params |
Definition at line 42 of file linearl2_regression_solver_Krylov.hpp.
const int skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::m |
Definition at line 38 of file linearl2_regression_solver_Krylov.hpp.
const int skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::n |
Definition at line 39 of file linearl2_regression_solver_Krylov.hpp.
const nla::precond_t<sol_type>& skylark::algorithms::regression_solver_t< regression_problem_t< MatrixType, linear_tag, l2_tag, no_reg_tag >, RhsType, SolType, iterative_l2_solver_tag< KrylovMethod > >::R |
Definition at line 41 of file linearl2_regression_solver_Krylov.hpp.