File:Gradient ascent (contour).png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(730 × 726 pixels, file size: 38 KB, MIME type: image/png)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description
English: The 'gradient ascent' method applied to a 2D function. This image shows the contour-line point of view. See also: image:gradient ascent (surface).png.
Source Created with Maple 10, using the code below:
Author user:Joris Gillis
Other versions
This math image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it and afterwards replace this template with {{vector version available|new image name}}.


It is recommended to name the SVG file “Gradient ascent (contour).svg”—then the template Vector version available (or Vva) does not need the new image name parameter.
> restart:with(VectorCalculus):with(plots):with(plottools):
> z:=(x,y)->sin(1/2*x^2-1/4*y^2+3)*cos(2*x+1-exp(y)):
> grad:=VectorCalculus[Gradient](z(x,y),[x,y]);
> plot3d(z(x,y),x=-1.2..1.2,y=-1.2..1.2,axes=normal,numpoints=1000);p3d:=%:
> contourplot(z(x,y),x=-1.2..1.2,y=-1.2..1.2,axes=normal,contours=30,numpoints=3000);cont:=%:
> start:=[-1/4,1/3];ptf[0]:=Vector(start):
> steps:=15;
> for i from 0 to steps do:
  print(ptf[i]):
  pt[i]:=Vector([convert(ptf[i],list)[],z(ptf[i][1],ptf[i][2])]):
  dir[i]:=evalf(Normalize(evalVF(grad,ptf[i])));
  par[i]:=ptf[i]+lambda*dir[i];
  lambd[i]:=fsolve(diff(z(par[i][1],par[i][2]),lambda)=0,lambda=0);
  ptf[i+1]:=eval(par[i],lambda=lambd[i]);
  od:i:='i':
> display(cont,'point(convert(ptf[i],list),color=blue)'$'i'=0..steps,'plot([par[i][1],par[i][2],lambda=0..lambd[i]])'$'i'=0..steps);
> display(p3d,'point(convert(pt[i],list),color=blue,symbol=circle,symbolsize=4)'$'i'=0..steps,'spacecurve([par[i][1],par[i][2],z(par[i][1],par[i][2])],lambda=0

Made a screenshot, cropped with paint shop pro 4.12, saved with Irfanview.


This graph image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it and afterwards replace this template with {{vector version available|new image name}}.


It is recommended to name the SVG file “Gradient ascent (contour).svg”—then the template Vector version available (or Vva) does not need the new image name parameter.

Licensing

[edit]
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current20:57, 18 January 2006Thumbnail for version as of 20:57, 18 January 2006730 × 726 (38 KB)Joris Gillis~commonswiki (talk | contribs)The 'gradient ascent' method applied to a 2D function. This image shows the contour-line point of view. See also: image:gradient ascent (surface).png. Created with Maple 10, using the following code: <code><pre> > restart:with(VectorCalculus):with(

File usage on other wikis

The following other wikis use this file: