Difference between revisions of "File:Acker2t400.jpg"
(Importing image file) |
|||
Line 1: | Line 1: | ||
+ | Comparison of the two notations for the [[Ackermann function]]s to base 2. |
||
− | Importing image file |
||
+ | |||
+ | Thin curves: $y=\mathcal A(m,x)=A_{2,m}(x\!+\!3)-3 ~$ for $m=1,2,3,4$ |
||
+ | |||
+ | Thick curves: $y=\mathcal A(m,x\!-\!3)+3=A_{2,m}(x) ~ $ for $m=1,2,3,4$ |
||
+ | |||
+ | $A_{2,1}=2+x=\mathcal A(1,x\!+\!3)-3=\mathcal A(1,x)$ |
||
+ | |||
+ | $A_{2,2}=2x=\mathcal A(2,x\!+\!3)-3$ |
||
+ | |||
+ | $A_{2,3}=\exp_2(x)=\mathcal A(3,x\!+\!3)-3=2^x$ |
||
+ | |||
+ | $A_{2,4}=\mathrm{tet}_2(x)=\mathcal A(3,x\!+\!3)-3$ |
||
+ | |||
+ | ==[[C++]] generator of curves== |
||
+ | |||
+ | <poem><nomathjax><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> |
||
+ | typedef std::complex<double> z_type; |
||
+ | #define Re(x) x.real() |
||
+ | #define Im(x) x.imag() |
||
+ | #define I z_type(0.,1.) |
||
+ | // #include "ado.cin" |
||
+ | void ado(FILE *O, int X, int Y) |
||
+ | { fprintf(O,"%c!PS-Adobe-2.0 EPSF-2.0\n",'%'); |
||
+ | fprintf(O,"%c%cBoundingBox: 0 0 %d %d\n",'%','%',X,Y); |
||
+ | fprintf(O,"/M {moveto} bind def\n"); |
||
+ | fprintf(O,"/L {lineto} bind def\n"); |
||
+ | fprintf(O,"/S {stroke} bind def\n"); |
||
+ | fprintf(O,"/s {show newpath} bind def\n"); |
||
+ | fprintf(O,"/C {closepath} bind def\n"); |
||
+ | fprintf(O,"/F {fill} bind def\n"); |
||
+ | fprintf(O,"/o {.015 0 360 arc C F} bind def\n"); |
||
+ | fprintf(O,"/times-Roman findfont 20 scalefont setfont\n"); |
||
+ | fprintf(O,"/W {setlinewidth} bind def\n"); |
||
+ | fprintf(O,"/RGB {setrgbcolor} bind def\n");} |
||
+ | /* end of routine */ |
||
+ | |||
+ | // #include "fsexp.cin" |
||
+ | // #include "fslog.cin" |
||
+ | #include "fit1.cin" |
||
+ | |||
+ | int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; |
||
+ | FILE *o;o=fopen("acker2.eps","w"); ado(o,608,1008); |
||
+ | fprintf(o,"304 304 translate\n 100 100 scale\n"); |
||
+ | #define M(x,y) fprintf(o,"%8.4f %8.4f M\n",0.+x,0.+y); |
||
+ | #define L(x,y) fprintf(o,"%8.4f %8.4f L\n",0.+x,0.+y); |
||
+ | #define o(x,y) fprintf(o,"%8.4f %8.4f o\n",0.+x,0.+y); |
||
+ | for(m=-3;m<4;m++) {M(m,-3)L(m,7)} |
||
+ | for(n=-3;n<8;n++) {M( -3,n)L(3,n)} fprintf(o,"2 setlinecap 1 setlinejoin .004 W 0 0 0 RGB S\n"); |
||
+ | |||
+ | M(-3.02,-3.02+2.)L(3.02,3.02+2) fprintf(o,".02 W .3 0 .3 RGB S\n"); |
||
+ | M(-1.51, -1.51*2)L(3.02,3.02*2) fprintf(o,".02 W 0 .5 0 RGB S\n"); fprintf(o,"1 0 0 RGB\n"); |
||
+ | |||
+ | DO(n,306){x=-3.02+.025*(n-.5);y=exp(log(2.)*x); o(x,y); if(y>7.1)break;} fprintf(o,".03 W 0 .8 0 RGB S\n"); |
||
+ | |||
+ | //DO(n,150){x=-1.9+.04*n;y=Re(FSEXP(x)); if(n==0) M(x,y)else L(x,y); if(y>8.)break;} fprintf(o,".02 W 0 0 1 RGB S\n"); |
||
+ | //DO(n,202){y=-3+.05*(n-.6);x=Re(FSLOG(y)); |
||
+ | //if(n/2*2==n) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,"0 setlinecap .016 W 0 0 1 RGB S\n"); |
||
+ | |||
+ | DO(n,330){x=-1.9+.018*n; y=Re(FIT1(log(2.),x)); if(n/2*2==n) M(x,y)else L(x,y); if(y>7.1)break;} |
||
+ | fprintf(o,"0 setlinecap .03 W 0 0 .7 RGB S\n"); |
||
+ | |||
+ | //DO(n,150){x=-3.03+.04*n;y=Re(pen7(x)); if(n==0) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,".01 W 0 0 0 RGB S\n"); |
||
+ | //DO(n,150){x=-3.03+.04*n;y=Re(pen7(x)); if(n==0) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,".01 W 0 0 0 RGB S\n"); |
||
+ | |||
+ | //thin |
||
+ | |||
+ | //M(-3.02,-3.02+2.)L(3.02,3.02+2) fprintf(o,".007 W .3 0 .3 RGB S\n"); |
||
+ | M(-1.51-3, -1.51*2-3)L(5.02-3,5.02*2-3) fprintf(o,".005 W 0 .5 0 RGB S\n"); fprintf(o,"1 0 0 RGB\n"); |
||
+ | |||
+ | DO(n,306){x=-1.02+.025*(n-.5);y=exp(log(2.)*x); o(x-3,y-3); if(y-3>7.1)break;} fprintf(o,".05 W 0 .8 0 RGB S\n"); |
||
+ | |||
+ | //DO(n,150){x=-1.9+.04*n;y=Re(FSEXP(x)); if(n==0) M(x-3,y-3)else L(x-3,y-3); if(y-3>8.)break;} fprintf(o,".02 W 0 0 1 RGB S\n"); |
||
+ | //DO(n,202){y=-3+.05*(n-.6);x=Re(FSLOG(y)); |
||
+ | //if(n/2*2==n) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,"0 setlinecap .016 W 0 0 1 RGB S\n"); |
||
+ | |||
+ | DO(n,330){x=-.9+.018*n; y=Re(FIT1(log(2.),x)); if(n/2*2==n) M(x-3,y-3)else L(x-3,y-3); if(y-3>7.1)break;} |
||
+ | fprintf(o,"0 setlinecap .018 W 0 0 .7 RGB S\n"); |
||
+ | |||
+ | fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); |
||
+ | system("epstopdf acker2.eps"); |
||
+ | system( "open acker2.pdf"); |
||
+ | } |
||
+ | </nowiki></nomathjax></poem> |
||
+ | |||
+ | ==[[Latex]] generator of labels== |
||
+ | |||
+ | <poem><nomathjax><nowiki> |
||
+ | \documentclass[12pt]{article} |
||
+ | \paperwidth 640px |
||
+ | \paperheight 1006px |
||
+ | \textwidth 1394px |
||
+ | \textheight 1300px |
||
+ | \topmargin -104px |
||
+ | \oddsidemargin -92px |
||
+ | \usepackage{graphics} |
||
+ | \usepackage{rotating} |
||
+ | \newcommand \sx {\scalebox} |
||
+ | \newcommand \rot {\begin{rotate}} |
||
+ | \newcommand \ero {\end{rotate}} |
||
+ | \newcommand \ing {\includegraphics} |
||
+ | \newcommand \rmi {\mathrm{i}} |
||
+ | \begin{document} |
||
+ | {\begin{picture}(608,1006) %\put(12,0){\ing{penma}} |
||
+ | \put(0,0){\ing{acker2}} |
||
+ | \put(281,988){\sx{3.}{$y$}} |
||
+ | \put(279,895){\sx{3.}{$6$}} |
||
+ | \put(279,795){\sx{3.}{$5$}} |
||
+ | \put(279,694){\sx{3.}{$4$}} |
||
+ | \put(279,594){\sx{3.}{$3$}} |
||
+ | \put(279,468){\sx{3.}{$\mathrm e$}} |
||
+ | \put(279,494){\sx{3.}{$2$}} |
||
+ | \put(279,394){\sx{3.}{$1$}} |
||
+ | \put(279,294){\sx{3.}{$0$}} |
||
+ | \put(258,193){\sx{3.}{$-1$}} |
||
+ | \put(258, 93){\sx{3.}{$-2$}} |
||
+ | \put( 80,274){\sx{3.}{$-2$}} |
||
+ | \put(180,274){\sx{3.}{$-1$}} |
||
+ | \put(296,274){\sx{3.}{$0$}} |
||
+ | \put(396,274){\sx{3.}{$1$}} |
||
+ | \put(496,274){\sx{3.}{$2$}} |
||
+ | \put(586,274){\sx{3.}{$x$}} |
||
+ | % |
||
+ | %\put(242,620){\sx{1.8}{\rot{85}$y\!=\!\mathcal{A}(4,x)\!=\! A_2(x\!+\!3)\!-\!3\!=\!\mathrm{tet}_2(x\!+\!3)\!-\!3$\ero}} |
||
+ | \put(248,720){\sx{1.8}{\rot{85}$y\!=\!\mathcal{A}(4,x)\!=\! A_{2,4}(x\!+\!3)\!-\!3$\ero}} |
||
+ | \put(312,720){\sx{1.8}{\rot{80}$y\!=\!\mathcal{A}(3,x)\!=\! A_{2,3}(x\!+\!3)\!-\!3$\ero}} |
||
+ | \put(348,712){\sx{1.8}{\rot{63}$y\!=\!\mathcal{A}(2,x)\!=\! A_{2,2}(x\!+\!3)\!-\!3$\ero}} |
||
+ | \put(314,526){\sx{1.8}{\rot{45}$y\!=\!\mathcal{A}(1,x)\!=\! A_{2,1}(x\!+\!3)\!-\!3$\ero}} |
||
+ | |||
+ | %\put(438,714){\sx{1.8}{\rot{85}$y\!=\!\mathrm{pen}(x)$\ero}} |
||
+ | %\put(538,912){\sx{1.8}{\rot{82}$y\!=\!\mathrm{tet}_2(x)$\ero}} |
||
+ | \put(526,822){\sx{1.8}{\rot{82}$y\!=\!A_{2,4}(x)\!=\!\mathrm{tet}_2(x)$\ero}} |
||
+ | %\put(578,892){\sx{1.8}{\rot{73}$y\!=\!2^x$\ero}} |
||
+ | \put(566,858){\sx{1.8}{\rot{73}$y\!=\!A_{2,3}(x)\!=\!2^x$\ero}} |
||
+ | \put(566,792){\sx{1.8}{\rot{62}$y\!=\!A_{2,2}(x)\!=\!\mathrm{2}x$\ero}} |
||
+ | %\put(478,628){\sx{1.8}{\rot{50}$y\!=\!\mathrm{e}\!+\!x$\ero}} |
||
+ | \put(520,696){\sx{1.96}{\rot{44}$y\!=\!A_{2,1}(x)\!=\!2\!+\!x$\ero}} |
||
+ | % |
||
+ | %\put(86,222){\sx{1.9}{\rot{11}$y\!=\!\mathrm{exp}(x)$\ero}} |
||
+ | %\put(20,30){\sx{1.9}{\rot{30}$y\!=\!\mathrm{pen}(x)$\ero}} |
||
+ | \put(32,326){\sx{1.9}{\rot{3}$y\!=\!2^x$\ero}} |
||
+ | \put(132,4){\sx{1.9}{\rot{81}$y\!=\!\mathrm{tet}_2(x)$\ero}} |
||
+ | \put(178,8){\sx{1.9}{\rot{66}$y\!=\!\mathrm{2} x$\ero}} |
||
+ | % |
||
+ | %\put(308, 13){\sx{2.2}{$y\!=\!L_{\mathrm e,4,0}$}} |
||
+ | \end{picture} |
||
+ | \end{document} |
||
+ | </nowiki></nomathjax></poem> |
||
+ | |||
+ | ==References== |
||
+ | <references/> |
||
+ | |||
+ | [[Category:Ackermann function]] |
||
+ | [[Category:Book]] |
||
+ | [[Category:BookPlot]] |
||
+ | [[Category:C++]] |
||
+ | [[Category:Explicit plot]] |
||
+ | [[Category:Superfunction]] |
||
+ | [[Category:Tetration]] |
||
+ | [[Category:Tetration to base 2]] |
Latest revision as of 08:28, 1 December 2018
Comparison of the two notations for the Ackermann functions to base 2.
Thin curves: $y=\mathcal A(m,x)=A_{2,m}(x\!+\!3)-3 ~$ for $m=1,2,3,4$
Thick curves: $y=\mathcal A(m,x\!-\!3)+3=A_{2,m}(x) ~ $ for $m=1,2,3,4$
$A_{2,1}=2+x=\mathcal A(1,x\!+\!3)-3=\mathcal A(1,x)$
$A_{2,2}=2x=\mathcal A(2,x\!+\!3)-3$
$A_{2,3}=\exp_2(x)=\mathcal A(3,x\!+\!3)-3=2^x$
$A_{2,4}=\mathrm{tet}_2(x)=\mathcal A(3,x\!+\!3)-3$
C++ generator of curves
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define DB double
#define DO(x,y) for(x=0;x<y;x++)
#include <complex>
typedef std::complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
// #include "ado.cin"
void ado(FILE *O, int X, int Y)
{ fprintf(O,"%c!PS-Adobe-2.0 EPSF-2.0\n",'%');
fprintf(O,"%c%cBoundingBox: 0 0 %d %d\n",'%','%',X,Y);
fprintf(O,"/M {moveto} bind def\n");
fprintf(O,"/L {lineto} bind def\n");
fprintf(O,"/S {stroke} bind def\n");
fprintf(O,"/s {show newpath} bind def\n");
fprintf(O,"/C {closepath} bind def\n");
fprintf(O,"/F {fill} bind def\n");
fprintf(O,"/o {.015 0 360 arc C F} bind def\n");
fprintf(O,"/times-Roman findfont 20 scalefont setfont\n");
fprintf(O,"/W {setlinewidth} bind def\n");
fprintf(O,"/RGB {setrgbcolor} bind def\n");}
/* end of routine */
// #include "fsexp.cin"
// #include "fslog.cin"
#include "fit1.cin"
int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd;
FILE *o;o=fopen("acker2.eps","w"); ado(o,608,1008);
fprintf(o,"304 304 translate\n 100 100 scale\n");
#define M(x,y) fprintf(o,"%8.4f %8.4f M\n",0.+x,0.+y);
#define L(x,y) fprintf(o,"%8.4f %8.4f L\n",0.+x,0.+y);
#define o(x,y) fprintf(o,"%8.4f %8.4f o\n",0.+x,0.+y);
for(m=-3;m<4;m++) {M(m,-3)L(m,7)}
for(n=-3;n<8;n++) {M( -3,n)L(3,n)} fprintf(o,"2 setlinecap 1 setlinejoin .004 W 0 0 0 RGB S\n");
M(-3.02,-3.02+2.)L(3.02,3.02+2) fprintf(o,".02 W .3 0 .3 RGB S\n");
M(-1.51, -1.51*2)L(3.02,3.02*2) fprintf(o,".02 W 0 .5 0 RGB S\n"); fprintf(o,"1 0 0 RGB\n");
DO(n,306){x=-3.02+.025*(n-.5);y=exp(log(2.)*x); o(x,y); if(y>7.1)break;} fprintf(o,".03 W 0 .8 0 RGB S\n");
//DO(n,150){x=-1.9+.04*n;y=Re(FSEXP(x)); if(n==0) M(x,y)else L(x,y); if(y>8.)break;} fprintf(o,".02 W 0 0 1 RGB S\n");
//DO(n,202){y=-3+.05*(n-.6);x=Re(FSLOG(y));
//if(n/2*2==n) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,"0 setlinecap .016 W 0 0 1 RGB S\n");
DO(n,330){x=-1.9+.018*n; y=Re(FIT1(log(2.),x)); if(n/2*2==n) M(x,y)else L(x,y); if(y>7.1)break;}
fprintf(o,"0 setlinecap .03 W 0 0 .7 RGB S\n");
//DO(n,150){x=-3.03+.04*n;y=Re(pen7(x)); if(n==0) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,".01 W 0 0 0 RGB S\n");
//DO(n,150){x=-3.03+.04*n;y=Re(pen7(x)); if(n==0) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,".01 W 0 0 0 RGB S\n");
//thin
//M(-3.02,-3.02+2.)L(3.02,3.02+2) fprintf(o,".007 W .3 0 .3 RGB S\n");
M(-1.51-3, -1.51*2-3)L(5.02-3,5.02*2-3) fprintf(o,".005 W 0 .5 0 RGB S\n"); fprintf(o,"1 0 0 RGB\n");
DO(n,306){x=-1.02+.025*(n-.5);y=exp(log(2.)*x); o(x-3,y-3); if(y-3>7.1)break;} fprintf(o,".05 W 0 .8 0 RGB S\n");
//DO(n,150){x=-1.9+.04*n;y=Re(FSEXP(x)); if(n==0) M(x-3,y-3)else L(x-3,y-3); if(y-3>8.)break;} fprintf(o,".02 W 0 0 1 RGB S\n");
//DO(n,202){y=-3+.05*(n-.6);x=Re(FSLOG(y));
//if(n/2*2==n) M(x,y)else L(x,y); if(y>6.)break;} fprintf(o,"0 setlinecap .016 W 0 0 1 RGB S\n");
DO(n,330){x=-.9+.018*n; y=Re(FIT1(log(2.),x)); if(n/2*2==n) M(x-3,y-3)else L(x-3,y-3); if(y-3>7.1)break;}
fprintf(o,"0 setlinecap .018 W 0 0 .7 RGB S\n");
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
system("epstopdf acker2.eps");
system( "open acker2.pdf");
}
Latex generator of labels
\documentclass[12pt]{article}
\paperwidth 640px
\paperheight 1006px
\textwidth 1394px
\textheight 1300px
\topmargin -104px
\oddsidemargin -92px
\usepackage{graphics}
\usepackage{rotating}
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\newcommand \ing {\includegraphics}
\newcommand \rmi {\mathrm{i}}
\begin{document}
{\begin{picture}(608,1006) %\put(12,0){\ing{penma}}
\put(0,0){\ing{acker2}}
\put(281,988){\sx{3.}{$y$}}
\put(279,895){\sx{3.}{$6$}}
\put(279,795){\sx{3.}{$5$}}
\put(279,694){\sx{3.}{$4$}}
\put(279,594){\sx{3.}{$3$}}
\put(279,468){\sx{3.}{$\mathrm e$}}
\put(279,494){\sx{3.}{$2$}}
\put(279,394){\sx{3.}{$1$}}
\put(279,294){\sx{3.}{$0$}}
\put(258,193){\sx{3.}{$-1$}}
\put(258, 93){\sx{3.}{$-2$}}
\put( 80,274){\sx{3.}{$-2$}}
\put(180,274){\sx{3.}{$-1$}}
\put(296,274){\sx{3.}{$0$}}
\put(396,274){\sx{3.}{$1$}}
\put(496,274){\sx{3.}{$2$}}
\put(586,274){\sx{3.}{$x$}}
%
%\put(242,620){\sx{1.8}{\rot{85}$y\!=\!\mathcal{A}(4,x)\!=\! A_2(x\!+\!3)\!-\!3\!=\!\mathrm{tet}_2(x\!+\!3)\!-\!3$\ero}}
\put(248,720){\sx{1.8}{\rot{85}$y\!=\!\mathcal{A}(4,x)\!=\! A_{2,4}(x\!+\!3)\!-\!3$\ero}}
\put(312,720){\sx{1.8}{\rot{80}$y\!=\!\mathcal{A}(3,x)\!=\! A_{2,3}(x\!+\!3)\!-\!3$\ero}}
\put(348,712){\sx{1.8}{\rot{63}$y\!=\!\mathcal{A}(2,x)\!=\! A_{2,2}(x\!+\!3)\!-\!3$\ero}}
\put(314,526){\sx{1.8}{\rot{45}$y\!=\!\mathcal{A}(1,x)\!=\! A_{2,1}(x\!+\!3)\!-\!3$\ero}}
%\put(438,714){\sx{1.8}{\rot{85}$y\!=\!\mathrm{pen}(x)$\ero}}
%\put(538,912){\sx{1.8}{\rot{82}$y\!=\!\mathrm{tet}_2(x)$\ero}}
\put(526,822){\sx{1.8}{\rot{82}$y\!=\!A_{2,4}(x)\!=\!\mathrm{tet}_2(x)$\ero}}
%\put(578,892){\sx{1.8}{\rot{73}$y\!=\!2^x$\ero}}
\put(566,858){\sx{1.8}{\rot{73}$y\!=\!A_{2,3}(x)\!=\!2^x$\ero}}
\put(566,792){\sx{1.8}{\rot{62}$y\!=\!A_{2,2}(x)\!=\!\mathrm{2}x$\ero}}
%\put(478,628){\sx{1.8}{\rot{50}$y\!=\!\mathrm{e}\!+\!x$\ero}}
\put(520,696){\sx{1.96}{\rot{44}$y\!=\!A_{2,1}(x)\!=\!2\!+\!x$\ero}}
%
%\put(86,222){\sx{1.9}{\rot{11}$y\!=\!\mathrm{exp}(x)$\ero}}
%\put(20,30){\sx{1.9}{\rot{30}$y\!=\!\mathrm{pen}(x)$\ero}}
\put(32,326){\sx{1.9}{\rot{3}$y\!=\!2^x$\ero}}
\put(132,4){\sx{1.9}{\rot{81}$y\!=\!\mathrm{tet}_2(x)$\ero}}
\put(178,8){\sx{1.9}{\rot{66}$y\!=\!\mathrm{2} x$\ero}}
%
%\put(308, 13){\sx{2.2}{$y\!=\!L_{\mathrm e,4,0}$}}
\end{picture}
\end{document}
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 | 06:10, 1 December 2018 | 3,555 × 5,588 (1.09 MB) | Maintenance script (talk | contribs) | Importing image file |
You cannot overwrite this file.
File usage
The following page uses this file: