% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/RcppExports.R
\name{optStiefel}
\alias{optStiefel}
\title{Stiefel Optimization.}
\arguments{
\item{X}{data points}

\item{Y}{response}

\item{k}{assumed \eqn{rank(B)}}

\item{nObs}{parameter for bandwidth estimation, typical value
\code{nObs = nrow(X)^lambda} with \code{lambda} in the range [0.3, 0.8].}

\item{tau}{Initial step size}

\item{tol}{Tolerance for update error used for stopping criterion
\eqn{|| V(j) V(j)' - V(j+1) V(j+1)' ||_2 < tol}{%
     \| V_j V_j' - V_{j+1} V_{j+1}' \|_2 < tol}.}

\item{maxIter}{Upper bound of optimization iterations}
}
\value{
List containing the bandwidth \code{h}, optimization objective \code{V}
    and the matrix \code{B} estimated for the model as a orthogonal basis of the
    orthogonal space spaned by \code{V}.
}
\description{
Stiefel Optimization for \code{V} given a dataset \code{X} and responces
\code{Y} for the model \deqn{Y\sim g(B'X) + \epsilon}{Y ~ g(B'X) + epsilon}
to compute the matrix `B` such that \eqn{span{B} = span(V)^{\bot}}{%
span(B) = orth(span(B))}.
}
\keyword{internal}
