
Last chance! 50% off unlimited learning
Sale ends in
The 1D algorithm (Cook and Zhang 2016) implemented with Riemannian manifold optimization from R package ManifoldOptim.
manifold1D(M, U, u, ...)
The
The
An integer between 0 and
Additional user-defined arguments:
maxiter
: The maximal number of iterations.
tol
: The tolerance used to assess convergence. See Huang et al. (2018) for details on how this is used.
method
: The name of optimization method supported by R package ManifoldOptim.
"LRBFGS"
: Limited-memory RBFGS
"LRTRSR1"
: Limited-memory RTRSR1
"RBFGS"
: Riemannian BFGS
"RBroydenFamily"
: Riemannian Broyden family
"RCG"
: Riemannian conjugate gradients
"RNewton"
: Riemannian line-search Newton
"RSD"
: Riemannian steepest descent
"RTRNewton"
: Riemannian trust-region Newton
"RTRSD"
: Riemannian trust-region steepest descent
"RTRSR1"
: Riemannian trust-region symmetric rank-one update
"RWRBFGS"
: Riemannian BFGS
check
: Logical value. Should internal manifold object check inputs and print summary message before optimization.
The default values are: maxiter = 500; tol = 1e-08; method = "RCG"; check = FALSE
.
Return the estimated orthogonal basis of the envelope subspace.
Estimate M
-envelope of span(U)
. The dimension of the envelope is u
.
Cook, R.D. and Zhang, X., 2016. Algorithms for envelope estimation. Journal of Computational and Graphical Statistics, 25(1), pp.284-300.
Huang, W., Absil, P.A., Gallivan, K.A. and Hand, P., 2018. ROPTLIB: an object-oriented C++ library for optimization on Riemannian manifolds. ACM Transactions on Mathematical Software (TOMS), 44(4), pp.1-21.
# NOT RUN {
## Simulate two matrices M and U with an envelope structure
data <- MenvU_sim(p = 20, u = 5, wishart = TRUE, n = 200)
M <- data$M
U <- data$U
G <- data$Gamma
Gamma_1D <- manifold1D(M, U, u = 5)
subspace(Gamma_1D, G)
# }
Run the code above in your browser using DataLab