![]() |
slope 6.5.4
|
Base class for screening rules in SLOPE. More...
#include <screening.h>

Public Member Functions | |
| virtual | ~ScreeningRule ()=default |
| Virtual destructor. | |
| virtual std::vector< int > | initialize (int feature_count, int alpha_max_ind)=0 |
| Initialize the screening rule at the start of the path algorithm. | |
| virtual void | screen (std::vector< int > &working_set, Eigen::VectorXd &gradient, const Eigen::ArrayXd &lambda_curr, const Eigen::ArrayXd &lambda_prev, const Eigen::VectorXd &beta)=0 |
| Screen for the next path step. | |
| virtual bool | checkKktViolations (Eigen::VectorXd &gradient, const Eigen::VectorXd &beta, const Eigen::ArrayXd &lambda_curr, std::vector< int > &working_set, const Eigen::MatrixXd &x, const Eigen::MatrixXd &residual, const Eigen::VectorXd &x_centers, const Eigen::VectorXd &x_scales, JitNormalization jit_normalization)=0 |
| Check for KKT violations and update working set if necessary. | |
| virtual bool | checkKktViolations (Eigen::VectorXd &gradient, const Eigen::VectorXd &beta, const Eigen::ArrayXd &lambda_curr, std::vector< int > &working_set, const Eigen::SparseMatrix< double > &x, const Eigen::MatrixXd &residual, const Eigen::VectorXd &x_centers, const Eigen::VectorXd &x_scales, JitNormalization jit_normalization)=0 |
| Check for KKT violations with sparse matrix input. | |
| virtual bool | checkKktViolations (Eigen::VectorXd &gradient, const Eigen::VectorXd &beta, const Eigen::ArrayXd &lambda_curr, std::vector< int > &working_set, const Eigen::Map< Eigen::MatrixXd > &x, const Eigen::MatrixXd &residual, const Eigen::VectorXd &x_centers, const Eigen::VectorXd &x_scales, JitNormalization jit_normalization)=0 |
| Check for KKT violations with sparse matrix input. | |
| virtual bool | checkKktViolations (Eigen::VectorXd &gradient, const Eigen::VectorXd &beta, const Eigen::ArrayXd &lambda_curr, std::vector< int > &working_set, const Eigen::Map< Eigen::SparseMatrix< double > > &x, const Eigen::MatrixXd &residual, const Eigen::VectorXd &x_centers, const Eigen::VectorXd &x_scales, JitNormalization jit_normalization)=0 |
| Check for KKT violations with sparse matrix input. | |
| virtual std::string | toString () const =0 |
| Get string representation of the screening rule. | |
Protected Attributes | |
| std::vector< int > | strong_set |
| Strong set of variables. | |
Base class for screening rules in SLOPE.
This abstract class defines the interface for screening rules to accelerate optimization by reducing the problem size.
Definition at line 47 of file screening.h.
|
pure virtual |
Check for KKT violations with sparse matrix input.
| gradient | The gradient vector |
| beta | Current beta coefficients |
| lambda_curr | Current lambda values |
| working_set | Current working set (will be updated if violations found) |
| x | Design matrix (sparse format) |
| residual | Current residuals |
| x_centers | Centers for normalization |
| x_scales | Scales for normalization |
| jit_normalization | Whether to use JIT normalization |
Implemented in slope::NoScreening, and slope::StrongScreening.
|
pure virtual |
Check for KKT violations with sparse matrix input.
| gradient | The gradient vector |
| beta | Current beta coefficients |
| lambda_curr | Current lambda values |
| working_set | Current working set (will be updated if violations found) |
| x | Design matrix (sparse format) |
| residual | Current residuals |
| x_centers | Centers for normalization |
| x_scales | Scales for normalization |
| jit_normalization | Whether to use JIT normalization |
Implemented in slope::NoScreening, and slope::StrongScreening.
|
pure virtual |
Check for KKT violations and update working set if necessary.
| gradient | The gradient vector |
| beta | Current beta coefficients |
| lambda_curr | Current lambda values |
| working_set | Current working set (will be updated if violations found) |
| x | Design matrix |
| residual | Current residuals |
| x_centers | Centers for normalization |
| x_scales | Scales for normalization |
| jit_normalization | Whether to use JIT normalization |
Implemented in slope::NoScreening, and slope::StrongScreening.
|
pure virtual |
Check for KKT violations with sparse matrix input.
| gradient | The gradient vector |
| beta | Current beta coefficients |
| lambda_curr | Current lambda values |
| working_set | Current working set (will be updated if violations found) |
| x | Design matrix (sparse format) |
| residual | Current residuals |
| x_centers | Centers for normalization |
| x_scales | Scales for normalization |
| jit_normalization | Whether to use JIT normalization |
Implemented in slope::NoScreening, and slope::StrongScreening.
|
pure virtual |
Initialize the screening rule at the start of the path algorithm.
| feature_count | The total number of coefficients |
| alpha_max_ind | The index of the feature with maximum absolute gradient |
Implemented in slope::NoScreening, and slope::StrongScreening.
|
pure virtual |
Screen for the next path step.
| gradient | The gradient vector |
| lambda_curr | Current lambda values |
| lambda_prev | Previous lambda values |
| beta | Current beta coefficients |
| working_set | Working set to update for the current path step |
Implemented in slope::NoScreening, and slope::StrongScreening.
|
pure virtual |
Get string representation of the screening rule.
Implemented in slope::NoScreening, and slope::StrongScreening.
|
protected |
Strong set of variables.
Definition at line 185 of file screening.h.