################################################################
#
# Golden-section method - minima
#
#
###############################################################
#
# Function computes the next interval
#
golden_step=function(I)
# I - Current interval
{
a=I[1]
b=I[2]
beta=(1+sqrt(5))/2
w=a+(b-a)/(1+beta)
v=b-(b-a)/(1+beta)
fw=f(w)
fv=f(v)
if(fwfv) interval=c(w,b)
interval
# New interval
}
################################################################
#
# Full algorithm
#
Golden=function(a,b,epsilon)
{
I=c(a,b) # interval
while((I[2]-I[1])>epsilon)
{
I=golden_step(I)
}
mean(I)
}