Control MLE Factor Analysis Algorithm

DESCRIPTION:
Produces a list of control variables for the algorithm used by factanal.fit.mle.

USAGE:
factanal.mle.control(control=NULL, lower=2e-05, iter.max=20,
         unique.tol=0.0001, max.step=20, switch.step=4,
         tol=.Machine$double.eps^0.5, diag.add=0.1, objective.tol=1e-10)

OPTIONAL ARGUMENTS:
control:
a list of the same form as the output. If this is an acceptable list, this will be the output; otherwise, it is ignored.
lower:
positive number giving the lower bound for the square root of the uniquenesses. It is probably a bad idea to make this much smaller than the default.
iter.max:
the maximum number of iterations to perform.
unique.tol:
a positive number giving the tolerance for the change in uniquenesses. If no uniqueness changes by more than unique.tol from one iteration to the next, then convergence is declared.
max.step:
the maximum number of times to cut the Newton-Raphson step in half in order to search for a better solution.
switch.step:
the first iteration on which the algorithm will be forced to try using the exact Hessian.
tol:
positive number giving the tolerance for the LAPACK eigen value routines.
diag.add:
a positive number used in the rare circumstance that both the approximate and exact Hessians are not positive definite. This number is added to each element of the diagonal of the approximate Hessian.
objective.tol:
positive number giving the tolerance for the relative change in the objective. If the relative change is less than this from one iteration to the next, then covergence is declared.

VALUE:
a list with the following components:
lower:
the input or default value of lower.
real.control:
a vector of length 4 which is the real-valued parameters. These are, in order, tol, diag.add, objective.tol and unique.tol.
integer.control:
length 3 vector of the integer-valued parameters. The order of these is iter.max, max.step and switch.step.

DETAILS:
An approximate Hessian is used in the beginning because the exact Hessian may not be positive definite. The exact Hessian is more expensive to compute, however, it does much better at finding a good direction near the optimum. The switch.step argument allows the user to adjust when the algorithm will try using the exact Hessian.

SEE ALSO:
factanal.fit.mle , factanal .