File:Biholomorphism illustration.svg

From Wikimedia Commons, the free media repository

Jump to: navigation, search

Biholomorphism_illustration.svg(SVG file, nominally 4,709 × 8,557 pixels, file size: 43 KB)

Description

Illustration of a biholomorphism.

Date

06:40, 31 January 2008 (UTC)

Source

self-made with MATLAB, tweaked in Inkscape.

Author

Oleg Alexandrov

Permission
(Reusing this image)

See below


Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.


Afrikaans | Alemannisch | Aragonés | العربية | Asturianu | Azərbaycan | Беларуская (тарашкевіца) | Български | Català | Cebuano | Soranî / کوردی | Česky | Cymraeg | Dansk | Deutsch | Ελληνικά | English | Esperanto | Español | Eesti | Euskara | Estremeñu | فارسی | Suomi | Français | Galego | עברית | हिन्दी | Hrvatski | Magyar | Հայերեն | Bahasa Indonesia | Ido | Íslenska | Italiano | 日本語 | ქართული | ភាសាខ្មែរ | 한국어 | Ripoarisch | Kurdî / كوردی | Latina | Lietuvių | Latviešu | 文言 | Македонски | Bahasa Melayu | Plattdüütsch | Nederlands | ‪Norsk (nynorsk)‬ | ‪Norsk (bokmål)‬ | Polski | Português | Română | Русский | Slovenčina | Slovenščina | Shqip | Српски / Srpski | Svenska | ไทย | Tagalog | Türkçe | Українська | Vèneto | Tiếng Việt | Walon | 吴语 | 中文 | ‪中文(简体)‬ | ‪中文(繁體)‬ | 粵語 | +/−

[edit] Source code (MATLAB)

% Illustration of a biholomorphim, in this case w=exp(z)
 
function main()
 
   N = 11; % num of grid points
   epsilon = 0.1; % displacement for each small diffeomorphism
   num_comp = 10; % number of times the diffeomorphism is composed with itself
 
   Sx = linspace(-1, 1, N);
   Sy = linspace(0, pi/2, N);
 
   [X, Y] = meshgrid(Sx, Sy);
 
   % graphing settings
   lw = 3.5;
 
   % KSmrq's colors
   blue   = [0, 129, 205]/256;
   green  = [0, 200,  70]/256;
   yellow = [254, 194,   0]/256;
   white = 0.99*[1, 1, 1];
 
   mycolor = blue;
 
   % start plotting
   figno=1; figure(figno); clf;
 
   mode = 1;
   do_plot(X, Y, lw, figno, mycolor, mode)
   saveas(gcf, 'Biholom1.eps', 'psc2');
   plot2svg('Biholom1.svg');
 
   I=sqrt(-1);
   Z = X+I*Y;
 
   F=exp(Z);
 
   XF = real(F); YF=imag(F);
 
   figno = 2;
   mode = 2;
   do_plot(XF, YF, lw, figno, mycolor, mode)
 
   saveas(gcf, 'Biholom2.eps', 'psc2');
   plot2svg('Biholom2.svg');
 
 
function do_plot(X, Y, lw, figno, mycolor, mode)
   figure(figno); clf; hold on;
   axis equal; axis off;
 
   minX = min(min(X)); maxX = max(max(X));
   minY = min(min(Y)); maxY = max(max(Y));
 
   small = 0.2;
   if mode == 1
 
   else
      small = 0.5*exp(1)*small;
   end
   A=minX-small/2; B=maxX+small;
   C=minY-small/2; D=maxY+small;
%   plot([A B], [0, 0], 'linewidth', lw, 'color', black);
%   plot([0, 0], [C, D], 'linewidth', lw, 'color', black);
 
   [M, N] = size(X);
 
   for i=1:N
      plot(X(:, i), Y(:, i), 'linewidth', lw, 'color', mycolor);
      plot(X(i, :), Y(i, :), 'linewidth', lw, 'color', mycolor);
   end
 
   red    = [0.867 0.06 0.14];
   gray = 0.2*[1, 1, 1];
 
   arrow_size = 0.07*max(maxX, maxY);
   sharpness = 20;
   arrow_type = 1; 
   tiny = 0.01;
   scale_lw = 0.8;
 
   arrow([A, 0], [B, 0], scale_lw*lw, arrow_size, sharpness, arrow_type, gray);
   arrow([0, C], [0, D], scale_lw*lw, arrow_size, sharpness, arrow_type, gray);
 
 
   fs = 10*max(maxX, maxY);
   myrad = 0.009*max(maxX, maxY);
 
 
   % in the two pictures, the text to be displayed is different
   if mode == 1
 
      smallx = -0.03*max(B, D);
      smally = -0.12*max(B, D);
 
      text (minX+smallx, smally, sprintf('%d', minX), 'fontsize', fs, 'color', gray);
      text (maxX+smallx, smally, sprintf('%d', maxX), 'fontsize', fs, 'color', gray);
 
%      ball(minX, 0, myrad, mycolor);
%      ball(maxX, 0, myrad, mycolor);
%      ball(0, maxY, myrad, mycolor);
 
   else
      smallx = -0.01*max(B, D);
      smally = -0.12*max(B, D);
 
      text (minX+smallx, smally, 'e^{-1}', 'fontsize', fs, 'color', gray);
      text (maxX+smallx, smally, 'e', 'fontsize', fs, 'color', gray);
 
%      ball(exp(-1), 0, myrad, mycolor); ball(exp(1), 0, myrad, mycolor);
%      ball(0, exp(-1), myrad, mycolor); ball(0, exp(1), myrad, mycolor);
 
   end
 
function ball(x, y, radius, color) % draw a ball of given uniform color 
   Theta=0:0.1:2*pi;
   X=radius*cos(Theta)+x;
   Y=radius*sin(Theta)+y;
   H=fill(X, Y, color);
   set(H, 'EdgeColor', color);
 
 
function arrow(start, stop, thickness, arrow_size, sharpness, arrow_type, color)
 
% Function arguments:
% start, stop:  start and end coordinates of arrow, vectors of size 2
% thickness:    thickness of arrow stick
% arrow_size:   the size of the two sides of the angle in this picture ->
% sharpness:    angle between the arrow stick and arrow side, in degrees
% arrow_type:   1 for filled arrow, otherwise the arrow will be just two segments
% color:        arrow color, a vector of length three with values in [0, 1]
 
% convert to complex numbers
   i=sqrt(-1);
   start=start(1)+i*start(2); stop=stop(1)+i*stop(2);
   rotate_angle=exp(i*pi*sharpness/180);
 
% points making up the arrow tip (besides the "stop" point)
   point1 = stop - (arrow_size*rotate_angle)*(stop-start)/abs(stop-start);
   point2 = stop - (arrow_size/rotate_angle)*(stop-start)/abs(stop-start);
 
   if arrow_type==1 % filled arrow
 
      % plot the stick, but not till the end, looks bad
      t=0.5*arrow_size*cos(pi*sharpness/180)/abs(stop-start); stop1=t*start+(1-t)*stop;
      plot(real([start, stop1]), imag([start, stop1]), 'LineWidth', thickness, 'Color', color);
 
      % fill the arrow
      H=fill(real([stop, point1, point2]), imag([stop, point1, point2]), color);
      set(H, 'EdgeColor', 'none')
 
   else % two-segment arrow
      plot(real([start, stop]), imag([start, stop]),   'LineWidth', thickness, 'Color', color); 
      plot(real([stop, point1]), imag([stop, point1]), 'LineWidth', thickness, 'Color', color);
      plot(real([stop, point2]), imag([stop, point2]), 'LineWidth', thickness, 'Color', color);
   end

File history

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

Date/TimeThumbnailDimensionsUserComment
current07:02, 31 January 2008Thumbnail for version as of 07:02, 31 January 20084,709×8,557 (43 KB)Oleg Alexandrov (talk | contribs) (Still tweaking text position)
06:49, 31 January 2008Thumbnail for version as of 06:49, 31 January 20084,709×8,557 (42 KB)Oleg Alexandrov (talk | contribs)
06:49, 31 January 2008Thumbnail for version as of 06:49, 31 January 20084,709×8,557 (42 KB)Oleg Alexandrov (talk | contribs)
06:47, 31 January 2008Thumbnail for version as of 06:47, 31 January 20084,709×8,557 (42 KB)Oleg Alexandrov (talk | contribs)
06:45, 31 January 2008Thumbnail for version as of 06:45, 31 January 20084,709×8,557 (42 KB)Oleg Alexandrov (talk | contribs)
06:40, 31 January 2008Thumbnail for version as of 06:40, 31 January 20084,617×8,557 (41 KB)Oleg Alexandrov (talk | contribs) ({{Information |Description=Illustration of a biholomorphism. |Source=self-made with MATLAB, tweaked in Inkscape. |Date=~~~~~ |Author= Oleg Alexandrov |Permission=See below |other_versions= }} {{PD-self}} =)

There are no pages that link to this file.

Global file usage

The following other wikis use this file: