>>
<<
Ndx
Usr
Pri
Phr
Dic
Rel
Voc
!:
wd
Help
Dictionary
23. Iteration
The repetition of a process, or of a sequence of similar processes,
is called iteration. Much iteration is implicit,
as in */b and a*/b,
and a*b ; explicit iteration is provided
by the power conjunction (^:),
by agenda (@.) with self-reference,
and by control structures:
(cos=: 2&o.) ^: (i.6) b=: 1
1 0.540302 0.857553 0.65429 0.79348 0.701369
]y=: cos^:_ b
0.739085
y=cos y
1
The example cos^:_ illustrates the fact that
infinite iteration is meaningful (that is, terminates)
if the process being applied converges.
Controlled iteration of a process p
is provided by p^:q , where the result
of q determines the number of applications
of p performed. The forms $:@p^:q
and p^:q^:_ are commonly useful.
If f is a continuous function, and if f i
and f j differ in sign, then there must be a
root r between i and j
such that f r is zero;
the list b=:i,j is said to bracket a root.
A narrower bracket is provided by the mean of b together
with that element of b whose result on applying f
differs in sign from its result. Thus:
f=: %: - 4: A sample function
root=: 3 : 0
m=. +/ % #
while. ~:/y.
do.
if. ~:/ * f ({.,m) y.
do. y.=. ({.,m) y.
else. y.=. ({:,m) y.
end.
end. m y.
)
b=: 1 32
root b
16
f b,root b
_3 1.65685 1.77636e_15
Exercises
23.1 |
Use the function root to find the roots of
various functions, such as f=: 6&-@!
|
23.2 |
Experiment with the function fn=: +/\
(which produces the figurate numbers when applied repeatedly
to i.n), and explain the behaviour of the
function fn^:(?@3:)
|
>>
<<
Ndx
Usr
Pri
Phr
Dic
Rel
Voc
!:
wd
Help
Dictionary