OptMFG {TRES}R Documentation

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 pp-by-pp positive definite matrix MM in the envelope objective function.

U

The pp-by-pp positive semi-definite matrix UU in the envelope objective function.

u

An integer between 0 and nn 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., Γ(k)Γ(k1)F/p||\Gamma^{(k)} - \Gamma^{(k-1)}||_F/\sqrt{p}

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

  • ftol: The convergence tolerance for objective function FF, e.g., F(k)F(k1)/(1+F(k1))|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.

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(Γ)F(\Gamma) and its gradient G(Γ)G(\Gamma) in curvilinear search algorithm are:

F(Γ)=logΓTMΓ+logΓT(M+U)1ΓF(\Gamma)=\log|\Gamma^T M \Gamma|+\log| \Gamma^T(M+U)^{-1}\Gamma|

G(Γ)=dF/dΓ=2MΓ(ΓTMΓ)1+2(M+U)1Γ(ΓT(M+U)1Γ)1G(\Gamma) = dF/d \Gamma = 2 M \Gamma (\Gamma^T M \Gamma)^{-1} + 2 (M + U)^{-1} \Gamma (\Gamma^T (M + U)^{-1} \Gamma)^{-1}

Value

Return the estimated orthogonal basis of the envelope subspace.

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

##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)

[Package TRES version 1.1.5 Index]