Learn R Programming

rstiefel (version 1.0.1)

lineSearch: A curvilinear search on the Stiefel manifold (Wen and Yin 2013, Algo 1)

Description

A curvilinear search on the Stiefel manifold (Wen and Yin 2013, Algo 1)

Usage

lineSearch(F, dF, X, rho1, rho2, tauStart, maxIters = 20)

Arguments

F

A function V(n, p) -> R^1

dF

A function V(n, p) -> R^1

X

an n x p semi-orthogonal matrix (starting point)

rho1

Parameter for Armijo condition. Between 0 and 1 and usually small, e.g < 0.1

rho2

Parameter for Wolfe condition Between 0 and 1 usually large, > 0.9

tauStart

Initial step size

maxIters

Maximum number of iterations

Value

A list containing: Y, the semi-orthogonal matrix satisfying the Armijo-Wolfe conditions and tau: the stepsize satisfying these conditions

References

(Wen and Yin, 2013)

Examples

Run this code
# NOT RUN {
N <- 10
P <- 2
M <- diag(10:1)
F <- function(V) { - sum(diag(t(V) %*% M %*% V)) }
dF <- function(V) { - 2*M %*% V }
X <- rustiefel(N, P)
res <- lineSearch(F, dF, X, rho1=0.1, rho2=0.9, tauStart=1)

# }

Run the code above in your browser using DataLab