Learn R Programming

TRES (version 1.1.5)

OptMFG: Estimate the envelope subspace (OptM FG)

Description

The FG algorithm to estimate the envelope subspace based on the curvilinear search algorithm for optimization on Stiefel manifold. The curvilinear algorithm is developed by Wen and Yin (2013) and the Matlab version is implemented in the Matlab package OptM.

Usage

OptMFG(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 OptM1D(M, U, u).

...

Additional user-defined arguments for the curvilinear search algorithm:

  • maxiter: The maximal number of iterations.

  • xtol: The convergence tolerance for \(\Gamma\), e.g., \(||\Gamma^{(k)} - \Gamma^{(k-1)}||_F/\sqrt{p}\)

  • gtol: The convergence tolerance for the projected gradient, e.g., \(||G^{(k)} - \Gamma^{(k)} (G^{(t)})^T \Gamma^{(t)}||_F\)

  • ftol: The convergence tolerance for objective function \(F\), e.g., \(|F^{(k)} - F^{(k-1)}|/(1+|F^{(k-1)}|)\). Usually, max{xtol, gtol} > ftol

The default values are: maxiter=500; xtol=1e-08; gtol=1e-08; ftol=1e-12.

Value

Return the estimated orthogonal basis of the envelope subspace.

Details

If Gamma_init is provided, then the envelope dimension u = ncol(Gamma_init).

The function OptMFG calls the function OptStiefelGBB internally which implements the curvilinear search algorithm.

The objective function \(F(\Gamma)\) and its gradient \(G(\Gamma)\) in curvilinear search algorithm are: $$F(\Gamma)=\log|\Gamma^T M \Gamma|+\log| \Gamma^T(M+U)^{-1}\Gamma|$$ $$G(\Gamma) = dF/d \Gamma = 2 M \Gamma (\Gamma^T M \Gamma)^{-1} + 2 (M + U)^{-1} \Gamma (\Gamma^T (M + U)^{-1} \Gamma)^{-1}$$

References

Wen, Z. and Yin, W., 2013. A feasible method for optimization with orthogonality constraints. Mathematical Programming, 142(1-2), pp.397-434.

See Also

OptStiefelGBB

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 <- OptMFG(M, U, u=5)
subspace(Gamma_FG, G)
# }

Run the code above in your browser using DataLab