manifold1D: Estimate the envelope subspace ('ManifoldOptim' 1D)

Description Usage Arguments Details Value References See Also Examples

View source: R/manifold1D.R

Description

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

Usage

1
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

1
2
3
4
5
6
7
## 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)

TRES documentation built on Oct. 20, 2021, 9:06 a.m.