File:Amoeba3.svg
From testwiki
Jump to navigation
Jump to search
Size of this PNG preview of this SVG file: 755 × 600 pixels. Other resolutions: 302 × 240 pixels | 605 × 480 pixels | 967 × 768 pixels | 1,280 × 1,017 pixels | 2,560 × 2,033 pixels | 1,584 × 1,258 pixels.
Original file (SVG file, nominally 1,584 × 1,258 pixels, file size: 2 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.
Summary
| DescriptionAmoeba3.svg |
English: The amoeba of |
||
| Date | |||
| Source |
Own work based on: Amoeba3.png: |
||
| Author |
Original: Vector: |
||
| SVG development InfoField |
|
Licensing
Zerodamage, the copyright holder of this work, hereby publishes it under the following license:
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Attribution:
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
Source code
% find the amoeba of a polynomial, see
% http://en.wikipedia.org/wiki/Amoeba_%28mathematics%29
% consider a polynomial in z and w
%f[z_, w_] = 1 + z + z^2 + z^3 + z^2*w^3 + 10*z*w + 12*z^2*w + 10*z^2*w^2
% as a polynomial in w with coeffs polynonials in z, its coeffs are
% [z^2, 10*z^2, 12*z^2+10*z, 1 + z + z^2 + z^3] (from largest to smallest)
% as a polynomial in z with coeffs polynonials in w, its coeffs are
% [1, 1+w^3+12*w+10*w^2, 1+10*w, 1] (from largest to smallest)
function main()
figure(3); clf; hold on;
axis([-10, 10, -6, 7]); axis equal; axis off;
fs = 20; set(gca, 'fontsize', fs);
ii=sqrt(-1);
tiny = 100*eps;
Ntheta = 300;
NR= 400; NRs=100; % NRs << NR
% LogR is a vector of numbers, not uniformly distributed (more points where needed).
A=-10; B=10; AA = -0.1; BB = 0.1;
LogR = [linspace(A, B, NR-NRs), linspace(AA, BB, NRs)]; LogR = sort (LogR);
R = exp(LogR);
% a vector of angles
Theta = linspace(0, 2*pi, Ntheta);
Rho = zeros(1, 3*Ntheta); % will store the absolute values of the roots
One = ones (1, 3*Ntheta);
% draw the 2D figure as union of horizontal pieces and then union of vertical pieces
for type=1:2
for count_r = 1:NR
count_r
r = R(count_r);
for count_t =1:Ntheta
theta = Theta (count_t);
if type == 1
z=r*exp(ii*theta);
Coeffs = [z^2, 10*z^2, 12*z^2+10*z, 1 + z + z^2 + z^3];
else
w=r*exp(ii*theta);
Coeffs = [1, 1+w^3+12*w+10*w^2, 1+10*w, 1];
end
% find the roots of the polynomial with given coefficients
Roots = roots(Coeffs);
% log |root|. Use max() to avoid log 0.
Rho((3*count_t-2):(3*count_t))= log (max(abs(Roots), tiny));
end
% plot the roots horizontally or vertically
if type == 1
plot(LogR(count_r)*One, Rho, 'b.');
else
plot(Rho, LogR(count_r)*One, 'b.');
end
end
end
saveas(gcf, 'amoeba3.eps', 'psc2');
% A function I decided not to use, but which may be helpful in the future.
%function find_gaps_add_to_curves(count_r, Rho)
%
% global Curves;
%
% Rho = sort (Rho);
% k = length (Rho);
%
% av_gap = sum(Rho(2:k) - Rho (1:(k-1)))/(k-1);
%
% % top-most and bottom-most curve
% Curves(1, count_r)=Rho(1); Curves(2, count_r)=Rho(k);
%
% % find the gaps, which will give us points on the curves limiting the amoeba
% count = 3;
% for j=1:(k-1)
% if Rho(j+1) - Rho (j) > 200*av_gap
%
% Curves(count, count_r) = Rho(j); count = count+1;
% Curves(count, count_r) = Rho(j+1); count = count+1;
% end
% end
% The polynomial in wiki notation
%<math>P(z_1, z_2)=1 + z_1\,</math>
%<math>+ z_1^2 + z_1^3 + z_1^2z_2^3\,</math>
%<math>+ 10z_1z_2 + 12z_1^2z_2\,</math>
%<math>+ 10z_1^2z_2^2.\,</math>
Original upload log
This image is a derivative work of the following images:
- Amoeba3.png licensed with PD-self
- 2007-03-02T15:45:04Z Oleg Alexandrov 1267x1006 (12078 Bytes) Made by myself with Matlab.
- 2007-03-02T15:39:58Z Oleg Alexandrov 1267x1006 (12205 Bytes) Made by myself with Matlab.
- 2007-03-02T11:10:55Z Oleg Alexandrov 122x100 (1293 Bytes) Made by myself with Matlab.
- 2007-03-02T11:08:58Z Oleg Alexandrov 1208x1006 (27215 Bytes) Made by myself with Matlab.
- 2007-03-02T11:04:24Z Oleg Alexandrov 1267x833 (15788 Bytes) Made by myself with Matlab.
- 2007-03-02T11:04:05Z Oleg Alexandrov 1267x833 (15788 Bytes) Made by myself with Matlab.
- 2007-03-02T11:01:12Z Oleg Alexandrov 1356x914 (21608 Bytes) Made by myself with Matlab.
- 2007-03-02T10:59:51Z Oleg Alexandrov 1378x972 (18538 Bytes) Made by myself with Matlab.
- 2007-03-02T10:48:46Z Oleg Alexandrov 1378x972 (18538 Bytes) Made by myself with Matlab.
Uploaded with derivativeFX
Captions
Add a one-line explanation of what this file represents
Items portrayed in this file
depicts
8 August 2012
image/svg+xml
664f58e7f87f6929da77154dce1a3465f7390cd0
2,109 byte
1,258 pixel
1,584 pixel
File history
Click on a date/time to view the file as it appeared at that time.
| Date/Time | Thumbnail | Dimensions | User | Comment | |
|---|---|---|---|---|---|
| current | 15:49, 8 August 2012 | 1,584 × 1,258 (2 KB) | wikimediacommons>Zerodamage | == {{int:filedesc}} == {{Information |Description=== |Source={{Derived from|Amoeba3.png|display=50}} |Date=2012-08-08 14:48 (UTC) |Author=*File:Amoeba3.png: Oleg Alexandrov *derivative work: [[User:{{subst:REVISIONUSER}}|... |
File usage
The following page uses this file:
Retrieved from "https://en.wiki.beta.math.wmflabs.org/wiki/File:Amoeba3.svg"