File:Ack4a600.jpg: Difference between revisions
imported>Dmitrii Kouznetsov ({{Image_Details|user |description = Complex map of tetration to base <math>b=1.5</math> <math>u+\mathrm i v= \mathrm{tet}_b(x\!+\!\mathrm i y)</math> |author = ~~~ |date-created = August 2014 |pub-country = Japan |notes = I plan to use this image in the article D.Kouznetsov. Holomorphic ackermann. 2015, in preparation. |versions = http://mizugadro.mydns.jp/t/index.php/File:Ack3a600.jpg The real-real plot of this function is one of curves at http://en.citizendium...) |
imported>Dmitrii Kouznetsov (C++ generator of map) |
||
Line 12: | Line 12: | ||
== Licensing == | == Licensing == | ||
{{CC|by|3.0}} | {{CC|by|3.0}} | ||
==[[C++]] generator of map== | |||
Files | |||
[[ado.cin]], | |||
[[conto.cin]], | |||
[[tet2f4c.cin]], | |||
[[Tet2f2048.inc]], | |||
[[GLxw2048.inc]] | |||
should be loaded to the working directory in order to compile the code below. | |||
<nowiki> | |||
#include <math.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#define DB double | |||
#define DO(x,y) for(x=0;x<y;x++) | |||
#include <complex> | |||
#define z_type std::complex<double> | |||
#define Re(x) x.real() | |||
#define Im(x) x.imag() | |||
#define I z_type(0.,1.) | |||
#include "tet2f4c.cin" | |||
#include "conto.cin" | |||
int main(){ int j,k,m,m1,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; | |||
int M=601,M1=M+1; | |||
int N=461,N1=N+1; | |||
DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array. | |||
char v[M1*N1]; // v is working array | |||
FILE *o;o=fopen("tet2ma.eps","w");ado(o,602,202); | |||
fprintf(o,"301 101 translate\n 10 10 scale\n"); | |||
DO(m,M1)X[m]=-30.+.1*(m); | |||
DO(n,200)Y[n]=-10.+.05*n; | |||
Y[200]=-.01; | |||
Y[201]= .01; | |||
for(n=202;n<N1;n++) Y[n]=-10.+.05*(n-1.); | |||
for(m=-30;m<31;m++){if(m==0){M(m,-10.2)L(m,10.2)} else{M(m,-10)L(m,10)}} | |||
for(n=-10;n<11;n++){ M( -30,n)L(30,n)} | |||
fprintf(o,".008 W 0 0 0 RGB S\n"); | |||
DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;} | |||
DO(n,N1){y=Y[n]; | |||
for(m=295;m<305;m++) | |||
{x=X[m]; //printf("%5.2f\n",x); | |||
z=z_type(x,y); | |||
c=F4(z); | |||
p=Re(c);q=Im(c); | |||
if(p>-99. && p<99. && q>-99. && q<99. ){ g[m*N1+n]=p;f[m*N1+n]=q;} | |||
d=c; | |||
for(k=1;k<31;k++) | |||
{ m1=m+k*10; if(m1>M) break; | |||
d=exp(d*log(2.)); | |||
p=Re(d);q=Im(d); | |||
if(p>-99. && p<99. && q>-99. && q<99. ){ g[m1*N1+n]=p;f[m1*N1+n]=q;} | |||
} | |||
d=c; | |||
for(k=1;k<31;k++) | |||
{ m1=m-k*10; if(m1<0) break; | |||
d=log(d)/log(2.); | |||
p=Re(d);q=Im(d); | |||
if(p>-99. && p<99. && q>-99. && q<99. ){ g[m1*N1+n]=p;f[m1*N1+n]=q;} | |||
} | |||
}} | |||
fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=1;q=.5; | |||
for(m=-10;m<10;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".02 W 0 .6 0 RGB S\n"); | |||
for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".02 W .9 0 0 RGB S\n"); | |||
for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".02 W 0 0 .9 RGB S\n"); | |||
for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".08 W .9 0 0 RGB S\n"); | |||
for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".08 W 0 0 .9 RGB S\n"); | |||
conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".08 W .6 0 .6 RGB S\n"); | |||
for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".08 W 0 0 0 RGB S\n"); | |||
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); | |||
system("epstopdf tet2ma.eps"); | |||
system( "open tet2ma.pdf"); | |||
getchar(); system("killall Preview"); | |||
} | |||
</nowiki> |
Revision as of 01:44, 2 September 2014
Summary
Title / Description
|
Complex map of tetration to base |
---|---|
Citizendium author & Copyright holder
|
Copyright © Dmitrii Kouznetsov. See below for licence/re-use information. |
Date created
|
August 2014 |
Country of first publication
|
Japan |
Notes
|
I plan to use this image in the article
D.Kouznetsov. Holomorphic ackermann. 2015, in preparation. |
Other versions
|
http://mizugadro.mydns.jp/t/index.php/File:Ack4a600.jpg |
Using this image on CZ
|
| , then copy the code below to add this image to a Citizendium article, changing the size, alignment, and caption as necessary.
Please send email to manager A T citizendium.org .
Licensing
This media, Ack4a600.jpg, is licenced under the Creative Commons Attribution 3.0 Unported License
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 attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
For any reuse or distribution, you must make clear to others the licence terms of this work (the best way to do this is with a link to this licence's web page). Any of the above conditions can be waived if you get permission from the copyright holder. Nothing in this licence impairs or restricts the author's moral rights.
Read the full licence.
C++ generator of map
Files ado.cin, conto.cin, tet2f4c.cin, Tet2f2048.inc, GLxw2048.inc should be loaded to the working directory in order to compile the code below.
#include <math.h> #include <stdio.h> #include <stdlib.h> #define DB double #define DO(x,y) for(x=0;x<y;x++) #include <complex> #define z_type std::complex<double> #define Re(x) x.real() #define Im(x) x.imag() #define I z_type(0.,1.) #include "tet2f4c.cin" #include "conto.cin" int main(){ int j,k,m,m1,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; int M=601,M1=M+1; int N=461,N1=N+1; DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array. char v[M1*N1]; // v is working array FILE *o;o=fopen("tet2ma.eps","w");ado(o,602,202); fprintf(o,"301 101 translate\n 10 10 scale\n"); DO(m,M1)X[m]=-30.+.1*(m); DO(n,200)Y[n]=-10.+.05*n; Y[200]=-.01; Y[201]= .01; for(n=202;n<N1;n++) Y[n]=-10.+.05*(n-1.); for(m=-30;m<31;m++){if(m==0){M(m,-10.2)L(m,10.2)} else{M(m,-10)L(m,10)}} for(n=-10;n<11;n++){ M( -30,n)L(30,n)} fprintf(o,".008 W 0 0 0 RGB S\n"); DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;} DO(n,N1){y=Y[n]; for(m=295;m<305;m++) {x=X[m]; //printf("%5.2f\n",x); z=z_type(x,y); c=F4(z); p=Re(c);q=Im(c); if(p>-99. && p<99. && q>-99. && q<99. ){ g[m*N1+n]=p;f[m*N1+n]=q;} d=c; for(k=1;k<31;k++) { m1=m+k*10; if(m1>M) break; d=exp(d*log(2.)); p=Re(d);q=Im(d); if(p>-99. && p<99. && q>-99. && q<99. ){ g[m1*N1+n]=p;f[m1*N1+n]=q;} } d=c; for(k=1;k<31;k++) { m1=m-k*10; if(m1<0) break; d=log(d)/log(2.); p=Re(d);q=Im(d); if(p>-99. && p<99. && q>-99. && q<99. ){ g[m1*N1+n]=p;f[m1*N1+n]=q;} } }} fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=1;q=.5; for(m=-10;m<10;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".02 W 0 .6 0 RGB S\n"); for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".02 W .9 0 0 RGB S\n"); for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".02 W 0 0 .9 RGB S\n"); for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".08 W .9 0 0 RGB S\n"); for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".08 W 0 0 .9 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".08 W .6 0 .6 RGB S\n"); for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".08 W 0 0 0 RGB S\n"); fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); system("epstopdf tet2ma.eps"); system( "open tet2ma.pdf"); getchar(); system("killall Preview"); }
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 18:56, 11 March 2022 | 5,130 × 1,776 (1.65 MB) | Maintenance script (talk | contribs) | == Summary == Importing file |
You cannot overwrite this file.
File usage
The following page uses this file: