This function is used to specify the pg_settings argument in the moma_*pca, moma_*cca, and moma_*lda family of functions.

moma_pg_settings(..., EPS = 1e-10, MAX_ITER = 1000,
  EPS_inner = 1e-10, MAX_ITER_inner = 1e+05, solver = c("ista",
  "fista", "onestepista"))

Arguments

...

To force users to specify arguments by names.

EPS

Precision for outer loop.

MAX_ITER

The maximum number of iterations for outer loop.

EPS_inner

Precision for inner loop.

MAX_ITER_inner

The maximum number of iterations for inner loop.

solver

A string in c("ista", "fista", "onestepista"), representing ISTA (Iterative Shrinkage-Thresholding Algorithm), FISTA (Fast Iterative Shrinkage-Thresholding Algorithm) and One-step ISTA (an approximated version of ISTA) respectively.

Value

A moma_pg_settings object, which is a list containing the above parameters.

Details

To find an (approximate) solution to a penalized SVD (Singular Value Decomposition) problem is to solve two penalized regression problems iteratively (outer loop). Each penalized regression (inner loop) is solved using one of the three algorithms: ISTA (Iterative Shrinkage-Thresholding Algorithm), FISTA (Fast Iterative Shrinkage-Thresholding Algorithm) and One-step ISTA (an approximated version of ISTA).