Skylark (Sketching Library)  0.1
Public Types | Public Member Functions
skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag > Class Template Reference

#include <linearl2_regression_solver_Elemental.hpp>

List of all members.

Public Types

typedef ValueType value_type
typedef
base::computed_matrix_t
< elem::DistMatrix< ValueType,
VD, elem::STAR > > 
matrix_type
typedef elem::DistMatrix
< ValueType, VD, elem::STAR > 
rhs_type
typedef elem::DistMatrix
< ValueType, elem::STAR,
elem::STAR > 
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)
void solve (const rhs_type &B, sol_type &X) const

Detailed Description

template<typename ValueType, elem::Distribution VD>
class skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >

Regression solver for L2 linear regrssion on a dense distributed [VC/VR, STAR] that is not given explictly, but rather as a "computed matrix". This implementation uses an semi-normal equations based approach.

NOTE: this solver keeps a reference to the input matrix (needs to be kept in memory).

A regression solver accepts a right-hand side and output a solution the the regression problem.

The regression problem is fixed, so it is a parameter of the function constructing the regressoion.

Definition at line 436 of file linearl2_regression_solver_Elemental.hpp.


Member Typedef Documentation

template<typename ValueType , elem::Distribution VD>
typedef base::computed_matrix_t< elem::DistMatrix<ValueType, VD, elem::STAR> > skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >::matrix_type

Definition at line 449 of file linearl2_regression_solver_Elemental.hpp.

template<typename ValueType , elem::Distribution VD>
typedef regression_problem_t<matrix_type, linear_tag, l2_tag, no_reg_tag> skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >::problem_type

Definition at line 454 of file linearl2_regression_solver_Elemental.hpp.

template<typename ValueType , elem::Distribution VD>
typedef elem::DistMatrix<ValueType, VD, elem::STAR> skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >::rhs_type

Definition at line 450 of file linearl2_regression_solver_Elemental.hpp.

template<typename ValueType , elem::Distribution VD>
typedef elem::DistMatrix<ValueType, elem::STAR, elem::STAR> skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >::sol_type

Definition at line 451 of file linearl2_regression_solver_Elemental.hpp.

template<typename ValueType , elem::Distribution VD>
typedef ValueType skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >::value_type

Definition at line 446 of file linearl2_regression_solver_Elemental.hpp.


Constructor & Destructor Documentation

template<typename ValueType , elem::Distribution VD>
skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >::regression_solver_t ( const problem_type problem) [inline]

Prepares the solver to quickly solve given a right-hand side.

Parameters:
problemProblem to solve given right-hand side.

Definition at line 468 of file linearl2_regression_solver_Elemental.hpp.


Member Function Documentation

template<typename ValueType , elem::Distribution VD>
void skylark::algorithms::regression_solver_t< regression_problem_t< base::computed_matrix_t< elem::DistMatrix< ValueType, VD, elem::STAR > >, linear_tag, l2_tag, no_reg_tag >, elem::DistMatrix< ValueType, VD, elem::STAR >, elem::DistMatrix< ValueType, elem::STAR, elem::STAR >, sne_l2_solver_tag >::solve ( const rhs_type B,
sol_type X 
) const [inline]

Solves the regression problem given a multiple right-hand sides.

Parameters:
BRight-hand sides.
XOutput (overwritten).

Definition at line 482 of file linearl2_regression_solver_Elemental.hpp.

References skylark::base::Gemm().

Here is the call graph for this function:


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