manifold1D {TRES} | R Documentation |
Estimate the envelope subspace (ManifoldOptim 1D)
Description
The 1D algorithm (Cook and Zhang 2016) implemented with Riemannian manifold optimization from R package ManifoldOptim.
Usage
manifold1D(M, U, u, ...)
Arguments
M |
The p -by-p positive definite matrix M in the envelope objective function.
|
U |
The p -by-p positive semi-definite matrix U in the envelope objective function.
|
u |
An integer between 0 and n representing the envelope dimension.
|
... |
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 .
|
Details
Estimate M
-envelope of span(U)
. The dimension of the envelope is u
.
Value
Return the estimated orthogonal basis of the envelope subspace.
References
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.
See Also
MenvU_sim, subspace
Examples
## 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)
[Package
TRES version 1.1.5
Index]