gen_solver | R Documentation |
C++
functionA general purpose optimization solver with orthogonality constraint. For details, please see the original MATLAB
code by Wen and Yin (2013). This is an internal function and should not be called directly.
gen_solver(
B,
f,
g,
env,
useg,
rho,
eta,
gamma,
tau,
epsilon,
btol,
ftol,
gtol,
maxitr,
verbose
)
B |
A matrix of the parameters |
f |
A function that calculates the objective function value. The first argument should be |
g |
A function that calculates the gradient. The first argument should be |
env |
Environment passed to the Rcpp function for evaluating |
useg |
If true, the gradient is calculated using |
rho |
(don't change) Parameter for control the linear approximation in line search |
eta |
(don't change) Factor for decreasing the step size in the backtracking line search |
gamma |
(don't change) Parameter for updating C by Zhang and Hager (2004) |
tau |
(don't change) Step size for updating |
epsilon |
(don't change) Parameter for approximating numerical gradient, if |
btol |
(don't change) The |
ftol |
(don't change) Functional value tolerance level |
gtol |
(don't change) Gradient tolerance level |
maxitr |
Maximum number of iterations |
verbose |
Should information be displayed |
Wen, Z., & Yin, W. (2013). A feasible method for optimization with orthogonality constraints. Mathematical Programming, 142(1), 397-434. DOI: \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s10107-012-0584-1")}
Zhang, H., & Hager, W. W. (2004). A nonmonotone line search technique and its application to unconstrained optimization. SIAM journal on Optimization, 14(4), 1043-1056. DOI: \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1137/S1052623403428208")}
# This function should be called internally. When having all objects pre-computed, one can call
# gen_solver(B, f, g, env, useg, rho, eta, gamma, tau, epsilon, btol, ftol, gtol, maxitr, verbose)
# to solve for the parameters B.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.