162
Section
4:
Using Matrix Operations
Essentially,
a is an
expansion factor
that
is
normally greater
than
1,
producing
an
increasing sequence
of
values
of t.
e
Determines
the
acceptable tolerance
on the
size
of the
gradient.
The
iterative process stops when
N
Determines
the
maximum number
of
iterations
that
the
program
will
attempt
in
each
of two
procedures:
the
bounding
search
and the
overall optimization procedure.
That
is, the
program
halts
if the
bounding search finds
no
change
of
sign
within
N
iterations. Also,
the
program
halts
if the
norm
of the
gradient
is
still
too
large
at
x^r.
Each
of
these situations results
in an
Error
1
display. (They
can be
distinguished
by
pressing
[+].)
You can
continue running
the
program
if you
desire.
The
program requires
that
you
enter
a
subroutine
that
evaluates
/(x)
and
V/(x).
This subroutine must
be
labeled "E",
use the
vector
x
stored
in
matrix
A,
return
the
gradient
in
matrix
E, and
place
/(x)
in the
X-register.
In
addition,
the
program requires
an
initial
estimate
x0
of the
desired critical point. This vector must
be
stored
in
matrix
A.
The
program
has the
following
characteristics:
• The
program searches
for any
point
x
where
V/(x)
= 0.
Nothing prevents convergence
to a
saddle-point,
for
example.
In
general,
you
must
use
other means
to
determine
the
nature
of
the
critical point
that
is
found.
(Also,
this
program does
not
address
the
problem
of
locating
a
maximum
or
minimum
on
the
boundary
of the
domain
of/(x).)
•
You
may
adjust
the
convergence parameters after
starting
the
program.
In
many cases,
this
dramatically reduces
the
time
necessary
for
convergence. Here
are
some
helpful
hints:
• If the
program consistently enters
the
interval reduction
phase after sampling only
one
point
w1;
the
initial
step size
may be too
large.
Try
reducing
the
magnitude
of d to
produce
a
more
efficient
search.
• If the
results
of the
bounding search
look
promising (that
is,
the
slopes
are
decreasing
in
magnitude),
but
then begin
to
increase
in
magnitude,
the
search
may
have skipped
past
a
critical point.
Try
reducing
a to
produce more close
sampling;
you may
have
to
increase
./V
also.