File:Diffeomorphism of a square.svg

From formulasearchengine
Jump to navigation Jump to search

Original file(SVG file, nominally 560 × 560 pixels, file size: 39 KB)

This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.

Description Illustration of a diffeomorphism.
Date (UTC)
Source self-made with MATLAB
Author Oleg Alexandrov
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.

Source code (MATLAB)

% Compute a diffeomorphism from a square to a square which leave
% the boundary fixed.

function main()

   N = 20; % num of grid points
   epsilon = 0.1; % displacement for each small diffeomorphism
   num_comp = 10; % number of times the diffeomorphism is composed with itself
   
   S = linspace(-1, 1, N);

   [X, Y] = meshgrid(S);

   Z = X; W = Y;

   % take num_comp compositions of the same small diffeomorphism
   for iter = 1:num_comp

      for i=1:N
         for j=1:N
            
            [Z(i, j), W(i, j)] = small_diffeo(Z(i, j), W(i, j), epsilon);
            
         end
      end

   end
   
   % graphing settings
   lw = 2;
   mycolor = [1, 0, 0.1];
   small = 0.1;
   
   figure(1); clf; hold on;
   for i=1:N
      plot(X(:, i), Y(:, i), 'linewidth', lw, 'color', mycolor);
      plot(X(i, :), Y(i, :), 'linewidth', lw, 'color', mycolor);
   end
   axis([-1-small, 1+small, -1-small, 1+small]);
   axis equal; axis off;
   
   figure(2); clf; hold on;
   for i=1:N
      plot(Z(:, i), W(:, i), 'linewidth', lw, 'color', mycolor);
      plot(Z(i, :), W(i, :), 'linewidth', lw, 'color', mycolor);
   end
   axis([-1-small, 1+small, -1-small, 1+small]);
   axis equal; axis off;
   
function [z, w] = small_diffeo(x, y, epsilon);

   A1=epsilon*(cos(pi*x)+1)*(cos(pi*y)+1)/4.0;
   A2=epsilon*cos(pi*x/2)*cos(pi*y/2);

   A = (A1+A2)/2;
   
   z = x +(-y)*A;
   w = y +( x)*A;

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

18 January 2008

File history

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

Date/TimeThumbnailDimensionsUserComment
current12:03, 16 February 2009Thumbnail for version as of 12:03, 16 February 2009560 × 560 (39 KB)wikimediacommons>Erik del Toro Streb''stroke-linecap:round'' for better locking corners

There are no pages that use this file.