Learn R Programming

TRES (version 1.1.5)

manifoldFG: Estimate the envelope subspace (ManifoldOptim FG)

Description

The FG algorithm (Cook and Zhang 2016) implemented with Riemannian manifold optimization from R package ManifoldOptim.

Usage

manifoldFG(M, U, u, Gamma_init = NULL, ...)

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. Ignored if Gamma_init is provided.

Gamma_init

Initial envelope subspace basis. The default value is the estimator from manifold1D(M, U, u).

...

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.

Value

Return the estimated orthogonal basis of the envelope subspace.

Details

Estimate M-envelope of span(U). The dimension of the envelope is u.

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.

Examples

Run this code
# 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_FG <- manifoldFG(M, U, u=5)
subspace(Gamma_FG, G)

# }

Run the code above in your browser using DataLab