SLOPE_solver: Sorted L1 solver

View source: R/SLOPE_solver.R

SLOPE_solverR Documentation

Sorted L1 solver

Description

Solves the sorted L1 penalized regression problem: given a matrix A, a vector b, and a decreasing vector \lambda, find the vector x minimizing

\frac{1}{2}\Vert Ax - b \Vert_2^2 + \sum_{i=1}^p \lambda_i |x|_{(i)}.

This optimization problem is convex and is solved using an accelerated proximal gradient descent method.

Usage

SLOPE_solver(
  A,
  b,
  lambda,
  initial = NULL,
  prox = prox_sorted_L1,
  max_iter = 10000,
  grad_iter = 20,
  opt_iter = 1,
  tol_infeas = 1e-06,
  tol_rel_gap = 1e-06
)

Arguments

A

an n-by-p matrix

b

vector of length n

lambda

vector of length p, sorted in decreasing order

initial

initial guess for x

prox

function that computes the sorted L1 prox

max_iter

maximum number of iterations in the gradient descent

grad_iter

number of iterations between gradient updates

opt_iter

number of iterations between checks for optimality

tol_infeas

tolerance for infeasibility

tol_rel_gap

tolerance for relative gap between primal and dual problems

Details

This function has been adapted (with only cosmetic changes) from the R package SLOPE version 0.1.3, due to this function being deprecated and defunct in SLOPE versions which are newer than 0.1.3.

Value

An object of class SLOPE_solver.result. This object is a list containing at least the following components:

x

solution vector x

optimal

logical: whether the solution is optimal

iter

number of iterations


grpSLOPE documentation built on May 31, 2023, 5:27 p.m.