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]