Difference between revisions of "File:Superfactocomple1.png"

From TORI
Jump to: navigation, search
Line 6: Line 6:
 
Thick lines correspond to the integer values.
 
Thick lines correspond to the integer values.
   
  +
==C++ generator of curves==
==Generation==
 
  +
Sorry, have misplaced the original generator. I load the code that does almost the same picture.
The following files are used to make the figure:
 
# [[SuperFactorial.cin]], complex double C++ [[implementation]] of [[SuperFactorial]] function.
 
# [[ado.cin]], routine to write the header of the [[EPS]] file.
 
# [[conto.cin]], routine to generate the [[contour plot]].
 
# [[Superfactocomplex.cc]], generator of the [[complex map]] in the PDF format
 
# [[Superfactocomple.tex]], add lables and generate the new PDF.
 
   
  +
Files
The resulting SuperFactocomple.pdf is converted to PNG, the resolution "400" is indicated.
 
  +
[[SuperFactorial.cin]]
  +
[[ado.cin]]
  +
[[conto.cin]]
  +
should be loaded to the working directory in order to compile the [C++]] code below:
  +
<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++)
  +
// using namespace std;
  +
#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 "fac.cin"
  +
//#include "sinc.cin"
  +
#include "facp.cin"
  +
#include "afacc.cin"
  +
#include "superfactorial.cin"
  +
#include "conto.cin"
  +
  +
int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
  +
int M=403,M1=M+1;
  +
int N=401,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("fig2b.eps","w");ado(o,402,402);
  +
FILE *o;o=fopen("SuperFacMap.eps","w");ado(o,402,402);
  +
fprintf(o,"201 201 translate\n 20 20 scale\n");
  +
// DO(m,M1)X[m]=-8.04+.04*(m+.5);
  +
DO(m,M1){t=-1.+.022*m; X[m]=.2+t-1.11*exp(-1.9*t);}
  +
  +
// DO(n,N1)Y[n]=-8.04+.04*(n+.5);
  +
DO(n,N1){t=-8.04+.04*(n+.5); t*=.97; Y[n]=t-.25*sin(0.6127874523307*t);}
  +
  +
for(m=-8;m<9;m++){if(m==0){M(m,-8.5)L(m,8.5)} else{M(m,-8)L(m,8)}}
  +
for(n=-8;n<9;n++){ M( -8,n)L(8,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(m,M1){x=X[m]; //printf("%5.2f\n",x);
  +
DO(n,N1){y=Y[n]; z=z_type(x,y);
  +
// c=afacc(z);
  +
// c=fac(z);
  +
c=superfac(z);
  +
// p=abs(c-d)/(abs(c)+abs(d)); p=-log(p)/log(10.)-1.;
  +
p=Re(c);q=Im(c);
  +
if(p>-20 && p<20 &&
  +
// (fabs(y)>.034 ||x>-.9 ||fabs(x-int(x))>1.e-3) &&
  +
q>-20 && q<20 && fabs(q)> 1.e-16
  +
)
  +
{g[m*N1+n]=p;f[m*N1+n]=q;}
  +
}}
  +
//fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=1.8;q=.7;
  +
  +
fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=1.4;q=.8;
  +
for(m=-4;m<4;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".01 W 0 .5 0 RGB S\n");
  +
for(m=0;m<4;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".01 W .8 0 0 RGB S\n");
  +
for(m=0;m<4;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".01 W 0 0 .8 RGB S\n");
  +
for(m=1;m<15;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".04 W .8 0 0 RGB S\n");
  +
for(m=1;m<15;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".04 W 0 0 .8 RGB S\n");
  +
conto(o,f,w,v,X,Y,M,N, (0. ),-9,9); fprintf(o,".04 W .5 0 .5 RGB S\n");
  +
for(m=-14;m<0;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".04 W 0 0 0 RGB S\n");
  +
m=0; conto(o,g,w,v,X,Y,M,N, (0.+m),-9,9); fprintf(o,".04 W 0 0 0 RGB S\n");
  +
for(m=1;m<17;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".04 W 0 0 0 RGB S\n");
  +
//#include"plofu.cin"
  +
// x=0.8856031944;
  +
conto(o,g,w,v,X,Y,M,N,0.8856031944,-p,p); fprintf(o,".004 W .2 .2 0 RGB S\n");
  +
/*
  +
M(x,-8)L(x,8) fprintf(o,"0 setlinejoin 0 setlinecap 0.004 W 0 0 0 RGB S\n");
  +
M(x,0)L(-8.1,0) fprintf(o," .05 W 1 1 1 RGB S\n");
  +
DO(m,23){ M(x-.4*m,0)L(x-.4*(m+.5),0);} fprintf(o,".09 W .3 .3 0 RGB S\n");
  +
//M(x,0)L(-8.1,0) fprintf(o,"[.19 .21]0 setdash .05 W 0 0 0 RGB S\n");
  +
// May it be, that, some printers do not interpret well the dashing ?
  +
*/
  +
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
  +
system("epstopdf SuperFacMap.eps");
  +
system( "open SuperFacMap.pdf"); //for LINUX
  +
// getchar(); system("killall Preview");//for mac
  +
}
  +
</nowiki></nomathjax></poem>
  +
  +
== generator of labels==
  +
<poem><nomathjax><nowiki>
  +
\documentclass[12pt]{article}
  +
\paperwidth 342pt
  +
\paperheight 338pt
  +
\textwidth 500pt
  +
\textheight 500pt
  +
\topmargin -106pt
  +
\oddsidemargin -96pt
  +
\parindent 0pt
  +
\pagestyle{empty}
  +
\usepackage {graphics}
  +
\usepackage{rotating}
  +
\newcommand \rot {\begin{rotate}}
  +
\newcommand \ero {\end{rotate}}
  +
\newcommand \ing {\includegraphics}
  +
\newcommand \sx {\scalebox}
  +
\begin{document}
  +
%\begin{picture}(1006,1006) \put(0,0){\ing{facit}}
  +
\begin{picture}(362,362)
  +
\put(0,0){\ing{SuperFacMap}}
  +
\put(30,357){\sx{1.3}{$y$}}
  +
\put(30,317){\sx{1.3}{$6$}}
  +
\put(30,277){\sx{1.3}{$4$}}
  +
\put(30,237){\sx{1.3}{$2$}}
  +
\put(29,196){\sx{1.3}{$0$}}
  +
\put(20,156){\sx{1.3}{$-2$}}
  +
\put(20,116){\sx{1.3}{$-4$}}
  +
\put(20,76){\sx{1.3}{$-6$}}
  +
\put(20,36){\sx{1.3}{$-8$}}
  +
\put(70,29){\sx{1.3}{$-6$}}
  +
\put(110,29){\sx{1.3}{$-4$}}
  +
\put(150,29){\sx{1.3}{$-2$}}
  +
\put(198,29){\sx{1.3}{$0$}}
  +
\put(238,29){\sx{1.3}{$2$}}
  +
\put(278,29){\sx{1.3}{$4$}}
  +
\put(318,29){\sx{1.3}{$6$}}
  +
\put(354,29){\sx{1.3}{$x$}}
  +
\put(50,344){\sx{1.3}{$u\!=\!2$}}
  +
\put(50,306){\sx{1.3}{$v\!=\!0$}}
  +
\put(50,255){\sx{1.3}{$u\!=\!2$}}
  +
\put(50,204){\sx{1.3}{$v\!=\!0$}} %central
  +
\put(50,152){\sx{1.3}{$u\!=\!2$}}
  +
\put(50,100){\sx{1.3}{$v\!=\!0$}}
  +
\put(50,049){\sx{1.3}{$u\!=\!2$}}
  +
% column<br>
  +
\put(122,342){\sx{1.2}{$v\!=\!-0.2$}}
  +
\put(135,314){\sx{1.2}{$u\!=\!1.8$}}
  +
\put(252,314){\sx{1.2}{$u\!=\!1.2$}}
  +
\put(136,265){\sx{1.2}{$v\!=\!0.2$}}
  +
\put(125,210){\sx{1.2}{$u\!=\!2.2$}}
  +
\put(125,130){\sx{1.2}{$v\!=\!-0.2$}}
  +
\put(134,084){\sx{1.2}{$u\!=\!1.8$}}
  +
\put(252,084){\sx{1.2}{$u\!=\!1.2$}}
  +
\put(134,054){\sx{1.2}{$v\!=\!0.2$}}
  +
% column<br>
  +
\put(322,343){\sx{1.3}{$u\!=\!1$}}
  +
\put(322,306){\sx{1.3}{$v\!=\!0$}}
  +
\put(322,269){\sx{1.3}{$u\!=\!1$}}
  +
\put(266,247){$u\!=\!0.8856031944$}
  +
\put(332,231){\sx{1.3}{$v\!=\!0$}} %central
  +
\put(329,164){\sx{1.3}{$v\!=\!0$}} %central
  +
\put(322,137){\sx{1.3}{$u\!=\!1$}}
  +
\put(322,100){\sx{1.3}{$v\!=\!0$}}
  +
\put(322, 50){\sx{1.3}{$u\!=\!1$}}
  +
\end{picture}
  +
\end{document}
  +
</nowiki></nomathjax></poem>
   
 
==References==
 
==References==
 
<references/>
 
<references/>
  +
http://www.springerlink.com/content/qt31671237421111/fulltext.pdf?page=1<br>
  +
http://mizugadro.mydns.jp/PAPERS/2010superfae.pdf reprint, English version<br>
  +
http://mizugadro.mydns.jp/PAPERS/2010superfar.pdf reprint, Russian version<br>
  +
D.Kouznetsov, H.Trappmann. Superfunctions and square root of factorial. Moscow University Physics Bulletin, 2010, v.65, No.1, p.6-12. (Russian version: p.8-14)
   
 
[[Category:SuperFactorial]]
 
[[Category:SuperFactorial]]

Revision as of 08:53, 1 December 2018

Complex map of $f=$SuperFactorial($x\!+\!\mathrm i y$) in the $x,y$ plane.

Levels $u\!=\!\Re(f)=$constant and $u\!=\!\Im(f)=$constant are drawn. Thick lines correspond to the integer values.

C++ generator of curves

Sorry, have misplaced the original generator. I load the code that does almost the same picture.

Files SuperFactorial.cin ado.cin conto.cin should be loaded to the working directory in order to compile the [C++]] code below:


 #include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
 #define DB double
 #define DO(x,y) for(x=0;x<y;x++)
// using namespace std;
 #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 "fac.cin"
 //#include "sinc.cin"
 #include "facp.cin"
 #include "afacc.cin"
 #include "superfactorial.cin"
 #include "conto.cin"

int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
   int M=403,M1=M+1;
   int N=401,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("fig2b.eps","w");ado(o,402,402);
 FILE *o;o=fopen("SuperFacMap.eps","w");ado(o,402,402);
 fprintf(o,"201 201 translate\n 20 20 scale\n");
// DO(m,M1)X[m]=-8.04+.04*(m+.5);
 DO(m,M1){t=-1.+.022*m; X[m]=.2+t-1.11*exp(-1.9*t);}

// DO(n,N1)Y[n]=-8.04+.04*(n+.5);
   DO(n,N1){t=-8.04+.04*(n+.5); t*=.97; Y[n]=t-.25*sin(0.6127874523307*t);}

 for(m=-8;m<9;m++){if(m==0){M(m,-8.5)L(m,8.5)} else{M(m,-8)L(m,8)}}
 for(n=-8;n<9;n++){ M( -8,n)L(8,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(m,M1){x=X[m]; //printf("%5.2f\n",x);
 DO(n,N1){y=Y[n]; z=z_type(x,y);
 // c=afacc(z);
 // c=fac(z);
        c=superfac(z);
 // p=abs(c-d)/(abs(c)+abs(d)); p=-log(p)/log(10.)-1.;
        p=Re(c);q=Im(c);
        if(p>-20 && p<20 &&
 // (fabs(y)>.034 ||x>-.9 ||fabs(x-int(x))>1.e-3) &&
           q>-20 && q<20 && fabs(q)> 1.e-16
        )
        {g[m*N1+n]=p;f[m*N1+n]=q;}
                        }}
 //fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=1.8;q=.7;

 fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=1.4;q=.8;
 for(m=-4;m<4;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".01 W 0 .5 0 RGB S\n");
 for(m=0;m<4;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".01 W .8 0 0 RGB S\n");
 for(m=0;m<4;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".01 W 0 0 .8 RGB S\n");
 for(m=1;m<15;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".04 W .8 0 0 RGB S\n");
 for(m=1;m<15;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".04 W 0 0 .8 RGB S\n");
                  conto(o,f,w,v,X,Y,M,N, (0. ),-9,9); fprintf(o,".04 W .5 0 .5 RGB S\n");
 for(m=-14;m<0;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".04 W 0 0 0 RGB S\n");
           m=0; conto(o,g,w,v,X,Y,M,N, (0.+m),-9,9); fprintf(o,".04 W 0 0 0 RGB S\n");
 for(m=1;m<17;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".04 W 0 0 0 RGB S\n");
 //#include"plofu.cin"
 // x=0.8856031944;
  conto(o,g,w,v,X,Y,M,N,0.8856031944,-p,p); fprintf(o,".004 W .2 .2 0 RGB S\n");
/*
 M(x,-8)L(x,8) fprintf(o,"0 setlinejoin 0 setlinecap 0.004 W 0 0 0 RGB S\n");
 M(x,0)L(-8.1,0) fprintf(o," .05 W 1 1 1 RGB S\n");
 DO(m,23){ M(x-.4*m,0)L(x-.4*(m+.5),0);} fprintf(o,".09 W .3 .3 0 RGB S\n");
 //M(x,0)L(-8.1,0) fprintf(o,"[.19 .21]0 setdash .05 W 0 0 0 RGB S\n");
 // May it be, that, some printers do not interpret well the dashing ?
*/
 fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
        system("epstopdf SuperFacMap.eps");
        system( "open SuperFacMap.pdf"); //for LINUX
 // getchar(); system("killall Preview");//for mac
 }

generator of labels


\documentclass[12pt]{article}
\paperwidth 342pt
\paperheight 338pt
\textwidth 500pt
\textheight 500pt
\topmargin -106pt
\oddsidemargin -96pt
\parindent 0pt
\pagestyle{empty}
\usepackage {graphics}
\usepackage{rotating}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\newcommand \ing {\includegraphics}
\newcommand \sx {\scalebox}
\begin{document}
%\begin{picture}(1006,1006) \put(0,0){\ing{facit}}
\begin{picture}(362,362)
\put(0,0){\ing{SuperFacMap}}
 \put(30,357){\sx{1.3}{$y$}}
 \put(30,317){\sx{1.3}{$6$}}
 \put(30,277){\sx{1.3}{$4$}}
 \put(30,237){\sx{1.3}{$2$}}
 \put(29,196){\sx{1.3}{$0$}}
 \put(20,156){\sx{1.3}{$-2$}}
 \put(20,116){\sx{1.3}{$-4$}}
 \put(20,76){\sx{1.3}{$-6$}}
 \put(20,36){\sx{1.3}{$-8$}}
 \put(70,29){\sx{1.3}{$-6$}}
 \put(110,29){\sx{1.3}{$-4$}}
 \put(150,29){\sx{1.3}{$-2$}}
 \put(198,29){\sx{1.3}{$0$}}
 \put(238,29){\sx{1.3}{$2$}}
 \put(278,29){\sx{1.3}{$4$}}
 \put(318,29){\sx{1.3}{$6$}}
 \put(354,29){\sx{1.3}{$x$}}
\put(50,344){\sx{1.3}{$u\!=\!2$}}
\put(50,306){\sx{1.3}{$v\!=\!0$}}
\put(50,255){\sx{1.3}{$u\!=\!2$}}
\put(50,204){\sx{1.3}{$v\!=\!0$}} %central
\put(50,152){\sx{1.3}{$u\!=\!2$}}
\put(50,100){\sx{1.3}{$v\!=\!0$}}
\put(50,049){\sx{1.3}{$u\!=\!2$}}
 % column<br>
\put(122,342){\sx{1.2}{$v\!=\!-0.2$}}
\put(135,314){\sx{1.2}{$u\!=\!1.8$}}
\put(252,314){\sx{1.2}{$u\!=\!1.2$}}
\put(136,265){\sx{1.2}{$v\!=\!0.2$}}
\put(125,210){\sx{1.2}{$u\!=\!2.2$}}
\put(125,130){\sx{1.2}{$v\!=\!-0.2$}}
\put(134,084){\sx{1.2}{$u\!=\!1.8$}}
\put(252,084){\sx{1.2}{$u\!=\!1.2$}}
\put(134,054){\sx{1.2}{$v\!=\!0.2$}}
% column<br>
\put(322,343){\sx{1.3}{$u\!=\!1$}}
\put(322,306){\sx{1.3}{$v\!=\!0$}}
\put(322,269){\sx{1.3}{$u\!=\!1$}}
\put(266,247){$u\!=\!0.8856031944$}
\put(332,231){\sx{1.3}{$v\!=\!0$}} %central
\put(329,164){\sx{1.3}{$v\!=\!0$}} %central
\put(322,137){\sx{1.3}{$u\!=\!1$}}
\put(322,100){\sx{1.3}{$v\!=\!0$}}
\put(322, 50){\sx{1.3}{$u\!=\!1$}}
\end{picture}
\end{document}

References

http://www.springerlink.com/content/qt31671237421111/fulltext.pdf?page=1
http://mizugadro.mydns.jp/PAPERS/2010superfae.pdf reprint, English version
http://mizugadro.mydns.jp/PAPERS/2010superfar.pdf reprint, Russian version
D.Kouznetsov, H.Trappmann. Superfunctions and square root of factorial. Moscow University Physics Bulletin, 2010, v.65, No.1, p.6-12. (Russian version: p.8-14)

File history

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

Date/TimeThumbnailDimensionsUserComment
current17:50, 20 June 2013Thumbnail for version as of 17:50, 20 June 2013706 × 706 (172 KB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

The following page links to this file:

Metadata