Maple Code for Steepest Descent
- 1. Maple Code for Steepest Descent
func:= (x,y) -> x^2 – y;
initx := 1;
inity := 1;
funcx := diff(func(x,y),x);
funcy := diff(func(x,y),y);
a1 := initx;
b1 := inity;
for I from 1 to 20 do
a := a1;
b:= b1;
currentval := evalf(func(a,b));
print(`current a ` = a, `current b` = b, `current val` = currentval);
fxpoint := evalf(subs({x = a, y = b}, funcx);
fypoint := evalf(subs({x = a, y = b},funcy);
print(`current gradient` = [fxpoint,fypoint]);
pathdiff := diff(func(a+fxpoint*t, b+ fypoint*t),t);
tmin := fsolve(pathdiff, t=0);
a1 := a + tmin*fxpoint;
b1 := b + tmin* fypoint;
func(a1,b1);
od: