Difference between revisions of "File:Tet2LMap.png"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
+ | [[Complex map]] of [[Tetration to base 2]] with "subtracted" singulatiry at \(-2\): |
||
+ | |||
+ | \( u+\mathrm i v = \mathrm{tet}_2(z) - \log_2(2\!+\!z) \) |
||
+ | |||
+ | in the plane \(z =x+\mathrm i y\) |
||
+ | |||
+ | This modification allows to extent the range of validity of approximation of [[Tetration to base 2]]. |
||
+ | |||
+ | ==Tet2LM.cc== |
||
+ | <pre> |
||
+ | #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" |
||
+ | //#include"Tet2Li3.inc" |
||
+ | #include"Tet2.cin" |
||
+ | |||
+ | z_type log2(z_type z){ return log(z)/log(2.);} |
||
+ | |||
+ | int main(){ int j,k,m,m1,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; |
||
+ | int M=401,M1=M+1; |
||
+ | int N=301,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("Tet2LM.eps","w");ado(o,820,620); |
||
+ | fprintf(o,"410 110 translate\n 100 100 scale 2 setlinecap\n"); |
||
+ | DO(m,M1)X[m]=-4.01+.02*(m); |
||
+ | DO(n,N1)Y[n]=-1.01+.02*(n); |
||
+ | for(m=-4;m<5;m++){ M(m,-1)L(m,5)} |
||
+ | for(n=-1;n<6;n++){ M( -4,n)L(4,n)} |
||
+ | fprintf(o,".007 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=0;m<M1;m++) |
||
+ | {x=X[m]; //printf("%5.2f\n",x); |
||
+ | z=z_type(x,y); |
||
+ | // c=F4(z); |
||
+ | c=Tet2(z)-log2(z+2.); |
||
+ | // c=-log((c-d)/(c+d))/log(10.); |
||
+ | 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;} |
||
+ | }} |
||
+ | |||
+ | fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=20;q=1; |
||
+ | |||
+ | //conto(o,f,w,v,X,Y,M,N,1.5674321238496474,-.03, .03); fprintf(o,".1 W 1 .8 .666 RGB S\n"); |
||
+ | //conto(o,g,w,v,X,Y,M,N,0.8246785461420740,-.03, .03); fprintf(o,".1 W 0 1 1 RGB S\n"); |
||
+ | |||
+ | for(m=-10;m<10;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".008 W 0 .6666 0 RGB S\n"); |
||
+ | for(m=0;m<10;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".008 W 1 0 0 RGB S\n"); |
||
+ | for(m=0;m<10;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".008 W 0 0 1 RGB S\n"); |
||
+ | for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".02 W 1 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,".02 W 0 0 1 RGB S\n"); |
||
+ | conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".02 W .6 0 .6666 RGB S\n"); |
||
+ | for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); |
||
+ | /* |
||
+ | conto(o,g,w,v,X,Y,M,N,15,-p,p); fprintf(o,".004 W 1 0 1 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N,14,-p,p); fprintf(o,".01 W 0 0 1 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N,13,-p,p); fprintf(o,".0041 W 0 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N,12,-p,p); fprintf(o,".01 W 0 1 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N,11,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N,10,-p,p); fprintf(o,".01 W 1 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 9,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 8,-p,p); fprintf(o,".01 W .2 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 7,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 6,-p,p); fprintf(o,".01 W .2 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 5,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 4,-p,p); fprintf(o,".01 W .2 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 3,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 2,-p,p); fprintf(o,".01 W .8 0 0 RGB S\n"); |
||
+ | conto(o,g,w,v,X,Y,M,N, 1,-p,p); fprintf(o,".03 W .4 0 0 RGB S\n"); |
||
+ | */ |
||
+ | fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); |
||
+ | system("epstopdf Tet2LM.eps"); |
||
+ | // system( "xpdf Tet2LM.pdf"); |
||
+ | system( "open Tet2LM.pdf"); |
||
+ | } |
||
+ | </pre> |
||
+ | |||
+ | ==Tet2LMap.tex== |
||
+ | <pre> |
||
+ | \documentclass[12pt]{article} |
||
+ | \usepackage{graphicx} |
||
+ | \usepackage{rotating} |
||
+ | \usepackage{geometry} |
||
+ | \paperwidth 828pt |
||
+ | %\paperwidth 886pt |
||
+ | \paperheight 636pt |
||
+ | \textwidth 900pt |
||
+ | \textheight 900pt |
||
+ | \topmargin -108pt |
||
+ | \oddsidemargin -81pt |
||
+ | \pagestyle{empty} |
||
+ | \parindent 0pt |
||
+ | \begin{document} |
||
+ | \newcommand \ing {\includegraphics} |
||
+ | \newcommand \sx {\scalebox} |
||
+ | \newcommand \rot {\begin{rotate}} |
||
+ | \newcommand \ero {\end{rotate}} |
||
+ | \begin{picture}(890,624) |
||
+ | \put(20,10){\includegraphics{Tet2LM}} |
||
+ | %\put(9,812){\sx{3}{$y$}} |
||
+ | \put(9,608){\sx{3}{$y$}} |
||
+ | \put(9,511){\sx{3}{$4$}} |
||
+ | \put(9,411){\sx{3}{$3$}} |
||
+ | \put(9,311){\sx{3}{$2$}} |
||
+ | \put(9,211){\sx{3}{$1$}} |
||
+ | \put(9,111){\sx{3}{$0$}} |
||
+ | \put(0,-8){\sx{3}{$-4$}} |
||
+ | \put(100,-8){\sx{3}{$-3$}} |
||
+ | \put(200,-8){\sx{3}{$-2$}} |
||
+ | \put(300,-8){\sx{3}{$-1$}} |
||
+ | \put(425,-8){\sx{3}{$0$}} |
||
+ | \put(525,-8){\sx{3}{$1$}} |
||
+ | \put(625,-8){\sx{3}{$2$}} |
||
+ | \put(725,-8){\sx{3}{$3$}} |
||
+ | %\put(825,-8){\sx{3}{$4$}} |
||
+ | \put(816,-7){\sx{3.2}{$x$}} |
||
+ | |||
+ | \put(472,410){\rot{-26}\sx{3}{$u\!=\!-1$}\ero} |
||
+ | |||
+ | \put(170,264){\rot{87}\sx{3}{$v\!=\!-1$}\ero} |
||
+ | \put(398,264){\rot{82}\sx{3}{$v\!=\!0$}\ero} |
||
+ | \put(580,262){\rot{74}\sx{3}{$v\!=\!1$}\ero} |
||
+ | |||
+ | \put(344,111){\rot{0}\sx{3}{$v\!=\!0$}\ero} |
||
+ | \put(340,82){\rot{90}\sx{3}{$u\!=\!0$}\ero} |
||
+ | \put(442,82){\rot{90}\sx{3}{$u\!=\!0$}\ero} |
||
+ | \put(598,82){\rot{90}\sx{3}{$u\!=\!1$}\ero} |
||
+ | \put(643,82){\rot{90}\sx{3}{$u\!=\!2$}\ero} |
||
+ | \end{picture} |
||
+ | \end{document} |
||
+ | </pre> |
||
+ | |||
+ | ==Generaton== |
||
+ | <pre> |
||
+ | make Tet2LM |
||
+ | ./Tet2LM |
||
+ | pdflatex Tet2LMap |
||
+ | convert -density 200 Tet2LMap.pdf PNG8:Tet2LMap.png |
||
+ | </pre> |
||
+ | |||
+ | ==References== |
||
+ | <references/> |
||
+ | |||
+ | [[Category:Ackermann]] |
||
+ | [[Category:Book]] |
||
+ | [[Category:C++]] |
||
+ | [[Category:Complex map]] |
||
+ | [[Category:Convert]] |
||
+ | [[Category:Latex]] |
||
+ | [[Category:PNG8]] |
||
+ | [[Category:Superfunction]] |
||
+ | [[Category:Tet2]] |
||
+ | [[Category:Tetration]] |
||
+ | [[Category:Tetration to base 2]] |
Latest revision as of 19:55, 6 August 2020
Complex map of Tetration to base 2 with "subtracted" singulatiry at \(-2\):
\( u+\mathrm i v = \mathrm{tet}_2(z) - \log_2(2\!+\!z) \)
in the plane \(z =x+\mathrm i y\)
This modification allows to extent the range of validity of approximation of Tetration to base 2.
Tet2LM.cc
#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" //#include"Tet2Li3.inc" #include"Tet2.cin" z_type log2(z_type z){ return log(z)/log(2.);} int main(){ int j,k,m,m1,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; int M=401,M1=M+1; int N=301,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("Tet2LM.eps","w");ado(o,820,620); fprintf(o,"410 110 translate\n 100 100 scale 2 setlinecap\n"); DO(m,M1)X[m]=-4.01+.02*(m); DO(n,N1)Y[n]=-1.01+.02*(n); for(m=-4;m<5;m++){ M(m,-1)L(m,5)} for(n=-1;n<6;n++){ M( -4,n)L(4,n)} fprintf(o,".007 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=0;m<M1;m++) {x=X[m]; //printf("%5.2f\n",x); z=z_type(x,y); // c=F4(z); c=Tet2(z)-log2(z+2.); // c=-log((c-d)/(c+d))/log(10.); 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;} }} fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=20;q=1; //conto(o,f,w,v,X,Y,M,N,1.5674321238496474,-.03, .03); fprintf(o,".1 W 1 .8 .666 RGB S\n"); //conto(o,g,w,v,X,Y,M,N,0.8246785461420740,-.03, .03); fprintf(o,".1 W 0 1 1 RGB S\n"); for(m=-10;m<10;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".008 W 0 .6666 0 RGB S\n"); for(m=0;m<10;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".008 W 1 0 0 RGB S\n"); for(m=0;m<10;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".008 W 0 0 1 RGB S\n"); for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".02 W 1 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,".02 W 0 0 1 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".02 W .6 0 .6666 RGB S\n"); for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); /* conto(o,g,w,v,X,Y,M,N,15,-p,p); fprintf(o,".004 W 1 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,14,-p,p); fprintf(o,".01 W 0 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,13,-p,p); fprintf(o,".0041 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,12,-p,p); fprintf(o,".01 W 0 1 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,11,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,10,-p,p); fprintf(o,".01 W 1 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 9,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 8,-p,p); fprintf(o,".01 W .2 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 7,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 6,-p,p); fprintf(o,".01 W .2 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 5,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 4,-p,p); fprintf(o,".01 W .2 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 3,-p,p); fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 2,-p,p); fprintf(o,".01 W .8 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 1,-p,p); fprintf(o,".03 W .4 0 0 RGB S\n"); */ fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); system("epstopdf Tet2LM.eps"); // system( "xpdf Tet2LM.pdf"); system( "open Tet2LM.pdf"); }
Tet2LMap.tex
\documentclass[12pt]{article} \usepackage{graphicx} \usepackage{rotating} \usepackage{geometry} \paperwidth 828pt %\paperwidth 886pt \paperheight 636pt \textwidth 900pt \textheight 900pt \topmargin -108pt \oddsidemargin -81pt \pagestyle{empty} \parindent 0pt \begin{document} \newcommand \ing {\includegraphics} \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \begin{picture}(890,624) \put(20,10){\includegraphics{Tet2LM}} %\put(9,812){\sx{3}{$y$}} \put(9,608){\sx{3}{$y$}} \put(9,511){\sx{3}{$4$}} \put(9,411){\sx{3}{$3$}} \put(9,311){\sx{3}{$2$}} \put(9,211){\sx{3}{$1$}} \put(9,111){\sx{3}{$0$}} \put(0,-8){\sx{3}{$-4$}} \put(100,-8){\sx{3}{$-3$}} \put(200,-8){\sx{3}{$-2$}} \put(300,-8){\sx{3}{$-1$}} \put(425,-8){\sx{3}{$0$}} \put(525,-8){\sx{3}{$1$}} \put(625,-8){\sx{3}{$2$}} \put(725,-8){\sx{3}{$3$}} %\put(825,-8){\sx{3}{$4$}} \put(816,-7){\sx{3.2}{$x$}} \put(472,410){\rot{-26}\sx{3}{$u\!=\!-1$}\ero} \put(170,264){\rot{87}\sx{3}{$v\!=\!-1$}\ero} \put(398,264){\rot{82}\sx{3}{$v\!=\!0$}\ero} \put(580,262){\rot{74}\sx{3}{$v\!=\!1$}\ero} \put(344,111){\rot{0}\sx{3}{$v\!=\!0$}\ero} \put(340,82){\rot{90}\sx{3}{$u\!=\!0$}\ero} \put(442,82){\rot{90}\sx{3}{$u\!=\!0$}\ero} \put(598,82){\rot{90}\sx{3}{$u\!=\!1$}\ero} \put(643,82){\rot{90}\sx{3}{$u\!=\!2$}\ero} \end{picture} \end{document}
Generaton
make Tet2LM ./Tet2LM pdflatex Tet2LMap convert -density 200 Tet2LMap.pdf PNG8:Tet2LMap.png
References
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 19:54, 6 August 2020 | 2,291 × 1,760 (269 KB) | T (talk | contribs) |
You cannot overwrite this file.
File usage
The following page uses this file: