This section serves as a sample guide on the manipulation of objective functions of matrices with orthonormal columns. We have found a few common tricks worth emphasizing.
Once one has a formula for the objective function , we define
the formula for
implicitly by
,
where
(or any curve
for which
).
The reader may recall that
, so it functions just like the real
inner product for vectors,
and the implicit definition of
is
actually the directional derivative interpretation of the
gradient of
as an unconstrained function in a Euclidean space.
For most of the functions we have used in our examples, the easiest
way to obtain the formula for is to actually use the implicit
definition.
For example, if
one then has
The process we recommend is:
As a check, we recommend using the finite difference dF.m
code
supplied in the subdirectory finitediff
to check derivations
before proceeding.
The software needs a function called ddF.m
, which returns
for
. The sort of second
derivative information required by the software is easier to derive
than the first. If one has an analytic expression for
, then
one need only differentiate.
If, for some reason, the computation for ddF.m
costs much more than two evaluations of with
dF.m
, the
reader may just consider employing the finite difference function for
ddF.m
found in finitediff
(or simply use ddF.m
as a check).
It is, however, strongly suggested that one use an analytic expression
for computing , as the finite difference code for it requires a
large number of function evaluations (
).